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
6.. . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .
- 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
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.. . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .
- 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
8.. . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .
- 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
9.. . . tcp LISTEN 0 1024 127.0.0.1:11211 0.0.0.0:* users:[["memcached",pid=8889,fd=26]] . . .
- 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
- 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.