12/08/2018, 14:54

Hướng dẫn cài đặt Squid server trên Centos 6

I. Giới thiệu: Proxy server hiện nay được áp dụng rất nhiều tại các nhà cung cấp dịch vụ internet ( ISP ), tại các công ty hay kể cả tại một số mạng gia đình. Proxy server đóng vai trò trung gian giữa điểm đầu và điểm cuối của một kết nối, lấy ví dụ, khi kết nối đến trang dantri.com, máy tính của ...

I. Giới thiệu: Proxy server hiện nay được áp dụng rất nhiều tại các nhà cung cấp dịch vụ internet ( ISP ), tại các công ty hay kể cả tại một số mạng gia đình. Proxy server đóng vai trò trung gian giữa điểm đầu và điểm cuối của một kết nối, lấy ví dụ, khi kết nối đến trang dantri.com, máy tính của chúng ta sẽ gửi các request qua proxy server trước rồi các gói tin đó mới được gửi đến máy chủ website dantri.com, trong quá trình này, proxy server sẽ lưu lại các dữ liệu mình tải về và những lần sau khi có request lại các dữ liệu này thì proxy server sẽ trả lại luôn, tức là chúng ta sẽ lấy dữ liệu từ proxy server. Nó giúp chúng ta giải quyết được nhiều vấn đề như:

  • Tăng tốc độ kết nối đến các website hay tốc độ download dữ liệu, kể cả những thời điểm đứt cáp quang quốc tế vì proxy server giúp lưu lại các dữ liệu đã từng sử dụng trên server.
  • Kiểm soát dữ liệu và bảo mật thông tin

II. Cài đặt:

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

$ yum install -y squid

Check squid version $ squid -V

Squid Cache: Version 3.1.23

Bước 2: Cấu hình squid

Phần config của squid có rất nhiều lựa chọn, tuy nhiên ở đây mình chỉ cài đặt cơ bản nhất

$ vim /etc/squid/squid.conf

  • Đầu tiên cần chỉnh sửa ACL ( access list )

Khai báo các port cho phép sử dụng proxy

acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl CONNECT method CONNECT

Khai báo ACL cho dải IP nội bộ của clients

acl lan_ip src 172.16.0.0/24

Giờ cần cấu hình quyền cho các ACL Chặn tất cả các port không thuộc ACL Safe_ports, cho phép các port thuộc ACL Safe_port đi qua proxy server ( ! ở đây nghĩa là "không phải", !Safe_ports nghĩa là các port không thuộc ACL Safe_ports )

http_access deny !Safe_ports

Cho phép các IP thuộc mạng lan_ip đi qua proxy server

http_access allow Lan

Cấu hình port để squid lắng nghe, mặc định squid sẽ lắng nghe port 3128 nếu chúng ta không cấu hình.

http_port 3128

Khai báo dung lượng RAM sử dụng để cache dữ liệu web

cache_mem 2 GB

Khai báo dung lượng object tối đa sẽ được cache lại trên RAM

maximum_object_size_in_memory 2 GB

Khai báo dung lượng cache file tải qua web và đường dẫn lưu file cache đó trên server

cache_dir ufs /var/squid/cache 40960 16 256

Khai báo dung lượng file tối đa sẽ được lưu lại trên server

maximum_object_size 4 GB

Khai báo các định dạng file sẽ được cache lại trên server

refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*) 0 20% 2880 refresh_pattern -i .(iso|deb|rpm|zip|tar|tgz|ram|rar|bin|ppt|doc|git) 10080 0% 43200 ignore-no-cache store-stale

Cấu hình đường dẫn file log cho squid

access_log daemon:/var/log/squid/access.log squid cache_log /var/log/squid/cache.log

Chỉ cần cấu hình vậy là đủ để chạy squid, còn mọi người có thể xem phần config example trên trang chủ để sử dụng các tính năng khác.

Bước 3: Sử dụng thử squid:

Trên Window, mở phần Internet Options Chọn tiếp tab Connections -> Lan settings

Tick vào ô "Use a proxy server for LAN (These settings will not apply to dial-up or VPN connections)" Điền IP của proxy server và port

Giờ thử download 1 file và kiểm tra log lẫn tốc độ tải.

0