Kiến Thức Linux Linux Nâng Cao

4 Bước cài đặt Squid Proxy trên Centos

congdonglinux-Squid proxy

Giới thiệu Squid Proxy

Squid Proxy là một ứng dụng proxy server mã nguồn mở phổ biến được sử dụng rộng rãi trên hệ điều hành Linux để quản lý và kiểm soát truy cập Internet. Với khả năng làm việc ổn định và hiệu suất cao, Squid Proxy đóng vai trò quan trọng trong việc cung cấp dịch vụ truy cập web, cải thiện tốc độ truy cập và bảo vệ mạng.

Squid Proxy hoạt động như một cầu nối giữa người dùng và máy chủ web, thực hiện việc lưu trữ tạm thời các trang web và tài nguyên đã được truy cập trước đó. Điều này giúp giảm thiểu thời gian tải và tiết kiệm băng thông mạng bằng cách phục vụ lại các dữ liệu đã được lưu trữ. Đồng thời, Squid Proxy cũng cho phép quản trị viên thiết lập chính sách kiểm soát truy cập, giới hạn tốc độ và theo dõi hoạt động truy cập của người dùng, từ đó tạo ra một môi trường an toàn và hiệu quả cho mạng.

Một số tính năng nổi bật của Squid Proxy bao gồm:

  1. Bộ lưu trữ tạm thời: Squid Proxy có khả năng lưu trữ tạm thời các tài nguyên web, giúp giảm thiểu thời gian tải và tăng hiệu suất truy cập.
  2. Kiểm soát truy cập: Quản trị viên có thể thiết lập chính sách kiểm soát truy cập dựa trên địa chỉ IP, thời gian và nội dung, giúp ngăn chặn truy cập đến các trang web không mong muốn hoặc độc hại.
  3. Quản lý băng thông: Squid Proxy cho phép giới hạn tốc độ truy cập của người dùng, đảm bảo sự công bằng trong việc sử dụng tài nguyên mạng.
  4. Bảo mật: Với khả năng kiểm soát truy cập và các tính năng bảo mật khác như kiểm tra danh sách đen (blacklist) và trắng (whitelist), Squid Proxy giúp bảo vệ mạng khỏi các mối đe dọa trực tuyến.
  5. Ghi nhật ký (logging): Squid Proxy cung cấp các chức năng ghi nhật ký chi tiết về hoạt động truy cập của người dùng, giúp quản trị viên theo dõi và phân tích dữ liệu.

 

Cài đặt Squid

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

yum update -y
yum install -y squid

Stop firewallD

systemctl stop firewallD

 Khởi động Squid

systemctl start squid

Cho phép squid khởi động cùng hệ thống

systemctl enable squid

Bước 2: Thiết lập cấu hình squid

vi /etc/squid/squid.conf

– Thêm nội dung sau vào file squid.conf

# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network
acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines
acl localnet src x.x.x.x/24 # RFC1918 possible internal network

# Add rule
acl SSL_ports port 443
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 htt
acl CONNECT method CONNECT

forwarded_for off
# Hide client ip #
forwarded_for delete
# Turn off via header #
via off
####
acl portA localport 24000
# Map ports and IP addresses
tcp_outgoing_address 2403:6a40:0:88:bc26:ebff:fe1b:d5 portA
# Disable show ipv4
tcp_outgoing_address 127.0.0.1 portA
# Recommended minimum Access Permission configuration:
# Deny requests to certain unsafe ports
http_access deny !Safe_ports
# Deny CONNECT to other than secure SSL ports
http_access deny CONNECT !SSL_ports
# Only allow cachemgr access from localhost
http_access allow localhost manager
http_access deny manager
# We strongly recommend the following be uncommented to protect innocent
# web applications running on the proxy server who think the only
# one who can access services on "localhost" is a local user
http_access deny to_localhost
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

# Example rule allowing access from your local networks.
# Adapt localnet in the ACL section to list your (internal) IP networks
# from where browsing should be allowed
#http_access allow localnet
#http_access allow localhost
#http_access allow all

# And finally deny all other access to this proxy
#http_access deny all

# Squid normally listens to port 3128
http_port 3128
http_port 24000

# Uncomment and adjust the following to add a disk cache directory.
#cache_dir ufs /var/spool/squid 100 16 256

# Leave coredumps in the first cache dir
coredump_dir /var/spool/squid

#
# Add any of your own refresh_pattern entries above these.
#
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320

################################

Thực hiện chỉnh sửa các thông số sau: 

  • acl localnet src x.x.x.x/24 # RFC1918 possible internal network (thay địa chỉ x.x.x.x sang ip wan mạng internet của bạn)
  • Trường hợp muốn allow tất cả IP chỉnh sửa IP x.x.x.x/24 sang 0.0.0.0/24
  • tcp_outgoing_address 2403:6a40:0:88:bc26:ebff:fe1b:d5 portA (chỉnh sửa 2403:6a40:0:88:bc26:ebff:fe1b:d5 sang ipv6 của vps bạn đã cấu hình vào card mạng)

 

Bước 3 :Xác thực squid client authentication

yum -y install httpd-tools 
touch /etc/squid/passwd 
chown squid: /etc/squid/passwd

Tạo một user có tên bknsproxy và đặt password cho nó:

htpasswd /etc/squid/passwd bknsproxy

Khởi động lại squid server:

systemctl restart squid

Bước 4: Cấu hình trình duyệt sử dụng Proxy

Firefox

  1. Tại góc trên bên phải. Click icon  để mở menu của Firefox:
  2. Click vào mục ⚙ Preferences .
  3. Cuộn xuống mục Network Settings và click vào biểu tượng Settings....
  4. Trong hộp thoại mới mở ra
    • Chọn vào mục Manual proxy configuration
    • Nhập vào IP của Server cài Squid vào mục HTTP Host và nhập 3128 vào mục Port.
    • Chọn vào checkbox Use this proxy server for all protocols.
    • Cuối cùng bạn click nút OK.

j7LAYfX
Để kiểm tra bạn mở google.com gõ what is my ip và bạn sẽ thấy IP của Squid server
Để quay về các thiết đặt mặc định bạn quay lại Network setting, lựa chọn Use system proxy settings và lưu lại
Có một số plugins bạn có thể dùng để cấu hình cài đặt proxy của Firefox, như FoxyProxy

Chrome

Google Chrome mặc định dùng cài đặt proxy của hệ thống. Nếu bạn không muốn thay đổi cài đặt proxy của hệ thống bạn có thể dùng những addon như SwitchyOmega hoặc khởi chạy Chrome từ dòng lệnh
Để khởi động Chrome với một profile mới và kết nối vào Squid server, sử dụng các câu lệnh dưới

Linux

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

macOS

"/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"

Kết bài:

Với khả năng tùy chỉnh cao và tích hợp nhiều tính năng mạnh mẽ, Squid Proxy đã trở thành một giải pháp ưu việt trong việc quản lý và kiểm soát truy cập Internet trên hệ điều hành Linux, từ việc cung cấp dịch vụ web tốt hơn đến việc bảo vệ mạng khỏi các mối đe dọa trực tuyến. 

Mã bài viết: 267465

 

Đăng ký liền tay Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !

Add Comment

Click here to post a comment

Đăng ký liền tay
Nhận Ngay Bài Mới

Subscribe ngay

Cám ơn bạn đã đăng ký !

Lỗi đăng ký !