Squid伺服器三種代理方式詳解?

squid的作用:

1 通過快取的方式為使用者提供加速WEB訪問

2 對使用者的WEB訪問進行過濾控制

3 共享internet連線,節省ip開銷

工具/原料

主包squid-2.6.STABLE6-3.el5

方法/步驟

普通代理:需要客戶機在瀏覽器中指定代理伺服器的地址、埠

普通代理伺服器的配置:

# http_port 3128 (或者下面一種寫法)

# http_port 192.168.50.38:3128

cache_mem 64 MB

設定PROXY SERVER可使用多少記憶體作為快取記憶體,一般要設定為實體記憶體的1/3

reply_body_max_size 10 MB allow all

禁止下載超過10M的檔案

maximum_object_size 4096 KB

指定多大的檔案可以被儲存到磁碟中

access_log /var/log/squid/access.log squid

visible_hostname proxy.benet.com

cache_dir ufs /var/spool/squid 100 16 256

設定快取記憶體目錄和快取記憶體可以使用的硬碟空間,100表示最大可使用100MB,16表示第一層子目錄最多可以有16個,256表示每個第一層子目錄下最多可以有256子目錄

http_access allow all

透明代理:適用於企業的閘道器主機(共享接入Internet)中客戶機不需要指定代理伺服器地址、埠等資訊需要設定防火牆策略將客戶機的Web訪問資料轉交給代理服務程式處理

配置透明代理

前提:

客戶機的Web訪問資料要能經過防火牆,代理服務構建在閘道器(防火牆)主機中

配置要求:

代理服務程式能夠支援透明代理,設定防火牆規則,將客戶機的Web訪問資料自動重定向給代理服務程式處理

Squid伺服器三種代理方式詳解

ACL(Access Control List,訪問控制列表)

可以從客戶機的IP地址、請求訪問的URL/域名/檔案型別、訪問時間、併發請求數等各方面進行控制。

配置檔案:

http_port 3128 transparent

應用訪問控制的方式

定義acl列表

acl 列表名稱列表型別列表內容…

針對acl列表進行限制

http_access allow或deny 列表名……

acl all src 0.0.0.0/0.0.0.0

http_access deny all

常用的acl列表型別

src

dst

port

srcdomain

dstdomain

time

maxconn

url_regex

urlpath_regex

ACL列表定義示例

Acl LAN1 src 192.168.1.0/24

acl PC1 src 192.168.1.66/32

acl Blk_Domain dstdomain .qq.com .kaixin001.com

acl Work_Hours time MTWHF 08:30-17:30

acl Max20_Conn maxconn 20

acl Blk_URL url_regex -i ^rtsp:// ^mms://

acl Blk_Words urlpath_regex -i sex adult

acl RealFile urlpath_regex -i \.rmvb$ \.rm$

對ACL列表進行訪問控制

http_access deny LAN1 Blk_URL

http_access deny LAN1 Blk_Words

http_access deny PC1 RealFile

http_access deny PC1 Max20_Conn

http_access allow LAN1 Work_Hours

配置反向代理

192.168.7.2(公網客戶端)

192.168.7.1(公網介面)(squid代理開啟核心路由轉發功能)192.168.6.1(內網介面)192.168.6.2(內網客戶端閘道器指向192.168.6.1)

在內網的web服務上做基於域名的虛擬主機模擬多臺WEB伺服器

Squid伺服器三種代理方式詳解

Squid代理伺服器的配置

Squid伺服器三種代理方式詳解

Squid伺服器三種代理方式詳解

Squid伺服器三種代理方式詳解

cache_peer Web伺服器地址伺服器型別 http埠 icp埠 [可選項]

cache_peer 指定真正WEB伺服器的位置

parent 伺服器型別對應到目標主機的快取級別,上游Web主機一般使用“parent”(父服務

器)

icp埠用於連線相鄰的ICP(Internet Cache Protocol)快取伺服器(通常為另一臺Squid主機),如果沒有,則使用0;

originserver 表示該伺服器作為提供Web服務的原始主機,

weight=n”指定伺服器的優先權重,n為整數,數字越大優先順序越高(預設為1);

max-conn=n”指定反向代理主機到該web伺服器的最大連線數。

公網客戶端訪問:

Squid伺服器三種代理方式詳解

Squid伺服器三種代理方式詳解

Squid伺服器三種代理方式詳解

檢視代理伺服器的訪問日誌檔案/var/log/squid/access_log

檢視內網WEB伺服器虛擬主機的訪問日誌檔案 access_log

檢測反向代理是否配置成功

好了,我們的三種代理型別介紹完了,歡迎大家交流經驗。

注意事項

透明代理與反向代理不能同時應用

使用者, 伺服器, 快取,
相關問題答案