Cài Đặt Và Cấu Hình Squid Proxy Server

Squid proxy

Một proxy server là thiết bị có vai trò đứng giữa client và đích đến mà người dùng muốn truy cập. Proxy server cung cấp khả năng bảo mật, và thậm chí bảo vệ người dùng đứng sau Proxy. Ở các hệ điều hành Red Hat, CentOS, giải pháp squid proxy được nhiều người sử dụng vì tính an toàn, mạnh mẽ và linh hoạt.

Squid proxy sẽ đứng giữa User và web server mà người dùng đang cố gắng kết nối đến. Sau nhiều lần thiết bị của bạn kết nối đến web server, Squid proxy sẽ thực hiện cache data và lưu trữ nội bộ để giảm thiểu thời gian tải trang, giảm thiểu băng thông và tác vụ phải xử lý lên các thiết bị firewall hoặc gateway.

Một Squid proxy server thường là một server được cài đặt riêng biệt, tách biệt hoàn toàn so với Web server. Server sẽ hoạt động bằng cách theo dõi các đối tượng sử dụng lưu lượng mạng trong một network. Ban đầu, Squid sẽ đóng vai trò như là một thiết bị trung gian, đơn giản cho phép các request từ hướng client đi vào server và lưu lại một bản copy của request này. Sau đó nếu có phát sinh request tương tự từ user cũ hoặc các user mới request đúng  bản copy này, Squid có thể ngay lập tức thay thế web server phản hồi user nhờ vào cache date, giúp tăng tốc độ download, giảm thiểu băng thông trên lưu lượng mạng.

Cài đặt gói Squid :

Theo mặc định, gói Squid package chưa được cài đặt, để kiểm tra trên server của bạn đã được cài đặt gói package hay chưa bằng cách sử dụng câu lệnh :

[[email protected] Desktop]# rpm -qa|grep squid

squid-3.3.8-26.el7.x86_64

Nếu gói Squid chưa được cài tiến hành cài bằng cách sử dụng lệnh Yum Install :

[[email protected] Desktop]# yum install squid

Loaded plugins: fastestmirror, langpacks

Resolving Dependencies

–> Running transaction check

—> Package squid.x86_64 7:3.3.8-26.el7 will be installed

–> Processing Dependency: libecap.so.2()(64bit) for package:

 7:squid-3.3.8-26.el7.x86_64

–> Running transaction check

—> Package libecap.x86_64 0:0.2.0-9.el7 will be installed

–> Finished Dependency Resolution

 

Dependencies Resolved

 

====================================================================

 Package          Arch            Version            Repository     Size

======================================================================

Installing:

 squid            x86_64          7:3.3.8-26.el7        base          2.6 M

Installing for dependencies:

 libecap          x86_64          0.2.0-9.el7           base           20 k

 

Transaction Summary

===========================================================================

Install  1 Package (+1 Dependent package)

 

Total download size: 2.6 M

Installed size: 8.6 M

Is this ok [y/d/N]: y

Downloading packages:

(1/2): libecap-0.2.0-9.el7.x86_64.rpm                      |  20 kB   00:17    

(2/2): squid-3.3.8-26.el7.x86_64.rpm                       | 2.6 MB   00:25    

—————————————————————————-

Total                                              103 kB/s | 2.6 MB  00:25    

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  Installing : libecap-0.2.0-9.el7.x86_64                                1/2

  Installing : 7:squid-3.3.8-26.el7.x86_64                               2/2

  Verifying  : 7:squid-3.3.8-26.el7.x86_64                               1/2

  Verifying  : libecap-0.2.0-9.el7.x86_64                                2/2

 

Installed:

  squid.x86_64 7:3.3.8-26.el7                                                  

 

Dependency Installed:

  libecap.x86_64 0:0.2.0-9.el7                                                 

 

Complete!

Khởi chạy dịch vụ và setup dịch vụ để Squid chạy mỗi lần tự khởi động.

[[email protected] Desktop]# systemctl enable squid

Created symlink from /etc/systemd/system/multi-user.target.wants

/squid.service to /usr/lib/systemd/system/squid.service.

[[email protected] Desktop]# systemctl start squid

[[email protected] Desktop]# systemctl status squid

  • squid.service – Squid caching proxy

   Loaded: loaded (/usr/lib/systemd/system/squid.service; enabled;

 vendor preset: disabled)

   Active: active (running) since Mon 2016-03-21 13:00:11 IST; 7s ago

  Process: 16554 ExecStart=/usr/sbin/squid $SQUID_OPTS -f $SQUID_CONF

(code=exited, status=0/SUCCESS)

  Process: 16542 ExecStartPre=/usr/libexec/squid/cache_swap.sh

(code=exited, status=0/SUCCESS)

 Main PID: 16601 (squid)

   CGroup: /system.slice/squid.service

           ├─16601 /usr/sbin/squid -f /etc/squid/squid.conf

           ├─16603 (squid-1) -f /etc/squid/squid.conf

           └─16657 (logfile-daemon) /var/log/squid/access.log

 

Mar 21 13:00:10 centos systemd[1]: Starting Squid caching proxy…

Mar 21 13:00:11 centos squid[16601]: Squid Parent: will start 1 kids

Mar 21 13:00:11 centos squid[16601]: Squid Parent:squid-1 process16603 …ed

Mar 21 13:00:11 centos systemd[1]: Started Squid caching proxy.

Hint: Some lines were ellipsized, use -l to show in full.

[[email protected] Desktop]#

File cấu hình chính của Squid proxy được đặt tại thư mục /etc/squid/squid.conf

File cấu hình sẽ có mẫu như sau :

#

# Recommended minimum configuration:

#

 

# 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 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 http

acl CONNECT method CONNECT

 

#

# 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

#

 

# 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

 

# And finally deny all other access to this proxy

http_access deny all

 

# Squid normally listens to port 3128

http_port 3128

 

# 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

Bỏ comment và điều chỉnh để thêm cache vào thư mục :

cache_dir ufs /usr/local/squid/var/cache/squid 100 16 256

Restart lại dịch vụ Squid và mở port trên Firewall để dịch vụ có thể đi qua, Port sử dụng của Squid là 3128 :

[[email protected] Desktop]# systemctl restart squid

firewall-cmd –zone=public –add-port=3128/tcp –permanent

Save và restart service để thay đổi có hiệu lực.

Như vậy là chúng ta đã hoàn thành cấu hình Squid server. Tiếp theo chuyển sang phía client để cấu hình sử dụng Proxy.

Vào trình duyệt Firefox, tab Tools -> Options >Advance tab -> Network -> Settings -> chọn tùy chọn manual proxy settings và điền vào IP của Squid Proxy (Ví dụ : 192.168.1.1) và port 3128, check vào tùy chọn Use this proxy server for all protocols và click OK.

Xem Squid access.log file bằng cách sử dụng command :

tail -f /var/log/squid/access.log

Như vậy là bạn đã có thể bắt đầu sử dụng Internet và tăng tốc cùng Squid server.

  • Cài đặt và cấu hình squid proxy
  • Cài đặt và cấu hình proxy server ( dùng squid )
  • Cấu hình Squid Proxy trên Centos 7
  • Cài đặt Squid trên Centos
  • Proxy server Centos