您好,登錄后才能下訂單哦!
Squid是一個緩存 Internet 數據的軟件,其接收用戶的下載申請,并自動處理所下載的數據。當一個用戶想要下載一個主頁時,可以向 Squid 發出一個申請,要 Squid 代替其進行下載,然后 Squid 連接所申請網站并請求該主頁,接著把該主頁傳給用戶同時保留一個備份,當別的用戶申請同樣的頁面時,Squid 把保存的備份立即傳給用戶。
按照代理類型的不同,可以將 Squid 代理分為正向代理和反向代理,正向代理中,根據實現方式的不同,又可以分為標準代理和透明代理。
1.標準的代理緩沖服務器
一個標準的代理緩沖服務被用于緩存靜態的網頁(例如:html文件和圖片文件等)到本地網絡上的一臺主機上(即代理服務器)。當被緩存的頁面被第二次訪問的時候,瀏覽器將直接從本地代理服務器那里請求數據而不再向原web站點請求數據。這樣就節省了寶貴的網絡帶寬,而且提高了訪問速度。但是,要想實現這種方式,必須在每一個內部主機的瀏覽器上明確指明代理服務器的IP地址和端口號。客戶端上網時,每次都把請求送給代理服務器處理,代理服務器根據請求確定是否連接到遠程web服務器獲取數據。如果在本地緩沖區有目標文件,則直接將文件傳給用戶即可。如果沒有的話則先取回文件,先在本地保存一份緩沖,然后將文件發給客戶端瀏覽器。
2.透明代理緩沖服務器
透明代理緩沖服務和標準代理服務器的功能完全相同。但是,代理操作對客戶端的瀏覽器是透明的(即不需指明代理服務器的IP和端口)。透明代理服務器阻斷網絡通信,并且過濾出訪問外部的HTTP(80端口)流量。如果客戶端的請求在本地有緩沖則將緩沖的數據直接發給用戶,如果在本地沒有緩沖則向遠程web服務器發出請求,其余操作和標準的代理服務器完全相同。對于Linux操作系統來說,透明代理使用Iptables或者Ipchains實現。因為不需要對瀏覽器作任何設置,所以,透明代理對于ISP(Internet服務器提供商)特別有用。
3.反向代理緩沖服務器
反向代理是和前兩種代理完全不同的一種代理服務。使用它可以降低原始WEB服務器的負載。反向代理服務器承擔了對原始WEB服務器的靜態頁面的請求,防止原始服務器過載。它位于本地WEB服務器和Internet之間,處理所有對WEB服務器的請求,阻止了WEB服務器和Internet的直接通信。如果互聯網用戶請求的頁面在代理服務器上有緩沖的話,代理服務器直接將緩沖內容發送給用戶。如果沒有緩沖則先向WEB服務器發出請求,取回數據,本地緩存后再發送給用戶。這種方式通過降低了向WEB服務器的請求數從而降低了WEB服務器的負載。
可以看一下這篇文章:圖解正向代理、反向代理、透明代理,有助于你搞清代理的概念。
在pfsense中,使用較多的是Squid透明代理。本教程將告訴你如何在pfSense 2.33上設置Squid透明代理。本例中Squid的版本號為3.5.24_2 。
安裝Squid
1.導航到System > Package Manager(插件管理)。
2.單擊Available Packages(可用插件)選項卡。
3.向下翻頁找到squid。
4.單擊 ‘+’ 進行安裝。
Squid GeneralSettings(常規設置)
1. 導航到 Services > Squid Proxy Server > General選項卡
2. Enable Squid Proxy(啟用Squid代理)-Check toenable(設置為啟用)
3. Keep Settings/Data(保留設置/數據)-如果不想在刪除Squid后,還保留大量的緩存數據,建議不選擇。
4. Proxy Interface(代理接口)-選擇LAN 。
5. Allow Users on Interface-如果選中,連接到“Proxy Interface(代理接口)”字段中選擇的接口的用戶將被允許使用該代理。不需要將接口的子網添加到允許的子網列表中。
6. 其他設置可以使用默認值。
TransparentProxy Setting(透明代理設置)
1.Transparent HTTP Proxy(透明代理)-Check to enable(設置為啟用),啟用后目標端口80的所有請求將轉發到代理服務器。
2.Transparent Proxy Interface(透明代理接口)-選擇LAN。
3.Bypass Proxy for Private Address Destination(旁路代理私人地址目的地)-必須選上,不然上不了網(虛擬機中測試)。(如果不設置,會有錯誤提示:您所請求的網址(URL)無法獲取)。
4.其他設置默認。
LoggingSettings(日志設置)
可以不設置(特別在硬盤容量不足的時候)!
1.Enable Access Logging(啟用訪問日志)-Check toenable(設置為啟用)。
2.Log Store Directory(日志保存目錄)-通常不需要更改目錄,因此保持默認值就足夠了。如果確實需要更改路徑,請記住不要在路徑末尾添加“/”。
3.RotateLogs(日志輪流)-定義將保留多少天的日志文件。如果不設置,則一直保存。
4.其他采用默認值。
HeadersHandling, Language and Other Customizations(標題處理,語言和其他設置)
1.Visible Hostname(可見主機名)-如果代理服務器顯示任何錯誤,這將顯示在客戶端計算機上。可以保持與pfSense服務器的主機名相同的名稱。
2.Administrator’s Email (管理員郵箱)–如果發生錯誤,這也將顯示在客戶機上。
3.Error Language (錯誤提示語言)-選擇在客戶端出現錯誤信息時顯示的語言。
4.其它選項保持默認就可以了。
Squid HardDisk Cache Settings(硬盤緩存設置)
1. 單擊Local Cache選項卡, 向下翻頁找到Squid Hard Disk Cache Settings
2. Hard Disk Cache Size(硬盤緩存大小)-分配給Squid的最大硬盤緩存。建議將數值設置在4GB以上。
3. Hard Disk Cache System(硬盤緩存系統)-建議默認設置。
4. Level 1 Directories(一級目錄)-指定硬盤緩存1級目錄的數量。最多可以設置256個。目錄越多,啟動越慢,但在特定條件下可以加快緩存速度。
5. Hard Disk Cache Location(硬盤緩存位置)-如果硬盤足夠存儲在“硬盤緩存大小”中指定的緩存大小,請保持默認設置。 如果沒有,請選擇另外存儲的路徑,并記住不要在文件路徑的末尾添加“/”。
6. Minimum Object Size(最小對像大小)-小于指定大小的對象(以KB為單位)不會保存在磁盤上。默認值:0(表示沒有最小值)建議默認值。
7.Maximum Object Size(最大對像大小)-大于指定大小的對象(以MB為單位)不會保存在磁盤上。 默認值:4(MB)。提示:如果增加的速度比節省帶寬更重要,則應將其設置為較低的值。建議默認值。
Squid MemoryCache Settings(內存緩存設置)
1. Memory Cache Size(內存緩存大小)-可以為Squid設置緩存的內存越多,緩存過程就越快。建議使用2GB以上。 但不要超過總內存的50%。
2. Maximum Object Size in RAM(RAM中的最大對象大小)- 高于分配大小的對象不會存儲在內存緩存中。建議使用默認值(256 KB)。
3. Memory Replacement Policy(內存替換策略)-確定在需要存儲空間時從內存中清除哪些對象。建議默認heap GDSF。
Squid AccessControl Lists(訪問控制列表)
根據需要進行設置!
1.單擊ACLs選項卡。
2.Allowed Subnets (允許的子網)–輸入以CIDR格式(192.168.111.0/24) 允許使用代理的子網。每個條目一行。如果在“SquidGeneral Settings(常規設置)”選項卡上選中了“AllowUsers on Interface(允許接口用戶)”時,則無需將“代理接口”子網添加到此列表中。
3.其他設置保證默認就行了。
經過以上設置Squid代理已經正常運行。
如果出現訪問網站解析時間過長的問題,還要把DNS解析打開。
以上就是一個基本的Squid透明代理的配置過程。Squid 3.5.24_2 的功能非常多,其他更復雜的配置請自行研究!
視頻教程請點擊。
2017-06-03
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。