Hướng dẫn cài memcache treen ubuntu 16.04

Redis là hệ thống caching lưu trữ dữ liệu trong RAM tương tự như Memcached. Không chỉ hỗ trợ cache dạng keys/values tốt như Memcached mà Redis còn hỗ trợ nhiều cấu trúc dữ liệu khác như hash, list, set, sorted set, string.

Trong bài viết trước, HocVPS đã hướng dẫn cài đặt Redis trên CentOS 6/7. Bài viết này, mình sẽ hướng dẫn cài đặt và cấu hình Redis trên Ubuntu, cụ thể là Ubuntu 16.04

1. Cài đặt Redis

– Cài đặt Redis Server và PHP-Redis

apt-get update

apt-get upgrade

apt-get install redis-server

apt-get install php-redis

– Khởi động Redis

systemctl start redis

– Kiểm tra trạng thái Redis

systemctl status redis

● redis-server.service - Advanced key-value store Loaded: loaded [/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled] Active: active [running] since Mon 2017-12-18 03:13:27 UTC; 3s ago

 Docs: //redis.io/documentation,  
       man:redis-server[1]  
Process: 4550 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d [code=exit Process: 4546 ExecStop=/bin/kill -s TERM $MAINPID [code=exited, status=0/SUCCESS] Process: 4544 ExecStop=/bin/run-parts --verbose /etc/redis/redis-server.pre-down.d [code=exited, s Process: 4575 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d [code=exite Process: 4570 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf [code=exited, status=0/SUCCESS Process: 4568 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d [code=exited, Main PID: 4574 [redis-server] CGroup: /system.slice/redis-server.service
       └─4574 /usr/bin/redis-server 127.0.0.1:6379
Dec 18 03:13:27 li846-186 systemd[1]: Starting Advanced key-value store... Dec 18 03:13:27 li846-186 run-parts[4568]: run-parts: executing /etc/redis/redis-server.pre-up.d/00_ Dec 18 03:13:27 li846-186 run-parts[4575]: run-parts: executing /etc/redis/redis-server.post-up.d/00 Dec 18 03:13:27 li846-186 systemd[1]: Started Advanced key-value store.

– Thiết lập Redis khởi động cùng server:

systemctl enable redis-server.service

– Khởi động lại Redis

systemctl restart redis

– Ngừng hoạt động Redis

systemctl stop redis

2. Cấu hình Redis

Sử dụng Nano Editor để chỉnh sửa cấu hình Redis lưu tại

systemctl start redis

1. Trong đó, bạn cần chú ý các cấu hình sau: – Thiết lập port, mặc định 6379

port 6379

Kiểm tra lại

netstat -tulpn | grep :6379

tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 4574/redis-server 1

ss -tulpn | grep 6379

tcp LISTEN 0 128 127.0.0.1:6379 : users:[["redis-server",pid=4574,fd=4]]

– Bảo mật chỉ cho phép truy cập Redis bằng địa chỉ IP Loopback

bind 127.0.0.1

– Thiết lập số lượng kết nối tối đa vào cùng 1 thời điểm, mặc định là 10000

maxclients 10000

– Thiết lập giới hạn bộ nhớ tối đa cho Redis Server, ví dụ 1GB

systemctl start redis

0

Lưu ý:

  • Cấu hình Port và IP Loopback đã được thiết lập mặc định trong Redis, bạn không cần sửa.
  • Một số trường hợp bạn cần mở port 6379 trên VPS [tùy vào thiết lập Firewall từng hệ thống].

Có thể thấy, rất đơn giản để cài đặt và thiết lập Redis Server trên Ubuntu. Bên cạnh đó, bạn tham khảo thêm bài viết cấu hình chuyên sâu Redis trên HocVPS.

Với bài viết này, chúng ta sẽ thảo luận cách install và cấu hình máy chủ Memcached trên Ubuntu 22.04 một cách chi tiết. Bên cạnh đó, bạn cũng sẽ tìm hiểu cách tăng cường bảo mật cho Memcached bằng cách thêm xác thực sử dụng Lớp xác thực và phương thức bảo mật đơn giản [SASL]. Cuối cùng, chúng ta sẽ khám phá cách liên kết Memcached với giao diện mạng, đảm bảo rằng việc truy cập chỉ có thể thực hiện từ các mạng đáng tin cậy và bởi những người dùng đã được xác thực.

Các hệ thống bộ nhớ đệm đối tượng như Memcached mang đến hiệu suất tối ưu cho các cơ sở dữ liệu phụ trợ. Chúng hoạt động bằng cách lưu trữ tạm thời thông tin quan trọng trong bộ nhớ, giữ lại các bản ghi thường xuyên hoặc mới nhất mà hệ thống thường truy cập. Điều này giúp giảm tải cho cơ sở dữ liệu chính và tăng cường hiệu suất tổng thể của hệ thống.

Chuẩn bị trước khi cài đặt

Để install Memcached trên Ubuntu 22.04 thành công, bạn cần:

  • Một máy chủ Ubuntu 22.04 có người dùng không phải root sudo và đã bật tường lửa.

Tiến hành install Memcached trên Ubuntu 22.04

Bước 1: Cài đặt Memcached

Nếu bạn chưa cài đặt Memcached trên máy chủ của mình, bạn có thể cài đặt nó từ kho lưu trữ chính thức của Ubuntu. Trước tiên, hãy đảm bảo rằng chỉ mục gói cục bộ của bạn được cập nhật bằng lệnh sau:

sudo apt update

Tiếp theo, cài đặt gói chính thức như sau:

sudo apt install memcached

Bạn cũng có thể cài đặt

sudo ss -plunt

9, đây là gói chứa nhiều công cụ khác nhau mà bạn có thể sử dụng để kiểm tra, thử nghiệm và quản lý máy chủ Memcached của mình. Thêm gói vào máy chủ của bạn bằng lệnh sau:

sudo apt install libmemcached-tools

Memcached bây giờ sẽ được cài đặt như một dịch vụ trên máy chủ của bạn, cùng với các công cụ cho phép bạn kiểm tra khả năng kết nối của nó.

Để khởi động Memcached, hãy chạy lệnh

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

0sau:

sudo systemctl start memcached

Bây giờ bạn có thể chuyển sang bảo mật các cài đặt cấu hình của nó.

Bước 2: Cài đặt cấu hình Memcached Network [tùy chọn]

Nếu máy chủ Memcached của bạn chỉ cần hỗ trợ kết nối IPv4 cục bộ qua giao thức TCP, bạn có thể bỏ qua phần này và tiếp tục đến Bước 3 trong hướng dẫn này. Tuy nhiên, nếu bạn muốn cấu hình Memcached để sử dụng ổ cắm UDP, ổ cắm tên miền Unix hoặc thêm hỗ trợ cho kết nối IPv6, bạn nên thực hiện các bước liên quan trong phần này.

Trước hết, đảm bảo rằng phiên bản Memcached bạn đang sử dụng đang lắng nghe trên giao diện loopback IPv4 cục bộ, địa chỉ

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

1. Phiên bản Memcached hiện tại đi kèm với Ubuntu và Debian thường có tham số cấu hình

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

2được đặt thành giao diện cục bộ, điều này có nghĩa rằng nó chỉ chấp nhận các kết nối từ máy chủ nơi Memcached đang chạy.

Để xác minh rằng Memcached đang liên kết với giao diện IPv4

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

31 và chỉ lắng nghe các kết nối TCP, sử dụng lệnh

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

4:

sudo ss -plunt

Các cờ khác nhau sẽ thay đổi đầu ra của lệnh

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

4 theo các cách sau:

  • Thêm tên tiến trình đang sử dụng ổ cắm: cờ

    Output

    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process

    . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

    6.
  • Giới hạn đầu ra chỉ cho các ổ cắm nghe: cờ

    Output

    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process

    . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

    7, ngược lại với việc bao gồm các ổ cắm kết nối đến hệ thống khác.
  • Bao gồm các ổ cắm UDP trong đầu ra: cờ

    Output

    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process

    . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

    8.
  • Hiển thị các giá trị số trong đầu ra thay vì tên và giá trị có thể đọc được bởi con người, sử dụng: cờ

    Output

    Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process

    . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

    9.
  • Bao gồm các ổ cắm TCP trong đầu ra: cờ sudo nano /etc/memcached.conf 0.

Bạn sẽ nhận đầu ra như sau:

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

Đầu ra này xác nhận rằng memcached được liên kết với địa chỉ IPv4 loopback 127.0.0.1 chỉ bằng giao thức TCP.

Bây giờ bạn đã xác nhận rằng Memcached được định cấu hình để chỉ hỗ trợ IPv4 với các kết nối TCP, bạn có thể chỉnh sửa /etc/memcached.conf để thêm hỗ trợ cho UDP, Ổ cắm miền Unix hoặc kết nối IPv6.

Định cấu hình IPv6

Để bật kết nối IPv6 với Memcached, mở tệp

sudo nano /etc/memcached.conf

1 bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn:

sudo nano /etc/memcached.conf

Đầu tiên, tìm dòng sau trong tệp: /etc/memcached.conf

. . .  
-l 127.0.0.1  

Dòng này là nơi Memcached được cấu hình để nghe trên giao diện IPv4 cục bộ. Để thêm hỗ trợ IPv6, hãy thêm một dòng chứa địa chỉ loopback cục bộ IPv6 [

sudo nano /etc/memcached.conf

  1. như thế này:

. . .  
-l 127.0.0.1  
-l ::1  

Lưu và đóng tệp bằng

sudo nano /etc/memcached.conf

4 và

sudo nano /etc/memcached.conf

5 để lưu, sau đó

sudo nano /etc/memcached.conf

6 để thoát

sudo nano /etc/memcached.conf

2. Sau đó khởi động lại Memcached bằng lệnh

sudo nano /etc/memcached.conf

8:

sudo systemctl restart memcached

Bạn xác minh Memcached cũng đang lắng nghe các kết nối IPv6 bằng cách lặp lại lệnh

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

4 từ phần trước:

sudo ss -plunt

Đầu ra sẽ như sau:

sudo apt install memcached

1

Các phần được tô sáng của đầu ra cho biết Memcached hiện đang lắng nghe các kết nối TCP trên giao diện IPv6 cục bộ.

Lưu ý rằng nếu bạn muốn tắt hỗ trợ IPv4 và chỉ lắng nghe các kết nối IPv6, bạn có thể xóa dòng

. . .  
-l 127.0.0.1  

0 khỏi

sudo nano /etc/memcached.conf

1 và khởi động lại dịch vụ bằng lệnh

sudo nano /etc/memcached.conf

8.

Định cấu hình UDP

Nếu bạn muốn sử dụng Memcached với ổ cắm UDP, bạn có thể bật hỗ trợ UDP bằng cách chỉnh sửa tệp cấu hình

sudo nano /etc/memcached.conf

1.

Mở

sudo nano /etc/memcached.conf

1 bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn, sau đó thêm dòng sau vào cuối tệp:

sudo apt install memcached

2

Nếu bạn không cần hỗ trợ TCP, hãy tìm dòng

. . .  
-l 127.0.0.1  

6 và đổi thành

. . .  
-l 127.0.0.1  

7 để tắt kết nối TCP.

Khi bạn chỉnh sửa xong tệp, hãy lưu và đóng tệp bằng cách nhập

. . .  
-l 127.0.0.1  

8 để lưu, sau đó

. . .  
-l 127.0.0.1  

9 để thoát.

Tiếp theo, khởi động lại dịch vụ Memcached của bạn bằng lệnh systemctl để áp dụng các thay đổi của bạn:

sudo systemctl restart memcached

Xác minh rằng Memcached đang lắng nghe các kết nối UDP bằng lệnh

. . .  
-l 127.0.0.1  
-l ::1  

0:

sudo ss -plunt

Nếu bạn đã tắt hỗ trợ TCP và đã bật kết nối IPv6, thì bạn sẽ nhận được đầu ra như sau:

sudo apt install memcached

5

Lưu ý: đầu ra của bạn có thể khác nếu bạn chỉ bật kết nối IPv4 và nếu bạn vẫn bật kết nối TCP.

Định cấu hình Unix Domain Sockets

Nếu bạn muốn sử dụng Memcached với Unix Domain Sockets, bạn có thể bật tính năng này bằng cách chỉnh sửa tệp cấu hình tại đường dẫn

sudo nano /etc/memcached.conf

1. Hãy nhớ rằng khi bạn cấu hình Memcached để sử dụng Unix Domain Sockets, chức năng hỗ trợ TCP và UDP sẽ bị tắt. Vì vậy, đảm bảo ứng dụng của bạn không sử dụng các giao thức này trước khi kích hoạt hỗ trợ.

Mở

sudo nano /etc/memcached.conf

1 bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn, sau đó thêm các dòng sau vào cuối tệp:

sudo apt install memcached

6

Cờ

. . .  
-l 127.0.0.1  
-l ::1  

4 xác định các quyền trên tệp của ổ cắm. Đảm bảo rằng người dùng cần kết nối với Memcached là một phần của nhóm

. . .  
-l 127.0.0.1  
-l ::1  

5 trên máy chủ của bạn, nếu không, họ sẽ nhận được thông báo từ chối quyền khi cố gắng truy cập ổ cắm.

Tiếp theo, khởi động lại dịch vụ Memcached của bạn bằng lệnh

sudo nano /etc/memcached.conf

8 để áp dụng các thay đổi của bạn:

sudo systemctl restart memcached

Xác minh Memcached đang lắng nghe các kết nối Unix Domain Sockets bằng lệnh

. . .  
-l 127.0.0.1  
-l ::1  

7:

sudo apt install memcached

8

Cờ

. . .  
-l 127.0.0.1  
-l ::1  

8 giới hạn đầu ra của

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

4 để hiển thị những tệp socket. Bạn sẽ nhận được đầu ra như sau:

sudo apt install memcached

9

Bây giờ bạn đã định cấu hình cài đặt mạng của Memcached, bạn có thể tiến hành bước tiếp theo trong hướng dẫn này, đó là thêm SASL để xác thực vào Memcached.

Bước 3: Thêm người dùng được ủy quyền

Để thêm người dùng được xác thực vào dịch vụ Memcached của bạn, bạn có thể áp dụng cách tiếp cận Lớp xác thực và xác thực đơn giản [SASL], một khung tách biệt các quá trình xác thực khỏi các giao thức ứng dụng. Để thực hiện điều này, bạn sẽ bắt đầu bằng việc kích hoạt hỗ trợ SASL trên máy chủ. Sau đó, cấu hình người dùng thông qua thông tin đăng nhập xác thực. Khi mọi thứ đã được chuẩn bị, bạn bật chế độ SASL trong tệp cấu hình Memcached và đảm bảo mọi thứ hoạt động bình thường.

Thêm 1 user được xác thực

Để bắt đầu thêm hỗ trợ SASL, bạn cần cài đặt gói

sudo systemctl restart memcached

0, gói này chứa các chương trình quản trị cho cơ sở dữ liệu người dùng SASL. Công cụ này sẽ cho phép bạn tạo một hoặc nhiều người dùng đã được xác thực. Chạy lệnh sau để cài đặt nó:

sudo apt install libmemcached-tools

0

Tiếp theo, tạo thư mục và tệp mà Memcached sẽ kiểm tra cài đặt cấu hình SASL bằng lệnh

sudo systemctl restart memcached

1:

sudo apt install libmemcached-tools

1

Bây giờ hãy tạo tệp cấu hình SASL bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn:

sudo apt install libmemcached-tools

2

Thêm các dòng sau:

sudo apt install libmemcached-tools

3

Ngoài việc xác định mức ghi nhật ký, việc đặt

sudo systemctl restart memcached

3 ở mức

sudo systemctl restart memcached

4 cung cấp cho Memcached thông tin rằng nó nên sử dụng tệp chứa mật khẩu và xác thực theo văn bản gốc. Dòng cuối cùng mà bạn vừa thêm chỉ định đường dẫn đến tệp cơ sở dữ liệu người dùng mà bạn sắp tạo. Sau khi hoàn tất, lưu lại và đóng tệp.

Bước tiếp theo là tạo cơ sở dữ liệu SASL với thông tin xác thực của người dùng. Bạn sẽ sử dụng lệnh

sudo systemctl restart memcached

5 với tùy chọn

sudo systemctl restart memcached

6 để tạo mục nhập người dùng mới trong cơ sở dữ liệu SASL. Ví dụ, người dùng ở đây có tên sammy, nhưng bạn có thể thay thế tên này bằng tên người dùng riêng của bạn. Tùy chọn

sudo systemctl restart memcached

7 xác định đường dẫn đến cơ sở dữ liệu, đây sẽ là đường dẫn bạn đã đặt trong

sudo systemctl restart memcached

8:

sudo apt install libmemcached-tools

4

Cuối cùng, cấp cho người dùng memcache và nhóm quyền sở hữu cơ sở dữ liệu SASL bằng lệnh

sudo systemctl restart memcached

9:

sudo apt install libmemcached-tools

5

Bây giờ bạn đã có sẵn cấu hình SASL mà Memcached có thể sử dụng để xác thực. Trong phần tiếp theo, trước tiên bạn sẽ xác nhận rằng Memcached đang chạy với cài đặt mặc định, sau đó định cấu hình lại và xác minh rằng Memcached đang hoạt động với xác thực SASL.

Định cấu hình hỗ trợ SASL

Trước tiên, chúng ta có thể kiểm tra khả năng kết nối của phiên bản Memcached bằng lệnh

sudo apt install memcached

00. Việc kiểm tra này sẽ giúp chúng tôi xác định rằng Memcached đang chạy và được định cấu hình chính xác trước khi bật SASL và xác thực người dùng. Sau khi thực hiện các thay đổi đối với tệp cấu hình của mình, mình sẽ chạy lại lệnh để kiểm tra đầu ra khác.

Kiểm tra Memcached có hoạt động hay không bằng lệnh

sudo apt install memcached

00:

sudo apt install libmemcached-tools

6

Nếu bạn đang sử dụng IPv6, thay

sudo nano /etc/memcached.conf

3 cho địa chỉ IPv4

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

1. Nếu bạn đang sử dụng Unix Domain Socket, sử dụng đường dẫn đến socket thay cho địa chỉ IP, ví dụ

sudo apt install memcached

04

Khi bạn chạy lệnh

sudo apt install memcached

00 và kết nối với Memcached thành công, bạn sẽ nhận được kết quả như sau:

sudo apt install libmemcached-tools

7

Lưu ý: Nếu bạn đang sử dụng Memcached có hỗ trợ UDP thì lệnh

sudo apt install memcached

00 sẽ không thể kết nối với cổng UDP. Bạn sử dụng lệnh

sudo apt install memcached

07 để xác minh kết nối:

sudo apt install libmemcached-tools

8

Nếu Memcached phản hồi, kết quả sẽ hiển thị như sau:

sudo apt install libmemcached-tools

9

Nếu bạn đang sử dụng Memcached với IPv6 và UDP, lệnh sẽ như sau:

sudo systemctl start memcached

0

Bây giờ bạn có thể chuyển sang kích hoạt SASL. Để làm như vậy, hãy thêm tham số

sudo apt install memcached

08 vào

sudo nano /etc/memcached.conf

1. Mở lại tệp bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn:

sudo nano /etc/memcached.conf

Ở dưới cùng của tập tin, thêm vào như sau:

sudo systemctl start memcached

2

Tiếp theo, tìm và bỏ ghi chú tùy chọn

sudo apt install memcached

11, tùy chọn này sẽ cung cấp đầu ra chi tiết cho

sudo apt install memcached

12. Dòng không ghi chú sẽ trông như thế này:

sudo systemctl start memcached

3

Lưu và đóng tập tin.

Bây giờ hãy khởi động lại dịch vụ Memcached bằng lệnh

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

0sau:

sudo systemctl restart memcached

Tiếp theo, hãy kiểm tra nhật ký tạp chí cho Memcached để đảm bảo rằng hỗ trợ SASL đã được bật:

sudo systemctl start memcached

5

Bạn sẽ nhận được dòng đầu ra như sau, cho biết hỗ trợ SASL đã được khởi tạo:

sudo systemctl start memcached

6

Bây giờ bạn có thể kiểm tra lại kết nối với Memcached. Với hỗ trợ SASL tại chỗ và được khởi chạy, lệnh memcstat sau đây sẽ không thành công nếu không có thông tin xác thực hợp lệ:

sudo apt install libmemcached-tools

6

Lệnh không tạo ra đầu ra. Nhập lệnh shell sau để kiểm tra trạng thái của nó:

sudo systemctl start memcached

8

sudo apt install memcached

14 sẽ luôn trả về mã thoát của lệnh cuối cùng đã thoát. Thông thường, bất kỳ giá trị nào ngoài

sudo apt install memcached

15 đều cho biết quy trình có lỗi. Trong trường hợp này, bạn sẽ nhận được trạng thái thoát là

sudo apt install memcached

16, điều này cho biết lệnh

sudo apt install memcached

00 không thành công.

Chạy lại

sudo apt install memcached

00, lần này với tên người dùng và mật khẩu sẽ xác nhận xem quá trình xác thực có hoạt động hay không. Chạy lệnh sau với thông tin xác thực của bạn được thay thế thay cho giá trị

sudo apt install memcached

19 và

sudo apt install memcached

20` nếu bạn sử dụng thông tin xác thực khác:

sudo systemctl start memcached

9

Bạn sẽ nhận được đầu ra như sau:

sudo ss -plunt

0

Dịch vụ Memcached của bạn hiện đã được định cấu hình và chạy với hỗ trợ SASL và xác thực người dùng.

Bước 4: Cho phép truy cập qua mạng riêng [tùy chọn]

Mặc định, Memcached được cấu hình để chỉ lắng nghe trên giao diện loopback cục bộ [

Output

Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process . . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .

1], giúp bảo vệ giao diện Memcached khỏi việc bị lộ thông tin từ các bên bên ngoài. Tuy nhiên, trong một số trường hợp, bạn có thể cần cho phép truy cập từ các máy chủ khác. Trong tình huống này, bạn có thể điều chỉnh cài đặt cấu hình để kết nối Memcached với giao diện mạng riêng.

Hạn chế truy cập IP với tường lửa

Trước khi bạn điều chỉnh cài đặt cấu hình của mình, bạn nên thiết lập các quy tắc tường lửa để giới hạn các máy có thể kết nối với máy chủ Memcached của bạn. Trước tiên, bạn cần ghi lại địa chỉ IP riêng của bất kỳ máy nào mà bạn muốn sử dụng để kết nối với Memcached. Sau khi có [hoặc nhiều địa chỉ] địa chỉ IP riêng, bạn sẽ thêm quy tắc tường lửa rõ ràng để cho phép máy truy cập Memcached.

Nếu đang sử dụng tường lửa UFW, bạn có thể giới hạn quyền truy cập vào phiên bản Memcached của mình bằng cách nhập thông tin sau trên máy chủ Memcached:

sudo ss -plunt

1

Nếu có nhiều hệ thống đang truy cập Memcached qua mạng riêng, cần thêm các quy tắc

sudo apt install memcached

22 bổ sung cho mỗi máy bằng cách sử dụng quy tắc trên làm mẫu.

Với những thay đổi này, bạn có thể điều chỉnh dịch vụ Memcached để liên kết với giao diện mạng riêng của máy chủ.

Liên kết memcached với giao diện mạng riêng

Giờ thì tường lửa của bạn đã sẵn sàng, bạn có thể điều chỉnh cấu hình Memcached để liên kết với giao diện mạng riêng của máy chủ thay vì 127.0.0.1.

Đầu tiên, tìm giao diện mạng riêng cho máy chủ Memcached của bạn bằng lệnh ip sau

sudo ss -plunt

2

Tùy thuộc vào cấu hình mạng của máy chủ của bạn, đầu ra có thể khác với ví dụ sau:

sudo ss -plunt

3

Trong ví dụ này, giao diện mạng được xác định bằng tên

sudo apt install memcached

23 và

sudo apt install memcached

24. Các địa chỉ IPv4 được tô sáng trên dòng

sudo apt install memcached

23 là địa chỉ IP công cộng cho máy chủ.

Địa chỉ

sudo apt install memcached

26 được đánh dấu trên dòng

sudo apt install memcached

24 là địa chỉ IPv4 riêng cho máy chủ và địa chỉ

sudo apt install memcached

28 là địa chỉ IPv6 riêng. Địa chỉ IP của bạn sẽ khác nhau nhưng sẽ luôn nằm trong các phạm vi sau dựa trên thông số kỹ thuật RFC 1918]:

  • sudo apt install memcached 29 đến sudo apt install memcached 30 [tiền tố 10/8]
  • sudo apt install memcached 31đến sudo apt install memcached 32 [tiền tố 172.16/12]
  • sudo apt install memcached 33 đến sudo apt install memcached 34 [tiền tố 192.168/16]

Khi bạn đã tìm thấy các địa chỉ IP riêng của máy chủ, hãy mở lại tệp

sudo nano /etc/memcached.conf

1 bằng

sudo nano /etc/memcached.conf

2 hoặc trình chỉnh sửa ưa thích của bạn:

sudo nano /etc/memcached.conf

Tìm dòng

. . .  
-l 127.0.0.1  

0 mà bạn đã kiểm tra hoặc sửa đổi trước đó và thay đổi địa chỉ để khớp với giao diện mạng riêng của máy chủ của bạn:

sudo nano /etc/memcached.conf

1

sudo ss -plunt

5

Nếu bạn muốn Memcached nghe trên nhiều địa chỉ, thêm một dòng tương tự khác cho mỗi địa chỉ, IPv4 hoặc IPv6 bằng định dạng

sudo apt install memcached

39.

Lưu và đóng tập tin khi bạn hoàn tất.

Tiếp theo, khởi động lại dịch vụ Memcached:

sudo systemctl restart memcached

Kiểm tra cài đặt mới của bạn với ss để xác nhận thay đổi:

sudo ss -plunt

sudo ss -plunt

8

Hãy kiểm tra kết nối từ các máy khách bên ngoài để đảm bảo rằng bạn vẫn có thể truy cập vào dịch vụ Memcached một cách bình thường. Bạn cũng nên thử kiểm tra quyền truy cập từ một ứng dụng khách không được ủy quyền, để đảm bảo rằng xác thực SASL đang hoạt động như dự kiến. Ngoài ra, hãy thử kết nối với Memcached từ một máy chủ không được phép kết nối để xác minh tính hiệu quả của các quy tắc tường lửa bạn đã thiết lập.

Trong hướng dẫn này, bạn đã tìm hiểu cách install Memcached trên Ubuntu 22.04 một cách chi tiết. Bạn cũng đã làm quen với cách bảo mật máy chủ Memcached bằng cách bật xác thực SASL. Cuối cùng, bạn đã học cách kết nối Memcached với giao diện mạng riêng hoặc cục bộ và cách định cấu hình các quy tắc tường lửa để hạn chế quyền truy cập vào Memcached.

Chủ Đề