(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匹配。
不过,由于大部分人使用的都是Squid代理服务器,所以能够一步到位当然最好。
一、使用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) L