您好,登錄后才能下訂單哦!
Squid代理服務(wù)器
Squid代理服務(wù)器工作在應(yīng)用層,主要提供緩存加速,應(yīng)用層過濾控制等功能。
Squid代理的工作機制:
當客戶機通過代理來請求web頁面時,指定的代理服務(wù)器會先檢查自己的緩存,如果緩存中有數(shù)據(jù)則直接反饋給客戶機,如果沒有則由代理服務(wù)器向internet發(fā)送訪問請求,然后返回web頁面時,先緩存起來,然后反饋給客戶機。
Squid代理的基本類型:
傳統(tǒng)代理:普通的代理方式,客戶機需手動指定代理地址和工作端口
透明代理:客戶機不需要指定代理地址和工作端口,而是通過默認路由,防火墻策略將web訪問重定向交給代理服務(wù)器處理
搭建squid代理服務(wù)器:
v 編譯安裝squid
# tar xzvf squid-3.4.6.tar.gz
# cd squid-3.4.6
#./configure --prefix=/usr/local/squid --sysconfdir=/usr/local/squid/etc --enable-arp-acl --enable-linux-netfilter --enable-linux-tproxy --enable-async-io=100 --enable-err-language="Simplify_Chinese" --enable-underscore --enable-poll --enable-gnregex
注釋:
--prefix:指定安裝路徑
--sysconfdir:指定配置文件路徑
--enable-arp-acl :可以在規(guī)則中設(shè)置直接通過客戶端MAC進行管理,防止客戶端使用IP欺騙
--enable-linux-netfilter:可以使用iptables的內(nèi)核過濾
--enable-linux-tproxy:支持透明模式
--enable-async-io:異步I/O,提升存儲性能,指定緩存空間大小
--enable-err-language:錯誤信息顯示的語言
--enable-underscore:允許URL中有下劃線
--enable-poll:使用Poll模式,提升性能
--enable-gnregex:使用GNU正則表達式
#make && make install
v 創(chuàng)建命令鏈接文件,使命令方便調(diào)用
#ln -s /usr/local/squid/sbin/* /usr/local/sbin/
v 創(chuàng)建用戶和組,授予安裝目錄相關(guān)權(quán)限
#useradd -M -s /sbin/nologin squid
#chown -R squid.squid /usr/local/squid/var
#vim /usr/local/squid/etc/squid.conf
visible_hostname ren
coredump_dir /usr/local/squid/var/cache/squid
cache_dir cache_effective_user squid
cache_effective_group squid ufs /usr/local/squid/var/cache/squid 100 16 256
cache_effective_user squid
cache_effective_group squid
Cache mem 512MB
http_port 1.1.1.0/24:3128 transparent
注釋:
visible_hostname:給一個主機名
coredump_dir:表示緩存的文件位置
cache_effective_group squid ufs:指定緩存文件的大小
cache_effective_user :指定運行squid程序緩存的用戶
cache_effective_group squid:指定運行squid程序緩存的組
Cache mem :在物理內(nèi)存中可用的值
http_port 1.1.1.0/24:3128 transparent :設(shè)置該網(wǎng)段讓其支持透明代理
v 初始化squid代理
#squid -k parse
# squid -z
v 啟動squid代理
#squid
代理實現(xiàn)方式:
傳統(tǒng)代理:在客戶機的瀏覽器中輸入要代理的地址端口
透明代理:修改配置文件讓其支持透明代理,然后通過iptables防火墻將規(guī)則重定向到代理服務(wù)器中即可,動作:REDIRECT
例:#iptables -t nat -A PREROUTING -i eth2 -s 1.1.1.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
#iptables -t nat -A PREROUTING -i eth2 -s 1.1.1.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
#unset HTTP_PROXY HTTPS_PROXY
ACL訪問控制
我們可以通過squid定義自己的訪問控制列表,格式:acl 列表名稱 列表類型 列表內(nèi)容
常用的訪問控制列表里類型
列表類型 | 列表內(nèi)容 | 含義 |
Src | 192.168.1.1 192.168.1.0/24 192.168.1.1-192.168.1.10 | 基于源IP地址,網(wǎng)段,IP地址范圍過濾 |
Dst | 1.1.1.1 1.1.1.0/24 www.a.com | 基于目標IP地址,網(wǎng)段,主機名過濾 |
Port | 80 443 8080 21 20 | 基于目標端口過濾 |
Dstdomain | .qq.com | 基于目標域過濾 |
Time | MTWHF 8:30-17:30 | 基于星期,M表示星期一,T表示星期二,W表示星期三,H表示星期四,F表示星期五 |
Maxconm | 20 | 每個客戶機的并發(fā)連接數(shù) |
Url_regex | Url_regex -i ^a:// | 目標資源的URL地址,-i 表示忽略大小寫 |
Urlpath_regex | Urlpath_regex -i \.mp3$ | 目標資源的整個URL路徑,-i表示忽略大小寫 |
例:#vim /etc/squid.conf
Acl xiao url_regex -i ^http://
http_access deny MYLAN xiao 表示只要是http://開頭的URL都拒絕訪問
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。