(1) Squid的網卡物理地址及時間配置指南
轉自:http://www.linuxforum.net/forum/printthread.php?Cat=&Board=proxy&main=293724&type=thread
這段時間詢問關於使用代理限制客戶訪問的時間、mac地址的問題比較多,我把利用Squid實現的方法簡單的介紹一下。
由於DHCP的軟弱,我們要控制客戶上網,無法通過IP地址限制,因此,根據客戶的網卡物理地址(MAC)控制,是一個不錯的辦法。
據我所知,將客戶與其mac地址匹配至少有四種辦法,交換器連接埠、iptables的mac擴充、靜態arp和Squid的arp匹配。
不過,由於大部分人使用的都是SquidProxy 伺服器,所以能夠一步到位當然最好。
一、使用Squid進行mac匹配:
1、要讓Squid匹配mac地址,應當自己編譯Squid,可以到這裡下載,最新穩定版是2.4.STABLE4。
2、解開tar.gz檔案,進入相應目錄(通常是tar.gz檔案所在目錄的squid-2.4.STABLE4子目錄),執行
./configure --prefix=/app/squid //這是我的squid目錄
--enable-arp-acl //允許arp控制,即匹配mac地址
--enable-err-language=Simplify_Chinese //錯誤資訊使用簡體中文
--enable-linux-netfilter //允許透明代理
大家可以根據自己的情況選用,用./configure --help|more可以查看詳細資料
3、make; make install
4、修改/squid_path/etc/squid.conf,這裡是預設的設定檔,也可以在啟動squid時指定,如squid -f /etc/squid.conf
5、其他選項可以使用預設,我們具體看看關於mac和時間的控制選項,下面是簡單的例子。
# 定義物理地址分別為00:02:01:50:bb:53和00:02:01:50:bb:5c 的兩個客戶
acl accept_group arp 00:02:01:50:bb:53 00:02:01:50:bb:5c ...
acl all src 0/0
# 允許accept_group組的訪問
http_access allow accept_group
# 禁止其他未經授權的訪問
http_access deny all
二、訪問時間的控制
關於時間段的設定,可以參見squid.conf中的說明,具體是S - Sunday, M - Monday, T - Tuesday, W - Wednesday, H - Thursday, F - Friday A - Saturday,如果七天都允許,也可以不寫。時間格式是H1:M1-H2:M2,要求是前面的要小於後面的。
# 定義一個普通的訪問時間段,是每周星期一到星期五的上午八點到下午五點
acl accept_time time MTWHF 8:00-17:00
# 定義accept_group組的訪問時間,非允許時間不許訪問
http_access deny accept_group !accept_time
# 否則就允許訪問
http_access allow accept_group
#注意:不能把第二句allow放在前面,否則時間就無效了
在這個版本中,有一個選項 visible_hostname 必須填寫,用你自己的IP地址或主機名稱都可以,好像以前版本沒有。
(2) Squid權威指南
http://blog.s135.com/book/squid/
(3) Linux代理服務器實現共享上網
http://wenku.baidu.com/view/664d603043323968011c92b8.html