Squid是一個多用途和高自由度的代理/緩存軟件。本教程將介紹怎樣使用Squid作為HTTP代理。需要注意的是,代理技术不能完全保證數據和流量安全;如果您需要更安全的數據訪問,可以考慮采用架設SSH通道等其他手段。本文采用的系統環境是CentOS 6.4, 在CentOS 6其他版本、CentOS 7、Fedora較新版本上均應適用,CentOS 5上未做測試,若您在CentOS 5的服務器上測試本教程則可能需要添加或者更新CentOS源。Debian類的系統未做測試,感興趣的朋友可以自行搜索測試。
安裝SquidSquid軟件包是包含在CentOS源中的,因此,我們只需使用SSH連接到您的服務器,執行下面的指令:
sudo yum update
sudo yum install squid
安裝完畢后,備份squid配置文件,以防誤操作:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.qing.su
配置Squid使其運行為HTTP代理Squid套件可以作為HTTP proxy來繞過部分內網中的不安全因素,並可以在外網中掩蓋身份,從而達到安全訪問互聯網的目的。下面介紹Squid的配置,兩種驗證方法請任選一種(個人推薦您選擇第二種驗證方式,因為在大部分情況下您有可能無法獲得一個固定的客戶端IP地址)。
1,基礎驗證設置這一節包含了最簡單的將Squid配置為HTTP代理的方法,此方法僅僅驗證客戶端IP。
(1) 打開Squid配置文件 /etc/squid/squid.conf,添加下面的行:
acl client src 12.34.56.78 http_access allow name1
若您有多個IP地址,需在此逐一添加,並將上述行中的name1和12.34.56.78替換成用以區分的任意計算機名和您的客戶端的IP地址。
(2) 添加完畢並保存后,執行下列指令重啟Squid服務器:
sudo service squid restart
此時,在客戶端的電腦上,您已經可以配置您的瀏覽器中的代理服務器設置並通過這個服務器上網了。
2,高級驗證設置。這一節包含了通過用戶名和密碼來驗證Squid代理服務的配置方法。
(1) 您需要獲取htpasswd工具。如果您已經在VPS上安裝了Apache服務器軟件,就無需額外安裝了。若沒有,您需要執行下面的指令安裝此工具:
sudo yum install httpd-tools
(2) 執行下列指令,新建文件以存儲Squid用戶名和密碼,並變更文件屬主:
sudo touch /etc/squid/squid_passwd
sudo chown squid /etc/squid/squid_passwd
(3) 下面我們新建用戶並設置密碼。執行下面的指令,將user1替換為你需要建立的用戶名:
sudo htpasswd /etc/squid/squid_passwd user1
您將被提示輸入新密碼並重復輸入一次。此時我們建立好了一個用戶。
(4) 打開Squid配置文件/etc/squid/squid.conf,添加下面語句以將用戶名-密碼文件關聯到Squid中:
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/squid_passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users
(5) 添加完畢后保存並關閉文件,執行下面的命令以重啟Squid:
sudo service squid restart
添加其他的用戶可以重復使用上述的方法。若要刪除某用戶,則編輯上述的密碼文件,刪掉對應用戶名的那一行,保存並重啟服務即可。此時,您已經可以在客戶端的電腦上配置瀏覽器的代理服務器設置並通過這台VPS上網了。
實現外網訪問的匿名化為了實現外網訪問的匿名化從而做到安全上網,您需要在Squid配置文件中添加下列語句。使用文本編輯器打開配置文件/etc/squid/squid.conf,添加如下行:
forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all
添加完畢后保存文件,並重啟Squid:
sudo service squid restart
至此,Squid作為代理服務器的全部配置已經完成,您可以自由使用了。
...