返回首页
当前位置: 业务QQ964891849 > 开源技术 > shell >

Squid的匹配网卡MAC地址及控制访问时间的简短指南

时间:2010-05-13 17:09来源:未知 作者:百湖 点击:
为了便于您的学习,本站为您精选了以下的技术连接
这段时间询问关于使用代理限制客户访问的时间、mac地址的问题比较多,我把利用Squid实现的方法简单的介绍一下。 由于DHCP的软弱,我们要控制客户上网,无法通过IP地址限制,因此,
  

这段时间询问关于使用代理限制客户访问的时间、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地址或主机名都可以,好像以前版本没有。

 

这个仅仅是在一个subnet是可以的,假如在VLANs就有问题了,和代理在一个subnet就ok,其他subnet就完了;
这是因为通过了三层设备后,pc-mac随机变化引器的;

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
推荐内容