配置Squid代理服务器基于Mac地址过滤

时间:2019-05-19 01:25:45  来源:igfitidea点击:

基于mac的过滤对于使用DHCP为系统分配IP地址的网络是有用的。
我们知道MAC是硬编码在NIC上,不能改变,但由DHCP分配的IP地址可能会在下一次分配IP时改变。
本教程将如何配置基于mac地址过滤的Squid代理服务器。

Squid配置文件 /etc/squid/squid.conf中需要添加ACL规则 。
记住Squid总是先应用从上到下的匹配规则,然后忽略其他匹配规则

1。阻止MAC地址访问所有网站

以下配置将阻止MAC地址为01:23:45:AB:CD:EF的系统访问所有站点。
SquidACL规则:

acl pcmac1 arp 01:23:45:AB:CD:EF
http_access deny pcmac1

2. 阻止单个MAC地址访问单个站点

以下配置将阻止MAC地址01:23:45:AB:CD:EF的系统进入www.example.com站点。
SquidACL规则:

acl blocksite1 dstdomain www.example.com
acl pcmac1 arp 01:23:45:AB:CD:EF
http_access deny blocksite1 pcmac1

3. 阻止多个MAC地址访问所有网站

下面的配置将阻止具有MAC地址01:23:45:AB:CD:EF和AB:CD:EF:01:23:45的系统到所有站点。
MAC地址列表

cat /etc/squid/mac-addrs.lst

01:23:45:AB:CD:EF
AB:CD:EF:01:23:45

SquidACL规则:

acl pcmacs arp "/etc/squid/mac-addrs.lst"
http_access deny pcmacs

4. 阻止多个MAC地址访问单一网站

以下配置将阻止MAC地址为01:23:45:AB:CD:EF和AB:CD:EF:01:23:45的系统访问www.example.com。
MAC地址列表

cat /etc/squid/mac-addrs.lst

01:23:45:AB:CD:EF
AB:CD:EF:01:23:45

SquidACL规则:

acl blocksite1 dstdomain www.example.com
acl pcmacs arp "/etc/squid/mac-addrs.lst"
http_access deny blocksite1 pcmacs

5.允许单个MAC地址访问特定站点

以下配置将允许拥有MAC地址01:23:45:AB:CD:EF系统访问www.example.com,并拒绝访问其他网站。

SquidACL规则:

acl pcmac1 arp 01:23:45:AB:CD:EF
acl allowsite1 dstdomain www.example.in
http_access allow allowsite1 pcmac1
http_access deny pcmac1

6. 允许单个MAC地址系统访问多个站点

以下配置将允许MAC地址01:23:45:AB:CD:EF系统访问/etc/squid/allowsites.lst中添加的所有站点,并拒绝访问其他网站。
允许网站列表

cat /etc/squid/allowsites.lst

www.google.co.in
yahoo.com
in.yahoo.com

SquidACL规则:

acl pcmac1 arp 01:23:45:AB:CD:EF
acl allowsite1 dstdomain "/etc/squid/allowsites.lst"
http_access allow allowsite1 pcmac1
http_access deny pcmac1

7. 允许多个MAC地址访问特定站点

以下配置将允许系统具有MAC地址01:23:45:AB:CD:EF和AB:CD:EF:01:23:45的访问www.example.com的,并拒绝其他网站。
MAC地址列表

cat /etc/squid/mac-addrs.lst

01:23:45:AB:CD:EF
AB:CD:EF:01:23:45

SquidACL规则:

acl blocksite1 dstdomain www.example.com
acl pcmacs arp "/etc/squid/mac-addrs.lst"
http_access allow blocksite1 pcmacs
http_access deny pcmacs

8. 允许多个MAC地址访问多个站点

MAC地址列表

cat /etc/squid/mac-addrs.lst

01:23:45:AB:CD:EF
AB:CD:EF:01:23:45

允许站点列表

cat /etc/squid/allowsites.lst

www.google.co.in
yahoo.com
in.yahoo.com

SquidACL规则:

acl pcmacs arp "/etc/squid/mac-addrs.lst"
acl allowsites dstdomain "/etc/squid/allowsites.lst"
http_access allow allowsites pcmacs
http_access deny pcmacs