1. 程式人生 > 實用技巧 >搭建squid代理伺服器

搭建squid代理伺服器


wKiom1SVko_gHaIAAADuNBBzu4c215.jpg(圖片來源網路)

傳統代理

手動設定代理伺服器的地址和埠,然後使用代理伺服器訪問網路

配置squid.conf

主要配置如下
http_port3128#用於指定代理伺服器監聽的地址和埠
cache_mem64MB#指定快取功能使用的記憶體空間,建議為實際實體記憶體的1/4
maximum_object_size4096KB#允許儲存到快取空間的最大檔案大小
visible_hostnamelocalhost.localdomain#代理伺服器的本地主機名稱,uname–n可以看到
reply_body_max_size10240000allowall#允許使用者下載的最大檔案大小,單位位元組
cache_dirufs/var/spool/squid10016256#指定快取資料所使用的目錄,容量,子目錄數量,ufs快取檔案格式。快取目錄分配的磁碟空間大小(單位MB),一級目錄數量16個,二級目錄資料量256個
cache_swap_high90#快取目錄空閒空間小於90%時,新快取自動取代舊快取
cache_swap_low85#空閒空間降到85%才停止取代
cache_replacement_policylru#快取替換策略
memory_replacement_policylru#記憶體替換策略
memory_poolson#開啟記憶體池


客戶端手動設定代理

開啟瀏覽器的“Internet選項”

wKiom1SSyzDRpqYiAABmW6av8nA483.jpg

設定代理

wKioL1SSy9OwA2dnAAHRSPlPHBA796.jpg


透明代理

提供予傳統代理伺服器相同的功能和服務,其區別在於:客戶機不需要指定代理伺服器的地址和埠,而是通過預設路由,防火牆策略將web訪問重定向。

安裝域名解析bind-9.3

[[email protected]~]#rpm-Uvh/media/Server/bind-9.3.3-7.el5.i386.rpm
warning:/media/Server/bind-9.3.3-7.el5.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186
Preparing...###########################################[100%]
1:bind###########################################[100%]
[
[email protected]
~]#rpm-Uvh/media/Server/caching-nameserver-9.3.3-7.el5.i386.rpm warning:/media/Server/caching-nameserver-9.3.3-7.el5.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186 Preparing...###########################################[100%] 1:caching-nameserver###########################################[100%] [
[email protected]
~]#rpm-Uvh/media/Server/bind-chroot-9.3.3-7.el5.i386.rpm warning:/media/Server/bind-chroot-9.3.3-7.el5.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID37017186 Preparing...###########################################[100%] 1:bind-chroot###########################################[100%] [[email protected]~]#cd/var/named/chroot/etc/ [[email protected]etc]#ls localtimenamed.caching-nameserver.confnamed.rfc1912.zonesrndc.key [[email protected]etc]#cp-pnamed.caching-nameserver.confnamed.conf [[email protected]etc]#cat>named.conf<<end >options{ >directory"/var/named"; >forwarders{8.8.8.8;};//DNS解析轉發給8.8.8.8處理 >}; >end [[email protected]etc]#servicenamedrestart 停止named:[失敗] 啟動named:[確定]


防火牆重定向請求:

[[email protected]~]#iptables-tnat-APREROUTING-ieth1-ptcp--dport80-jREDIRECT--to-ports3128//把所有80埠請求轉交squid
[[email protected]~]#iptables-tnat-APREROUTING-ieth1-ptcp--dport443-jREDIRECT--to-ports3128////把所有443埠請求轉交squid


配置squid.conf

[[email protected]~]#vim/etc/squid/squid.conf
http_port192.168.1.10:3128transparent//修改為透明模式



配置客戶端ipDNS使用192.168.1.10的代理

wKiom1SSzE3zpgUCAAFZsTjNzBE935.jpg


測試成功:


wKiom1SSzH7xDh6EAADjuUtRnXE487.jpg


ACL控制上網行為


ACL列表名 型別 內容

http_accessallow或deny列表名

no_cacheallow或deny 列表名

aclallsrc0.0.0.0/0.0.0.0
aclSafe_portsport80443#除80和443以外,!表示取反
aclConnLimitmaxconn40#多於40個請求
aclsrc_ip192.168.2.167192.168.1.0/24#源地址,網段
acldst_ipdst192.168.2.167192.168.1.0/24#目標地址,網段
acldstdomain.qq.com.taobao.com#匹配qq,淘寶的域名
aclforbidurlpath_regex-i\.mp3\.rmvp#匹配MP3,rmvb,-i表示不區分大小寫
acllimit_timetime12:00-13:00#匹配每天的12到13點,M-monday.T-tuesday.W-wednesday.H-Thursday.F-fariday.A-Saturday.S-sunday
aclQueryStringurlpath_regex-icgi-bin\?\.asp\.php\.jsp\.cgi#匹配動態內容
no_cachedenyquery#不快取動態內容
http_accessdenyConnLimit
http_accessallowall#接受所有請求,與ACL定義的all相關
http_accessdeny!Safe_ports#除80和443埠以外拒絕其他埠請求
http_accessdenysrcip#源地址是192.168.1.0被拒絕
http_accessdenydstdomain#禁止上qq和淘寶
http_accessdenyforbid#禁止下載MP3和rmvb


wKioL1SVoPyhskW_AAIZUI6WRkw550.jpg



轉載於:https://blog.51cto.com/dragon123/1591545