亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
Squid初級配置
[打印本頁]
作者:
liuyangxky
時(shí)間:
2009-11-19 13:07
標(biāo)題:
Squid初級配置
Squid初級配置
在局域網(wǎng)中,常常需要對訪問外部資源進(jìn)行控制。通常的做法是用防火墻(例如iptables)對某些IP或者端口進(jìn)行管理,但這樣不夠靈活。
在RHEL5中使用Squid作為代理服務(wù)軟件,不僅可以實(shí)現(xiàn)訪問控制,也可以對訪問內(nèi)容進(jìn)行控制。同時(shí)可以作為Cache提高訪問速度。
一、Squid訪問控制——ACL
ACL的語法格式如下:
acl aclname acltype string1 ...
acl aclname acltype "file" ...
當(dāng)使用”file”時(shí),”file”中的每一行只能包含一個(gè)item。
幾種ACL類型簡介:
默認(rèn)情況下,正則表達(dá)式是大小寫敏感的,加-i參數(shù)可以取消大小寫敏感。
acl aclname src ip-address/netmask ... (客戶端IP地址)
acl aclname src addr1-addr2/netmask ... (地址范圍)
acl aclname dst ip-address/netmask ... (URL host's IP address)
acl aclname myip ip-address/netmask ... (本地IP)
acl aclname arp mac-address ... (xx:xx:xx:xx:xx:xx notation)
# arp ACL 需要特殊選項(xiàng) --enable-arp-acl.
# /etc/init.d/squid restart --enable-arp-acl
acl aclname srcdomain .foo.com ... # 反解client IP
acl aclname dstdomain .foo.com ...
acl aclname srcdom_regex [-i] xxx ... # 正則表達(dá)式匹配客戶端的主機(jī)名
acl aclname dstdom_regex [-i] xxx ...
#如果匹配不成功,可以使用”none”這個(gè)字來匹配。
acl aclname time [day-abbrevs] [h1:m1-h2:m2]
day-abbrevs:
S - Sunday
M - Monday
T - Tuesday
W - Wednesday
H - Thursday
F - Friday
A - Saturday
# h1:m1 必須小于 h2:m2
acl aclname port 80 70 21 ... #定義端口
acl aclname port 0-1024 ... #定義端口的范圍
acl aclname myport 3128 ... # (local socket TCP port)
acl aclname proto HTTP FTP ...
acl aclname method GET POST ...
acl aclname browser [-i] regexp ... #過濾瀏覽器類型
# 這個(gè)選項(xiàng)會檢查HTTP報(bào)頭中的User-Agent選項(xiàng)
acl aclname referer_regex [-i] regexp ...
#正則表達(dá)式匹配HTTP報(bào)頭中的Referer選項(xiàng)
acl aclname maxconn number
#每個(gè)IP的最大鏈接數(shù)
二、基于ACL網(wǎng)頁內(nèi)容過濾
acl aclname url_regex [-i] ^http:// ... # 匹配整個(gè)url地址
acl aclname urlpath_regex [-i] \.gif$ ... #匹配url中的路徑
acl sexpath urlpath_regex "/usr/local/squid/etc/sex_path.txt"
acl sex url_regex "/usr/local/squid/etc/sex_tab.txt"
至於sex_path.txt的內(nèi)容列舉如下:
sex
fuck
而sex_tab.txt的內(nèi)容列舉如下:(注意在網(wǎng)址之前須使用^)
^
http://069.cc
^
http://0sex.com
^
http://www.playboy.com
http_access allow manager localhost
#設(shè)定色情防治
http_access deny sexpath
http_access deny sex
#設(shè)定中可存取proxy
http_access allow school
http_access deny manager
# Deny requests to unknown ports
http_access deny !Safe_ports
# Deny CONNECT to other than SSL ports
http_access deny CONNECT !SSL_ports
….
http_access deny all
三、透明代理
要在一個(gè)網(wǎng)段的每一臺計(jì)算機(jī)上都設(shè)置代理很不方便,所以可以利用NAT和Squid來實(shí)現(xiàn)透明代理功能。
實(shí)驗(yàn)要求:
Client1訪問Server1的HTTP服務(wù),默認(rèn)訪問80端口,在服務(wù)器端通過iptables將訪問到80端口的包重定向到3128端口(Squid服務(wù)監(jiān)聽的端口)。這樣對于客戶端來說就完全意識不到有代理服務(wù)器的存在。
實(shí)驗(yàn)環(huán)境:
Client1 :
OS:Red Hat Enterprise Linux 5 update 4
Network:eth0 192.168.242.2/24
Gateway:192.168.242.3
Server1(Squid Server,HTTP Server):
OS:Red Hat Enterprise Linux 5 update 4
Network:eth0 10.66.5.144/24;eth1 192.168.242.3/24
實(shí)驗(yàn)步驟:
客戶端:
1. 配置客戶端的Gateway,設(shè)置為192.168.242.3,重啟network服務(wù)使之生效。
#vi /etc/sysconfig/network-scripts/ifconfig-eth0
...
GATEWAY=192.168.242.3
...
#service network restart
2. 客戶端的DNS服務(wù)器一定要指向正確的地址。
#vi /etc/resolv.conf
generated by /sbin/dhclient-script
search redhat.com
nameserver 66.187.233.210
nameserver 209.132.183.2
服務(wù)器:
1. 編輯squid.conf文件,配置合理的acl,使客戶端不能訪問。在http_port選項(xiàng)后加transparent參數(shù),使squid支持透明代理。
#vi /etc/squid/squid.conf
...
acl localnet src 192.168.242.0/24
...
http_access deny localnet
...
http_port 3128 transparent
2. 配置防火墻規(guī)則,將訪問到80端口的包重定向到3128端口;為了能使內(nèi)網(wǎng)IP訪問互聯(lián)網(wǎng),對私網(wǎng)IP做SNAT。
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.66.5.144
//對私網(wǎng)IP做SNAT
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
//DNAT
測試
在客戶端訪問
http://g.cn
,若出現(xiàn)Access Deny,則說明實(shí)驗(yàn)成功;若出現(xiàn)其他問題,則實(shí)驗(yàn)失敗。
#elinks
http://g.cn
實(shí)驗(yàn)成功!
更多信息,可以參考/etc/squid/squid.conf文件中的注釋
本文來自ChinaUnix博客,如果查看原文請點(diǎn):
http://blog.chinaunix.net/u3/104843/showart_2098261.html
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2