Hướng dẫn chi tiết cách cài đặt Squid Proxy Server trên Ubuntu 22.04. Tăng tốc mạng, bảo mật truy cập và quản lý lưu lượng với các bước cài đặt đơn giản.
Squid là một proxy server mã nguồn mở phổ biến dựa trên Linux được sử dụng để kiểm soát truy cập, tăng tốc độ tải trang web và cải thiện bảo mật cho mạng nội bộ. Squid có thể hoạt động như một proxy caching, lọc truy cập và cân bằng tải, giúp tối ưu hóa việc sử dụng băng thông và tăng cường hiệu suất mạng. Trong bài viết này, Suncloud sẽ hướng dẫn bạn cách cài đặt và cấu hình cơ bản Squid Proxy Server trên Ubuntu 22.04.
1. Squid Proxy Server là gì?
Squid Proxy Server là một phần mềm mã nguồn mở dùng để cung cấp dịch vụ proxy caching và web caching. Squid thường được sử dụng để giảm băng thông và cải thiện hiệu suất bằng cách lưu trữ các nội dung web được truy cập thường xuyên. Ngoài ra, Squid còn hỗ trợ nhiều giao thức mạng như HTTP, HTTPS, FTP, và một số giao thức khác. Nó cũng có thể được cấu hình để làm proxy ngược (reverse proxy), bảo mật truy cập mạng và kiểm soát lưu lượng truy cập.
2. Cài đặt Squid Proxy Server trên Ubuntu 22.04
2.1. Cài đặt Squid
Đảm bảo hệ thống được cập nhật trước khi cài đặt.
apt -y update |
Tiến hành cài đặt Squid
apt -y install squid |
Kiểm tra trạng thái dịch vụ
systemctl status squid |
Start và enable dịch vụ
systemctl start squid systemctl enable squid |
2.2. Cấu hình kiểm soát truy cập vào proxy bằng địa chỉ IP
Mặc định, file cấu hình chính của squid tại /etc/squid/squid.conf
Tiến hành sao lưu file cấu hình gốc trước khi thực hiện bất kỳ thay đổi nào
cp /etc/squid/squid.conf /etc/squid/squid.conf.bak |
Ta có thể thiết lập quyền truy cập trên Squid bằng các tạo một file chứa các địa chỉ IP hoặc dải IP mà bạn muốn cho phép sử dụng proxy hoặc thêm trực tiếp IP vào file cấu hình của squid.
Tạo 1 file chứa danh sách các địa chỉ IP
vi /etc/squid/list_ips.txt |
Thêm các địa chỉ ip vào file. Ví dụ:
192.168.99.99 192.168.77.0/24 |
Chỉnh sửa file cấu hình Squid để sử dụng danh sách IP
vi /etc/squid/squid.conf |
Tạo một ACL có tên Allow_IPs và allow http_access
acl Allow_IPs src "/etc/squid/list_ips.txt" http_access allow Allow_IPs |
Cấu hình cơ bản của squid:
#list ACL acl Allow_IPs src "/etc/squid/list_ips.txt" #port use HTTPS acl SSL_ports port 443 #Port allow access acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http #Deny all port khong duoc list trong Safe_ports http_access deny !Safe_ports #Deny all yeu cau 'connect' den cac port khong duoc liet ke trong SSL_ports http_access deny CONNECT !SSL_ports #Allow access den Squid Manager tu 'localhost' http_access allow localhost manager #Deny all tu ben ngoai http_access deny manager #comment out and add the line (apply ACL for internal network) #http_access allow localhost http_access allow Allow_IPs include /etc/squid/conf.d/*.conf #Deny all http_access deny all #listen port http_port 3128 #Vi tri luu cac file coredump khi xay ra error coredump_dir /var/spool/squid #Config cache and refresh patterns refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\\?) 0 0% 0 refresh_pattern \\/(Packages|Sources)(|\\.bz2|\\.gz|\\.xz)$ 0 0% 0 refresh-ims refresh_pattern \\/Release(|\\.gpg)$ 0 0% 0 refresh-ims refresh_pattern \\/InRelease$ 0 0% 0 refresh-ims refresh_pattern \\/(Translation-.*)(|\\.bz2|\\.gz|\\.xz)$ 0 0% 0 refresh-ims refresh_pattern . 0 20% 4320 #Rule manager or deny cac header HTTP trong request request_header_access Referer deny all request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all #Show or hiden ip client forwarded_for off |
Lưu ý: Để ẩn IP của client, ta sử dụng forwarded_for off
Khởi động lại dịch vụ để áp dụng các thay đổi
systemctl restart squid |
Tổng kết
Tóm lại, Squid là một phần mềm mã nguồn mở mạnh mẽ, dễ cấu hình để quản lý, kiểm soát truy cập an toàn Internet, tăng cường bảo mật cho hệ thống mạng của bạn. Hy vọng hướng dẫn này sẽ giúp bạn triển khai thành công Squid trong hệ thống của mình. Nếu gặp phải khó khăn cần được giải đáp, hãy liên hệ với chúng tôi ngay để được tư vấn, hỗ trợ nhanh nhất nhé. Chúc bạn thành công!