当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 原创:在linux上用arptables配置arp防火墙
帖子发表于 : 2009-08-11 11:47 

注册: 2008-04-08 13:24
帖子: 225
送出感谢: 0 次
接收感谢: 0 次
在linux上可以用arptables配置arp防火墙,网上google了一下,关于arptables的文章没几篇,都是抄来抄去,这两天把arptables研究了一把,发现还是很简单的,把配置过程给大家共享一下。实验环境是rhel5u1 32位,在ubuntu上同样适用。

1. 安装arptables
arptables的下载页面是:http://sourceforge.net/projects/ebtables/files/
0.0.3.3版本的下载链接:http://downloads.sourceforge.net/project/ebtables/arptables/arptables-v0.0.3/arptables-v0.0.3-3.tar.gz

下载以后安装:
tar zxvf arptables-v0.0.3-3.tar.gz
cd arptables-v0.0.3-3/
make
make install

生成的命令是/usr/local/sbin/arptables、/usr/local/sbin/arptables-save、/usr/local /sbin/arptables-restore,系统启动脚本/etc/rc.d/init.d/arptables,这个脚本读的配置文件必须放在 /etc/sysconfig/arptables里。

打开arptables服务:
chkconfig arptables on


2. 配置arptables
linux服务器的网关MAC是00:24:51:E9:C7:10,同网段另一台服务器192.168.1.10(主机名是nh-blade-67)的MAC地址是00:17:A4:A8:68:11。

用命令行配置arp防火墙:
在eth0上如果源IP是192.168.1.10,并且源MAC不是00:17:A4:A8:68:11的话,就禁止这个数据桢。
代码:
/usr/local/sbin/arptables -A INPUT -i eth0 --src-ip 192.168.1.10 --src-mac ! 00:17:A4:A8:68:11 -j DROP


在eth0上如果源MAC不是00:24:51:E9:C7:10(网关的MAC地址),就禁止这个数据桢,这一条针对外网过来的访问。
代码:
/usr/local/sbin/arptables -A INPUT -i eth0 --src-mac ! 00:24:51:E9:C7:10 -j DROP


注意:添加arp防火墙策略的次序不能错,针对网关MAC地址的语句必须放在最后,否则本网段IP的访问策略不能生效。

把以上策略写入配置文件:
/usr/local/sbin/arptables-save > /etc/sysconfig/arptables

/etc/sysconfig/arptables文件的内容:
代码:
*filter
:INPUT ACCEPT
:OUTPUT ACCEPT
:FORWARD ACCEPT
-A INPUT -j DROP -i eth0 -o any -s nh-blade-67 ! --src-mac 00:17:a4:a8:68:11
-A INPUT -j DROP -i eth0 -o any ! --src-mac 00:24:51:e9:c7:10


用命令/etc/init.d/arptables restart重启arptables的时候提示出错:
代码:
Stopping Arp filtering (arptables):                        [  OK  ]
Starting Arp filtering (arptables): arptables v0.0.3-3: Can't use -o with INPUT

Try `arptables -h' or 'arptables --help' for more information.
ERROR(line 5):
                                                           [FAILED]


修改/etc/sysconfig/arptables文件以后的内容:
代码:
*filter
:INPUT ACCEPT
:OUTPUT ACCEPT
:FORWARD ACCEPT
-A INPUT -j DROP -i eth0 any -s nh-blade-67 ! --src-mac 00:17:a4:a8:68:11
-A INPUT -j DROP -i eth0 any ! --src-mac 00:24:51:e9:c7:10


再重启arp防火墙就没有错误。查看arp防火墙状态/etc/init.d/arptables status:
代码:
*filter
:INPUT ACCEPT
:OUTPUT ACCEPT
:FORWARD ACCEPT
-A INPUT -j DROP -i eth0 -o any -s nh-blade-67 ! --src-mac 00:17:a4:a8:68:11
-A INPUT -j DROP -i eth0 -o any ! --src-mac 00:24:51:e9:c7:10


注:
RHEL5U1自带arptables的版本是0.0.8,命令里不能带--source-ip参数,这个版本不是sourceforge.net上发布的,ubuntu 9.04自带的是0.0.3.3版本。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 原创:在linux上用arptables配置arp防火墙
帖子发表于 : 2009-08-12 11:30 

注册: 2007-08-27 17:31
帖子: 445
送出感谢: 0 次
接收感谢: 1
支持下吧,iptalbes无法过滤L2层的ARP,arptables算是一个不错的补充!


_________________
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 原创:在linux上用arptables配置arp防火墙
帖子发表于 : 2009-08-12 11:32 

注册: 2008-04-08 13:24
帖子: 225
送出感谢: 0 次
接收感谢: 0 次
我用了arptables以后,觉得这个东西非常实用,在服务器上应该iptables + arptables合用。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 原创:在linux上用arptables配置arp防火墙
帖子发表于 : 2009-08-12 11:35 

注册: 2007-08-27 17:31
帖子: 445
送出感谢: 0 次
接收感谢: 1
恩,毕竟现在内网的ARP攻击还是挺泛滥地,挺烦的!


_________________
你能学会世界上所有语言来叫一种鸟的名字,当你知道所有这些名字叫法后,却对这种鸟一无所知~
理查德-费曼


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译