1. LINUX下第三方Proxy 伺服器軟體的選擇
可以選擇的其實還是不少,比如Apache:具有強大的功能、高速度和高效率等特點,但在LINUX下作Proxy 伺服器的效能優勢並不明顯,不建議使用;推薦使用Squid ,有關此軟體的相關報道也不少,它由一個主要的服務程式squid,一個DNS查詢程式dnsserver和幾個管理工具組成,其比較明顯的特性就是可以減少伺服器等待DNS查詢的時間,“Linux+Squid”是最好的Proxy 伺服器組合!
2.安裝Squid
其實如今的Linux中基本都有已編譯好的Squid,直接安裝它即可。如果你手頭沒有編譯好的Squid,可以到FTP://squid.nlanr.net/pub去下載。
第一步:請記住squid預設情況下是不允許root執行它的,你必須為squid建立新的目錄及使用者:我們假設使用者目錄設為/usr/local/squid 。然後執行以下命令解壓tar.gz:
Tar zxvf squid –src.tar.gz
第二步:進入squid目錄,運行“./configure”,此命令熟悉Linux的朋友應該清楚,它會自動檢查系統的配置情況,由於沒有加參數,故預設安裝於此目錄下。
第三步:建立好設定檔後,即可輸入make開始編譯Squid;最後用make install命令進行Squid安裝。
3. 配置Squid
這裡有必要說明一下,如果你對SquidProxy 伺服器的安全性方面沒什麼特別的要求,那隻需要改一個地方就可以讓Squid正常工作!在Squid目錄下找到“Squid.conf”並開啟,進一步找到“http_access deny all”這一欄位,只要將“deny”改成“allow”就一切OK!(一定注意是改前面沒有“#”號的那一行)
而如果要使Squid按照自己的意願工作,那就得對“squid.conf”作些改動,這裡先對此設定檔中會對Squid的工作效率產生影響的幾個參數作個簡要說明:
cache_mem:設定Squid佔用的實體記憶體。注意設定時最好不要超過本機實體記憶體的1/4,否則可能會影響到原生效能,例如:cache_mem 64M。
http_port:用於設定Squid的監聽連接埠。預設值為3128,個人認為可改可不改。
cache_effective_user:設定使用緩衝的使用者。預設為nobody,一般都要進行改過,建議重建立立一個。
cache_dir:設定緩衝的大小和位置。例如:cache_dir /usr/local/squid/cache 100 32 128,數字100前的部分表示緩衝位置,100表示緩衝最大不超過100M,32跟128表示目錄數。
清楚了這些主要參數項並做相應改動之後,一般再進行以下兩步配置即可,其它項保持預設即完成合符自己要求的最簡單配置。
第一步:我們假設本機網卡IP地址為192.168.0.1,子網路遮罩為255.255.255.0,開啟squid.conf,單獨起一行輸入以下命令:
acl local_net src 192.168.0.1/255.255.255.0
第二步:定義允許使用緩衝的IP地址組。即前面提到的“http_access allow local_net”命令列。
4. 在瀏覽器裡運行測試
在瀏覽器Mozilla中依次選擇“Edit-Preference-Advanced-Proxies”,再選擇“Manual Proxy configuration”之後點“View”,即可將Squid伺服器的IP地址(172.21.101.132)作為Proxy 伺服器地址,預設連接埠號碼為 3128。如果你在前面一步“Squid.conf”設定檔中對“http_port:”作了修改,請填入你修改後的連接埠號碼。另外,如要控制Squid 的運行,可以單擊“開始-伺服器設定-服務”,開啟“服務配置”視窗,在中間的視窗內點選“Squid”即可;而如果要讓LINUX啟動時自動啟動 Squid,只要勾選前面的複選框就行了。 OK,現在應該可以進行Web瀏覽了。
如果你要檢查Squid是否處於正常運行狀態,有兩種辦法可行:一是命令方式(squid -k check);另一種方法就是進入Squid所在目錄查看訪問記錄檔Access.log,看看瀏覽過的網頁是否都儲存在此記錄檔中。
5. 架設總結
以上介紹的只是利用Squid實現代理的最基本的內容,旨在給大家提供一個架設思路,其實Squid還有不少的進階功能,比如用做二級代理、做為防火牆使用等等。
LINUX本身就是一套完善的安全系統,而要讓Squid更好的適應它,發揮出LINUX+Squid組合的優勢,還得深入的去學習Squid的設定檔,因為所有的進階功能都得在設定檔中以命令列的方式去設定。鑒於筆者水平有限,大家可以參閱Squid進階設定的相關報道來進一步設定。不過筆者還是認為應該根據自己的實際情況修改,並不需要配置所有的選項。最後提醒大家,Squid並不支援POP、NNTP兩種協議的代理。