如何在 Linux 上安裝和配置 Squid 代理伺服器


在這篇文章中,我們將學習如何安裝和配置 Squid 代理伺服器。Squid 代理伺服器是一個開源且使用 GPLD 許可的代理伺服器,帶有 Web 快取功能。Squid 代理伺服器有各種用途,例如透過快取來自客戶端的重複請求來加速 Web 伺服器,以及用於名稱伺服器查詢。我們可以使用它來檢視網路或一組人共享網路資源。

Squid 代理是一個高效能的 Web 客戶端代理快取伺服器,支援 FTP、gopher 和 HTTP 資料物件。Squid 可以在一個非阻塞 I/O 驅動的程序中處理所有請求。Squid 將元資料和熱門物件儲存在 RAM 中,快取 DNS 查詢,並且還支援非阻塞 DNS 查詢。

安裝 Squid

# yum install squid
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
epel/metalink | 5.2 kB 00:00
* base: ftp.iitm.ac.in
* epel: mirror.premi.st
* extras: ftp.iitm.ac.in
* updates: mirrors.nwsuaf.edu.cn
base | 3.7 kB 00:00
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:00
extras | 3.4 kB 00:00
updates/primary_db | 5.2 MB 00:00
Resolving Dependencies
--> Running transaction check
---> Package squid.x86_64 7:3.1.23-9.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
==================================================================================================
Package       Arch       Version          Repository Size
==================================================================================================
Installing:
squid x86_64 7:3.1.23-9.el6 base 1.8 M
Transaction Summary
==================================================================================================
Install 1 Package(s)
Total download size: 1.8 M
Installed size: 6.3 M
Is this ok [y/N]: y
Downloading Packages:
squid-3.1.23-9.el6.x86_64.rpm | 1.8 MB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : 7:squid-3.1.23-9.el6.x86_64 1/1
Verifying : 7:squid-3.1.23-9.el6.x86_64 1/1
Installed:
squid.x86_64 7:3.1.23-9.el6
Completed

配置 Squid 代理

安裝完成後,我們需要編輯配置檔案,以便客戶端可以使用它作為代理伺服器。我們需要定義 ACL(訪問控制列表)來與 squid 配合使用。代理伺服器上的預設埠是 TCP 3128。

以下是 ACL 的示例,用於提供來自本地網路客戶端 192.168.87.0/24 和 192.168.88.0/24 的訪問。

確保此網路處於活動狀態,以便允許瀏覽。

開啟位於 /etc/squid/squid.conf 的配置檔案。

# vi /etc/squid/squid.conf

開啟檔案後,刪除所有 src 網路,預設情況下網路會顯示可能的內部網路。

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

在此處新增網路的本地地址,我正在本地環境中使用 192.168.8X.X 系列。

acl our_networks src 192.168.87.0/24 192.168.88.0/24
http_access allow our_networks

儲存並關閉配置檔案,然後重新啟動或啟動 Squid 代理伺服器。

# chkconfig squid on
# /etc/init.d/squid start
Starting squid: . [ OK ]

驗證 Squid 服務是否正在執行

# netstat -ntlp | grep squid
or
# netstat -ntlp | grep 3128
tcp 0 0 :::3128 :::* LISTEN 2180/(squid)

客戶端配置以使用 Squid 代理伺服器

在客戶端計算機上開啟瀏覽器,然後在“工具”->“Internet 選項”->“網路設定”->中新增 Squid 代理伺服器 IP 地址並使用埠號 3128。

經過此設定和配置後,我們能夠共享網際網路或快取 Web 伺服器,以便儘可能快地將網頁載入到客戶端,並且我們還可以將單個連線到環境中的另一個客戶端。

更新於: 2020年1月17日

712 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告