烏賊 是一個全功能的基於 Linux 的代理應用程序,主要用於流量過濾、安全和 DNS 查找。它還用於緩存資源以提高 Web 服務器性能。簡單的說, 魷魚服務器 充當台式計算機和 Internet 之間的中介的計算機,將傳入的客戶端請求重定向到存儲數據以便於檢索的服務器。 它支持多種協議,例如 HTTP、FTP、TLS、SSL、Internet Gopher 和 HTTPS。
在本指南中 如何在 Ubuntu 20.04 上安裝和配置 Squid 代理。
如何在 CentOS 7 上安裝和配置 Squid 代理
Ubuntu 20.04 服務器上的 Squid 代理服務器
在開始之前,您應該將系統包更新到最新版本。您可以通過以下方式更新它:
請注意,所有命令都以 root 身份運行。
$ sudo apt-get update $ sudo apt-get upgrade
更新所有軟件包後,重新啟動系統以應用更改。
要安裝 Squid 代理,請運行以下命令:您還可以通過在系統引導時啟動它來檢查狀態。
$ sudo apt-get install -y squid $ sudo systemctl start squid $ sudo systemctl enable squid $ sudo systemctl status squid
如果 squid 已安裝並正確運行,您應該會看到如下輸出:
在 Ubuntu 20.04 上配置 Squid 代理服務器
squid 配置文件位於此處: /etc/squid/squid.conf
什麼時候 /etc/squid/conf.d/
目錄。讓我們編輯 /etc/squid/squid.conf
使用文本編輯器。備份原始文件,以便在出現問題時可以使用它 cp 命令:
$ sudo cp -v /etc/squid/squid.conf{,.bkp}
現在 /etc/squid/squid.conf.
在您喜歡的文件編輯器中打開文件。
$ sudo nano /etc/squid/squid.conf
更改 squid 默認端口
這個 默認 Squid TCP 端口 是 3128。要改變這一點, squid.conf
歸檔並查找 http_port 金屬絲。更改為所需的端口號並保存文件。
#http_port 3128 http_port 8080
確保端口允許通過防火牆
$ sudo ufw allow 8080/tcp $ sudo ufw enable
設置 Squid 緩存內存大小
使用以下設置來配置所需的緩存:就我而言,我使用的是 512 MB。
cache_mem 512 MB
指定要使用的 DNS 名稱服務器
要定義您自己的 DNS 服務器,請使用如下所示的命令。
dns_nameservers 8.8.8.8 8.8.4.4
為 Squid 代理服務器定義 ACL
ACL (訪問控制列表) 是定義通過代理服務器允許和拒絕什麼的語句。每個語句必須以 acl 開頭,後跟規則名稱。名稱後跟 acltype,最後是參數或文件。如果使用文件,則文件中的每一行都必須包含一項。
acl aclname acltype argument.. acl aclname acltpe “file”…
例子:
允許 LAN 網絡通過 Squid 代理服務器
創建 ACL 規則
acl my_lan src 192.168.100.0/24
使用 http_access 指令根據定義的規則允許或拒絕。在我們的例子中,我們必須允許
http_access allow my_lan
請注意,每次創建 ACL 訪問規則時,最後一條規則必須為拒絕。這應該在允許所有需要的站點時完成。否則,可能會阻止對所需站點的訪問。
如何使用 Squid 代理服務器阻止對特定網站的訪問
阻止 twitter.com 和 facebook.com:
acl deniedsites dstdomain facebook.com twitter.com http_access deny deniedsites
請注意,每次更改後必須重新啟動 squid 服務器。
$ systemctl restart squid
按關鍵字阻止 URL
假設 URL 包含諸如“foo”或“browse.php?u=”之類的關鍵字,請使用 url_regex acl 阻止它。
acl urlkeywordsblocks url_regex -i "/etc/squid/blocked-urls-keyword.conf" http_access deny urlkeywordsblocks
創造 /etc/squid/blockd-urls-keyword.conf
如下:
sudo nano /etc/squid/blocked-urls-keyword.conf
其他網址/關鍵字:
foo browse.php?u=
配置基於 IP 的身份驗證
您可以通過多種方式限制客戶端對 Internet 的訪問。在本節中,我們將配置 Squid 以基於客戶端的 IP 地址進行身份驗證。
為此,請編輯 Squid 的默認配置文件。
$ nano /etc/squid/squid.conf
將以下行添加到文件頂部:
acl client1 src 192.168.100.8 acl client2 src 192.168.100.17 http_access allow client1 client2
這是保存關閉後的文件。然後重新啟動 Squid 服務以應用更改。
$ systemctl restart squid
客戶 1 什麼時候 客戶 2 標識客戶端計算機的名稱。 192.168.100.8 什麼時候 192.168.100.17 客戶端計算機的 IP 地址。
目前,只有配置了 IP 192.168.100.8 和 192.168.100.17 的計算機可以訪問 Internet。
配置基於用戶的身份驗證
您還可以將 Squid 配置為基於用戶和密碼進行身份驗證。為此,您需要在系統上安裝 Apache utils 包。
通過運行以下命令安裝 Apache 實用程序包:
$ sudo apt install apache2-utils -y
安裝後,使用以下命令創建第一個用戶:
htpasswd /etc/squid/passwd client1
系統將提示您設置密碼,如下所示:
New password: Re-type new password:
為用戶 client1 添加密碼
然後使用以下命令創建第二個用戶:
$ htpasswd /etc/squid/passwd client2
如下設置密碼。
New password: Re-type new password: Adding password for user client2
接下來,打開 Squid 的默認配置文件。
$ nano /etc/squid/squid.conf
刪除上一節中添加的前三行,並將以下行添加到文件頂部。
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd acl ncsa_users proxy_auth REQUIRED http_access allow ncsa_users
保存並關閉文件。然後重新啟動 Squid 代理服務以應用更改。
$ sudo systemctl restart squid
現在您必須提供用戶名和密碼才能訪問互聯網。
Squid 代理認證
接下來,您需要在 Mozilla Web 瀏覽器中定義代理服務器。
轉到您的客戶端系統,打開 Mozilla Web 瀏覽器並鍵入:[編集]=>[設定]點擊。

[ネットワーク設定]點擊部分[設定]點擊。顯示以下頁面。
![[ネットワーク設定]點擊部分[設定]點擊。顯示以下頁面。](https://www.ujrun.com/wp-content/uploads/2022/10/1664720984_121_如何在-Ubuntu-2004-上安裝和配置-Squid-代理服務器.webp.webp)
[手動プロキシ設定]選擇單選按鈕並[HTTP ホスト]在字段中輸入 Squid 服務器的 IP 地址,然後單擊[ポート]在字段中輸入 8080,然後[すべてのプロトコルにこのプロキシ サーバーを使用する]選中復選框並[OK]單擊按鈕以保存您的設置。
確保 Squid 代理設置有效。 打開您的 Firefox 瀏覽器並蒐索 youtube.com 等受限制的網站,以了解發生在我身上的事情。 您將看到一個頁面顯示“代理服務器拒絕連接”。
打開另一個無限站點。您將被要求進行身份驗證。輸入您的用戶名和密碼後,您將能夠訪問該網站。
結論是
這是一步一步的指南 如何在 Ubuntu 20.04 上安裝和配置 Squid 代理服務器.我希望你喜歡它。請在評論部分分享您的反饋。