Cách Cài đặt Và Cấu Hình Squid Proxy Trên Ubuntu 20.04

Squid là một cache proxy đầy đủ tính năng hỗ trợ các giao thức mạng phổ biến như HTTP, HTTPS, FTP, v.v. Nó có thể được sử dụng để cải thiện hiệu suất của máy chủ web bằng cách lưu vào bộ nhớ đệm các yêu cầu lặp đi lặp lại, lọc lưu lượng truy cập web và truy cập nội dung bị giới hạn địa lý.

Hướng dẫn này giải thích cách thiết lập Squid Proxy trên Ubuntu 20.04 và định cấu hình trình duyệt web Firefox và Google Chrome để sử dụng nó.

  1. Cài đặt Squid trên Ubuntu
  2. Cấu hình Squid
  3. Xác thực Squid
  4. Cấu hình tường lửa
  5. Cấu hình trình duyệt của bạn để sử dụng proxy
    1. Firefox
    2. Google Chrome
  6. Phần kết luận
    1. Share this:
    2. Like this:

Cài đặt Squid trên Ubuntu

Gói Squid được bao gồm trong kho lưu trữ Ubuntu 20.04 chuẩn. Để cài đặt nó, hãy chạy các lệnh sau với tư cách là người dùng sudo :

sudo apt update sudo apt install squid -y

Sau khi cài đặt xong, dịch vụ Squid sẽ tự động khởi động. Để xác minh nó, hãy kiểm tra trạng thái service của Squid:

sudo systemctl status squid

Đầu ra sẽ giống như sau:

● squid.service - Squid Web Proxy Server Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2020-10-23 19:02:43 UTC; 14s ago Docs: man:squid(8) ...

Cấu hình Squid

Service Squid có thể được định cấu hình bằng cách chỉnh sửa file /etc/squid/squid.conf . File cấu hình chứa các nhận xét mô tả chức năng của mỗi tùy chọn cấu hình. Bạn cũng có thể đặt cài đặt cấu hình của mình trong các tệp riêng biệt, tệp này có thể được đưa vào tệp cấu hình chính bằng cách sử dụng lệnh “include”.

Trước khi thực hiện bất kỳ thay đổi nào, bạn nên sao lưu file cấu hình ban đầu:

sudo cp /etc/squid/squid.conf{,.orginal}

Để bắt đầu cấu hình phiên bản Squid của bạn, hãy mở tệp trong trình soạn thảo văn bản của bạn :

sudo nano /etc/squid/squid.conf

Theo mặc định, Squid được đặt để lắng nghe trên port 3128 trên tất cả các interface trên máy chủ.

Nếu bạn muốn thay đổi port và đặt interface, hãy xác định dòng bắt đầu bằng http_port và chỉ định địa chỉ IP của interface và port mới. Nếu không có interface nào được chỉ định Squid sẽ lắng nghe trên tất cả các interface /etc/squid/squid.conf

# Squid normally listens to port 3128 http_port IP_ADDR:PORT

Chạy Squid trên tất cả các interface và trên port mặc định sẽ ổn đối với hầu hết người dùng.

Squid cho phép bạn kiểm soát cách client có thể truy cập vào các tài nguyên web bằng cách sử dụng Danh sách Kiểm soát Truy cập (ACL). Theo mặc định, quyền truy cập chỉ được phép từ máy chủ cục bộ.

Nếu tất cả các client sử dụng proxy đều có địa chỉ IP tĩnh, tùy chọn đơn giản nhất để hạn chế quyền truy cập vào máy chủ proxy là tạo ACL sẽ bao gồm các IP được phép. Nếu không, bạn có thể đặt Squid để sử dụng xác thực.

Thay vì thêm các địa chỉ IP trong tệp cấu hình chính, hãy tạo một tệp chuyên dụng mới sẽ chứa các IP được phép: /etc/squid/allowed_ips.txt

192.168.33.1 # All other allowed IPs

Sau khi hoàn tất, hãy mở tệp cấu hình chính và tạo một ACL mới có tên allowed_ips (dòng được đánh dấu đầu tiên) và cho phép truy cập vào ACL đó bằng cách sử dụng lệnh http_access (dòng được đánh dấu thứ hai): /etc/squid/squid.conf

# ... acl allowed_ips src "/etc/squid/allowed_ips.txt" # ... #http_access allow localnet http_access allow localhost http_access allow allowed_ips # And finally deny all other access to this proxy http_access deny all

Thứ tự của các quy tắc http_access là quan trọng. Hãy chắc chắn rằng bạn đã thêm dòng này trước đó: http_access deny all.

Các http_access tương tự như các quy tắc tường lửa. Squid đọc các quy tắc từ trên xuống dưới và khi một quy tắc khớp, các quy tắc bên dưới sẽ không được xử lý.

Bất cứ khi nào bạn thực hiện thay đổi đối với tệp cấu hình, bạn cần khởi động lại dịch vụ Squid để các thay đổi có hiệu lực:

sudo systemctl restart squid

Xác thực Squid

Nếu việc hạn chế quyền truy cập dựa trên IP không phù hợp với trường hợp sử dụng của bạn, bạn có thể định cấu hình mực để sử dụng xác thực người dùng. Squid hỗ trợ xác thực cơ bản Samba , LDAP và HTTP.

Trong hướng dẫn này, chúng ta sẽ sử dụng xác thực cơ bản. Nó là một phương thức xác thực đơn giản được tích hợp trong giao thức HTTP.

Để tạo mật khẩu được mã hóa, hãy sử dụng công cụ openssl. Lệnh sau gắn cặp USERNAME:PASSWORD vào tệp /etc/squid/htpasswd:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Ví dụ: để tạo người dùng “josh” với mật khẩu “ P@ssvv0rT”, bạn sẽ chạy:

printf "josh:$(openssl passwd -crypt 'P@ssvv0rd')\n" | sudo tee -a /etc/squid/htpasswd josh:QMxVjdyPchJl6

Bước tiếp theo là bật xác thực cơ bản HTTP và đưa tệp chứa thông tin đăng nhập của người dùng vào tệp cấu hình squid.

Mở cấu hình chính và thêm những thứ sau:

sudo nano /etc/squid/squid.conf

/etc/squid/squid.conf:

# ... auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd auth_param basic realm proxy acl authenticated proxy_auth REQUIRED # ... #http_access allow localnet http_access allow localhost http_access allow authenticated # And finally deny all other access to this proxy http_access deny all

Ba dòng được đánh dấu đầu tiên đang tạo một ACL mới được đặt tên authenticated và dòng được đánh dấu cuối cùng cho phép truy cập vào những người dùng đã xác thực.

Khởi động lại dịch vụ Squid:

sudo systemctl restart squid

Cấu hình tường lửa

Để mở các cổng Squid, hãy kích hoạt cấu hình UFW ‘Squid’:

sudo ufw allow 'Squid'

Nếu Squid đang chạy trên khác port không mặc định, ví dụ, 8888 bạn có thể cho phép truy cập trên cổng đó với:

sudo ufw allow 8888/tcp

Cấu hình trình duyệt của bạn để sử dụng proxy

Bây giờ bạn đã thiết lập Squid, bước cuối cùng là định cấu hình trình duyệt ưa thích của bạn để sử dụng nó.

Firefox

Các bước bên dưới giống nhau đối với Windows, macOS và Linux.

  1. Ở góc trên bên phải, nhấp vào biểu tượng bánh hamburger ☰ để mở menu của Firefox:
  2. Bấm vào ⚙ Preferences.
  3. Cuộn xuống phần Network Settings và nhấp vào nút Settings....
  4. Một cửa sổ mới sẽ mở ra.
    • Chọn Manual proxy configuration.
    • Nhập địa chỉ IP máy chủ Squid của bạn vào trường HTTP Host và 3128 trong trường Port.
    • Chọn hộp kiểm Use this proxy server for all protocols.
    • Bấm vào nút OK để lưu cài đặt.

Tại thời điểm này, Firefox của bạn đã được cấu hình và bạn có thể duyệt Internet thông qua proxy Squid. Để xác minh nó, hãy mở google.com, nhập “my ip” và bạn sẽ thấy địa chỉ IP máy chủ Squid của mình.

Để chỉnh về cài đặt mặc định, hãy đi tới Network Settings, chọn Use system proxy settings và lưu cài đặt.

Có một số plugin cũng có thể giúp bạn định cấu hình cài đặt proxy của Firefox, chẳng hạn như FoxyProxy .

Google Chrome

Google Chrome sử dụng cài đặt proxy hệ thống mặc định. Thay vì thay đổi cài đặt proxy hệ điều hành của bạn, bạn có thể sử dụng một tiện ích bổ sung như SwitchyOmega hoặc khởi động trình duyệt web Chrome từ dòng lệnh.

Để khởi chạy Chrome bằng cấu hình mới và kết nối với máy chủ Squid, hãy sử dụng lệnh sau:

Linux:

/usr/bin/google-chrome \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

hệ điều hành Mac :

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \ --user-data-dir="$HOME/proxy-profile" \ --proxy-server="http://SQUID_IP:3128"

Windows :

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^ --user-data-dir="%USERPROFILE%\proxy-profile" ^ --proxy-server="http://SQUID_IP:3128"

Các profile sẽ được tạo tự động nếu nó không tồn tại. Bằng cách này, bạn có thể chạy nhiều phiên bản Chrome cùng một lúc.

Để xác nhận máy chủ proxy đang hoạt động bình thường, hãy mở google.com và nhập “my IP”. IP hiển thị trong trình duyệt của bạn phải là địa chỉ IP của máy chủ của bạn.

Phần kết luận

Squid là một trong những máy chủ lưu trữ proxy phổ biến nhất. Nó cải thiện tốc độ của máy chủ web và có thể giúp bạn hạn chế quyền truy cập của người dùng vào Internet.

Tôi đã hướng dẫn bạn cách cài đặt và cấu hình Squid trên Ubuntu 20.04 và thiết lập trình duyệt của bạn để sử dụng nó.

Nếu bạn gặp sự cố hoặc có phản hồi, hãy để lại bình luận bên dưới.

0 0 votes Article Rating

Từ khóa » Cài đặt Proxy Server Ubuntu