共享網(wǎng)絡(luò)
加快訪問(wèn)速度,節(jié)約通信帶寬
防止內(nèi)部主機(jī)受到攻擊
限制用戶(hù)訪問(wèn),完善網(wǎng)絡(luò)管理
代理服務(wù)器原理
代理服務(wù)器接受到請(qǐng)求后,首先與訪問(wèn)控制列表中的訪問(wèn)規(guī)則相對(duì)照,如果滿(mǎn)足規(guī)則,則在緩存中查找是否存在需要的信息。
客戶(hù)端B向代理服務(wù)器提出相同的請(qǐng)求。代理服務(wù)器也首先與訪問(wèn)控制列表中的訪問(wèn)規(guī)則相對(duì)照。如果滿(mǎn)足規(guī)則,則將緩存中的信息傳送給客戶(hù)端B
squid簡(jiǎn)介
訪問(wèn)控制清單和訪問(wèn)權(quán)限清單通過(guò)阻止特定的網(wǎng)絡(luò)連接來(lái)減少潛在的Internet非法連接,可以使用這些清單來(lái)確保內(nèi)部網(wǎng)的主機(jī)無(wú)法訪問(wèn)有威脅的或不適宜的站點(diǎn)。
以下是一些squid的基本配置參數(shù)解釋
http_port 3128 //設(shè)置監(jiān)聽(tīng)的IP與端口號(hào)
cache_mem 64 MB //設(shè)置內(nèi)存緩沖的大小
cache_dir ufs /var/spool/squid 2000 16 256 //設(shè)置硬盤(pán)緩沖大小
cache_effective_user squid //設(shè)置緩存的有效用戶(hù)
cache_effective_group squid //設(shè)置緩存的有效用戶(hù)組
dns_nameservers 192.168.0.254 //設(shè)置DNS服務(wù)器地址,一般可以不設(shè)置,默認(rèn)使用服務(wù)器自己設(shè)置的dns
cache_access_log /var/log/squid/access.log //設(shè)置訪問(wèn)日志文件
cache_log /var/log/squid/cache.log //設(shè)置緩存日志文件
visible_hostname 192.168.0.20 //設(shè)置squid主機(jī)名稱(chēng)
以上全局參數(shù)根據(jù)你自己的需要修改
其實(shí)linux下的服務(wù)器配置文件最好就是squid,它對(duì)每個(gè)參數(shù)都有解釋?zhuān)液芏嘤泻芏鄬?shí)例
Acl的訪問(wèn)控制列表
語(yǔ)法:acl 列表名稱(chēng) 列表類(lèi)型 [-i] 列表值
列表名稱(chēng):用于區(qū)分Squid的各個(gè)訪問(wèn)控制列表,任何兩個(gè)訪問(wèn)控制列表不能用相同的列表名。雖然列表名稱(chēng)可以隨便定義,但為了避免以后不知道這條列表是干什么用的,應(yīng)盡量使用有意義的名稱(chēng),如badurl、clientip和work time等。
列表類(lèi)型:是可被Squid識(shí)別的類(lèi)別。Squid支持的控制類(lèi)別很多,可以通過(guò)IP地址、主機(jī)名、MAC地址和用戶(hù)/密碼認(rèn)證等識(shí)別用戶(hù),也可以通過(guò)域名、域后綴、文件類(lèi)型、IP地址、端口和URL匹配等控制用戶(hù)的訪問(wèn),還可以使用時(shí)間區(qū)間對(duì)用戶(hù)進(jìn)行管理
-i選項(xiàng):表示忽略列表值的大小寫(xiě),否則Squid是區(qū)分大小寫(xiě)的。
列表值:針對(duì)不同的類(lèi)型,列表值的內(nèi)容是不同的。例如,對(duì)于類(lèi)型為src或dst,列表值的內(nèi)容是某臺(tái)主機(jī)的IP地址或子網(wǎng)地址;對(duì)于類(lèi)型為time,列表值的內(nèi)容是時(shí)間;對(duì)于類(lèi)型為srcdomain和dstdomain,列表值的內(nèi)容是DNS域名。
列表類(lèi)型和列表值,在配置文件中有很多例子
現(xiàn)在我們?nèi)タ纯?
現(xiàn)在我們開(kāi)始配置squid
默認(rèn)有一條http_access deny all ,在2500多行,squid配置文件的acl生效順序是從上到下,所以需要在這條前面寫(xiě)入允許語(yǔ)句
這個(gè)要注意,是squid服務(wù)器監(jiān)聽(tīng)的端口
大家搜索ACCESS CONTROLS
我們一般把允許語(yǔ)句寫(xiě)到這個(gè)位置
加入兩行,第一行是acl內(nèi)容,定義源是192.168.8.0 網(wǎng)段
第二行是允許全部的語(yǔ)句
然后重新啟動(dòng)squid
OK了~
在windows下使用代理服務(wù)器,開(kāi)IE,工具,inter選項(xiàng),連接,局域網(wǎng)設(shè)置
現(xiàn)在你client就訪問(wèn)你服務(wù)器能訪問(wèn)的所有網(wǎng)站了
##############MICHAEL分割線##################
下面可以自己加一些策略,讓squid按照我們的思路去工作
1、不允許192.168.8.24這個(gè)用戶(hù)使用squid
記住deny要在允許所有之前,不然就會(huì)失效
修改配置文件,一定要記住重新啟動(dòng)
直接就訪問(wèn)拒絕了
這里有實(shí)例的
192.168.1.10-192.168.1.20/255.255.255.0的意思就是定義源為一個(gè)范圍
src是源IP的意思
dst就是目標(biāo)IP的意思
dstdomain是目標(biāo)域名的意思
現(xiàn)在我們要192.168.8.24這個(gè)用戶(hù)可以訪問(wèn)其他網(wǎng)站,但是不能訪問(wèn)163.com
其他用戶(hù)的訪問(wèn)不受限制,大家有方法實(shí)現(xiàn)么?
這樣就可以了
意思是同時(shí)匹配list2和list3就deny掉
注意:
acl list2 src 192.168.8.24 后面不能加上/255.255.255.0,否則會(huì)導(dǎo)致其他IP也不能訪問(wèn)163.com
acl list3 dstdomain .163.com,不能忘記加上".",正是它指出以此域名結(jié)尾的所有主機(jī)都不可訪問(wèn),否則會(huì)導(dǎo)致不能訪問(wèn)163.com,而可以訪問(wèn)[url]www.163.com[/url]等哈~
[url]www.yahoo.com[/url]訪問(wèn)正常
[url]www.163.com[/url] 及news.163.com等163.com域名的網(wǎng)站禁止訪問(wèn)
[url]www.qq.com[/url]訪問(wèn)正常
看下其他客戶(hù)端192.168.8.25
正常~~~
##############MICHAEL分割線##################
可以禁止用戶(hù)通過(guò)網(wǎng)頁(yè)下載某些特殊的擴(kuò)展名字文件,如mp3,mp4
現(xiàn)在我們?nèi)ヌ砑硬呗?
重新啟動(dòng)squid
現(xiàn)在就不能下載了
##############MICHAEL分割線##################
最后一個(gè)常用功能:基于時(shí)間的控制
192.168.8.200每天13:00-17:00禁止上網(wǎng)
重啟服務(wù)后看下效果
哈~現(xiàn)在一個(gè)都不能訪問(wèn)了
還可以加星期幾,里面很多實(shí)例,大家自己看看吧
客戶(hù)端192.168.8.200周六周日下午13:00-17:00允許上網(wǎng)
OK~