高效配置Linux代理服務器 Squid介紹 |
發(fā)布時間: 2012/8/11 10:51:11 |
作為一種免費的網絡操作系統(tǒng),Linux越來越受到廣大網絡愛好者的歡迎,目前Internet上運行的主機有相當一部分采用的就是Linux,而且中國已經把Linux作為政府上網的指定網絡操作系統(tǒng)。種種跡象表明,Linux正在逐漸走向成熟。
為了解決Internet發(fā)展迅速和IP地址資源緊張的矛盾,代理服務器的使用越來越廣泛。Squid是一種在Linux系統(tǒng)下使用的比較優(yōu)秀的代理服務器軟件。 代理服務 代理服務是指由一臺擁有標準IP地址的機器代替若干沒有標準IP地址的機器和Internet上的其它主機打交道,提供代理服務的這臺機器稱為代理服務器。擁有內部地址的機器想連接到Internet上時,先把這個請求發(fā)給擁有標準IP地址的代理服務器,由代理服務器把這個請求通過它的標準IP地址發(fā)到請求的目的地址。然后目標地址的服務器把返回的結果發(fā)回給代理服務器,代理服務器再原封不動的把資料發(fā)給內部主機。若干擁有內部地址的機器就組成了內部網,代理服務器的作用就是溝通內部網和Internet,解決內部網訪問Internet的問題。這種代理事不可逆的,Internet上的主機不能訪問任何一臺擁有內部地址的機器,這樣又可以保障內部資料的安全性。 代理軟件的一個優(yōu)點是它能夠檢驗除了數據包之外的許多東西。Squid對數據包的有效載荷進行檢驗,也就是穿越防火墻的數據包中TCP(或者UDP)部分所占地份量。根據數據包報頭(數據包中的IP部分)和數據包有效載荷(TCP部分)的信息,代理防火墻能夠決定數據包將發(fā)往何處,數據包請求什么,以及根據數據包所必須提供的這些信息決定采取什么樣的行動。 對于Web用戶來說,Squid是一個高性能的代理緩存服務器,可以加快內部網瀏覽Internet的速度,提高客戶機的訪問命中率。Squid不僅支持HTTP協(xié)議,還支持FTP、gopher、SSL和WAIS等協(xié)議。和一般的代理緩存軟件不同,Squid用一個單獨的、非模塊化的、I/O驅動的進程來處理所有的客戶端請求。 Squid將數據元緩存在內存中,同時也緩存DNS查尋的結果,除此之外,它還支持非模塊化的DNS查詢,對失敗的請求進行消極緩存。Squid支持SSL,支持訪問控制。由于使用了ICP,Squid能夠實現(xiàn)重疊的代理陣列,從而最大限度的節(jié)約帶寬。 Squid由一個主要的服務程序Squid,一個DNS查詢程序dnsserver,幾個重寫請求和執(zhí)行認證的程序,以及幾個管理工具組成。當Squid啟動以后,它可以派生出指定數目的dnsserver進程,而每一個dnsserver進程都可以執(zhí)行單獨的DNS查詢,這樣一來就大大減少了服務器等待DNS查詢的時間。 Squid的另一個優(yōu)越性在于它使用訪問控制清單(ACL)和訪問權限清單(ARL)。訪問控制清單和訪問權限清單通過阻止特定的網絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內部網的主機無法訪問有威脅的或不適宜的站點。 編譯安裝Squid squid軟件包有兩種:一種是RedHat所使用的rpm包,另一種是源代碼包。 rpm包的安裝: 1.進入/mnt/cdrom/RedHat/RPMS。 2.執(zhí)行rpm -ivh squid-2.2.STABLE4-8.I386.rpm。 源代碼包的安裝: 1.從http://www.squid-cache.org下載squid-2.2.STABLE4-src.tar.gz。 2.將該文件拷貝到/usr/local目錄。 3.解開該文件tar xvzf squid-2.2.STABLE4-src.tar.gz,在/usr/local目錄下生成一個新的目錄squid-2.2.STABLE4,為了方便使用mv squid-2.2.STABLE4 squid將目錄更名為squid。 4.進入squid目錄。 5.執(zhí)行./configure,可以用./configure -prefix=/directory/you/want指定安裝目錄。系統(tǒng)默認安裝目錄為/usr/local/squid。 6.執(zhí)行make all。 7.執(zhí)行make install。 8.安裝結束后,Squid的可執(zhí)行文件在安裝目錄的bin子目錄下,配置文件在etc子目錄下。 配置文件squid.conf Squid有一個主要的配置文件squid.conf,位于/etc/squid目錄下,用戶僅僅需要修改該配置文件即可。 squid.conf配置文件分為13個部分,分別是: 1.NETWORK OPTIONS(有關的網絡選項) 2.OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM(作用于鄰居選擇算法的有關選項) 3.OPTIONS WHICH AFFECT THE CACHE SIZE(定義cache大小選項) 4.LOGFILE PATHNAMES AND CACHE DIRECTORIES(定義日志文件的路徑及cache的目錄) 5.OPTIONS FOR EXTERNAL SUPPORT PROGRAMS(外部支持程序選項) 6.OPTIONS FOE TUNING THE CACHE(調整cache選項) 7.TIMEOUTS(超時) 8.ACCESS CONTROLS(訪問控制) 9.ADMINISTRATIVE PARAMETERS(管理參數) 10.OPTIONS FOR THE CACHE REGISTRATION SERVICE(cache注冊服務選項) 11.HTTPD-ACCELERATOE OPTIONS(HTTPD加速選項) 12.MISCELLANEOUS(雜項) 13.DELAY POOL PARAMETERS(延時池選項) 雖然squid的配置文件很龐大,但是用戶可以根據自己的實際情況修改相應的選項,并不需要配置所有的選項。下面介紹幾個常用的選項。 1.http_port 定義squid監(jiān)聽HTTP客戶連接請求的端口。缺省是3128,如果使用HTTPD加速模式則為80?梢灾付ǘ鄠端口,但是所有指定的端口都必須在一條命令行上。 2.cache_mem 指定squid可以使用的內存理想值,建議設為內存的1/3. 3.cache_dir Directory-Name Mbytes Level1 Level2 指定squid用來存儲對象的交換空間的大小及其目錄結構?梢杂孟旅娴墓絹砉浪阆到y(tǒng)所需要的子目錄數目。 已知量: DS = 可用交換空間總量(單位KB)/ 交換空間數目 OS = 平均每個對象的大小= 20k NO = 平均每個二級子目錄所存儲的對象數目 = 256 未知量: L1 = 一級子目錄的數量 L2 = 二級子目錄的數量 計算公式: L1 x L2 = DS / OS / NO 本文出自:億恩科技【1tcdy.com】 |