共享網絡
加快訪問速度,節約通信帶寬
防止內部主機受到攻擊
限制用戶訪問,完善網絡管理
代理服務器原理
代理服務器接受到請求後,首先與訪問控制列表中的訪問規則相對照,如果滿足規則,則在緩存中查找是否存在需要的信息。
客戶端B向代理服務器提出相同的請求。代理服務器也首先與訪問控制列表中的訪問規則相對照。如果滿足規則,則將緩存中的信息傳送給客戶端B
squid簡介
訪問控制清單和訪問權限清單通過阻止特定的網絡連接來減少潛在的Internet非法連接,可以使用這些清單來確保內部網的主機無法訪問有威脅的或不適宜的站點。
以下是一些squid的基本配置參數解釋
http_port 3128 //設置監聽的IP與端口號
cache_mem 64 MB //設置內存緩沖的大小
cache_dir ufs /var/spool/squid 2000 16 256 //設置硬盤緩沖大小
cache_effective_user squid //設置緩存的有效用戶
cache_effective_group squid //設置緩存的有效用戶組
dns_nameservers 192.168.0.254 //設置DNS服務器地址,一般可以不設置,默認使用服務器自己設置的dns
cache_access_log /var/log/squid/access.log //設置訪問日志文件
cache_log /var/log/squid/cache.log //設置緩存日志文件
visible_hostname 192.168.0.20 //設置squid主機名稱
以上全局參數根據你自己的需要修改
其實linux下的服務器配置文件最好就是squid,它對每個參數都有解釋,而且很多有很多實例
Acl的訪問控制列表
語法:acl 列表名稱 列表類型 [-i] 列表值
列表名稱:用於區分Squid的各個訪問控制列表,任何兩個訪問控制列表不能用相同的列表名。雖然列表名稱可以隨便定義,但為了避免以後不知道這條列表是干什麼用的,應盡量使用有意義的名稱,如badurl、clientip和work time等。
列表類型:是可被Squid識別的類別。Squid支持的控制類別很多,可以通過IP地址、主機名、MAC地址和用戶/密碼認證等識別用戶,也可以通過域名、域後綴、文件類型、IP地址、端口和URL匹配等控制用戶的訪問,還可以使用時間區間對用戶進行管理
-i選項:表示忽略列表值的大小寫,否則Squid是區分大小寫的。
列表值:針對不同的類型,列表值的內容是不同的。例如,對於類型為src或dst,列表值的內容是某台主機的IP地址或子網地址;對於類型為time,列表值的內容是時間;對於類型為srcdomain和dstdomain,列表值的內容是DNS域名。
列表類型和列表值,在配置文件中有很多例子
現在我們去看看

現在我們開始配置squid
默認有一條http_access deny all ,在2500多行,squid配置文件的acl生效順序是從上到下,所以需要在這條前面寫入允許語句

這個要注意,是squid服務器監聽的端口

大家搜索ACCESS CONTROLS
我們一般把允許語句寫到這個位置

加入兩行,第一行是acl內容,定義源是192.168.8.0 網段
第二行是允許全部的語句

然後重新啟動squid

OK了~

在windows下使用代理服務器,開IE,工具,inter選項,連接,局域網設置

現在你client就訪問你服務器能訪問的所有網站了

##############MICHAEL分割線##################
下面可以自己加一些策略,讓squid按照我們的思路去工作
1、不允許192.168.8.24這個用戶使用squid
記住deny要在允許所有之前,不然就會失效

修改配置文件,一定要記住重新啟動

直接就訪問拒絕了

這裡有實例的

192.168.1.10-192.168.1.20/255.255.255.0的意思就是定義源為一個范圍
src是源IP的意思
dst就是目標IP的意思
dstdomain是目標域名的意思
現在我們要192.168.8.24這個用戶可以訪問其他網站,但是不能訪問163.com
其他用戶的訪問不受限制,大家有方法實現麼?
這樣就可以了

意思是同時匹配list2和list3就deny掉
注意:
acl list2 src 192.168.8.24 後面不能加上/255.255.255.0,否則會導致其他IP也不能訪問163.com
acl list3 dstdomain .163.com,不能忘記加上".",正是它指出以此域名結尾的所有主機都不可訪問,否則會導致不能訪問163.com,而可以訪問[url]www.163.com[/url]等哈~

[url]www.yahoo.com[/url]訪問正常

[url]www.163.com[/url] 及news.163.com等163.com域名的網站禁止訪問

[url]www.qq.com[/url]訪問正常

看下其他客戶端192.168.8.25

正常~~~
##############MICHAEL分割線##################
可以禁止用戶通過網頁下載某些特殊的擴展名字文件,如mp3,mp4

現在我們去添加策略

重新啟動squid

現在就不能下載了

##############MICHAEL分割線##################
最後一個常用功能:基於時間的控制
192.168.8.200每天13:00-17:00禁止上網

重啟服務後看下效果

哈~現在一個都不能訪問了
還可以加星期幾,裡面很多實例,大家自己看看吧

客戶端192.168.8.200周六周日下午13:00-17:00允許上網

OK~