1. 安装arptables
arptables的下载页面是:http://sourceforge.net/projects/ebtables/files/
0.0.3.3版本的下载链接:http://downloads.sourceforge.net/projec ... 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
代码: 全选
/usr/local/sbin/arptables -A INPUT -i eth0 --src-mac ! 00:24:51:E9:C7:10 -j DROP
把以上策略写入配置文件:
/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
代码: 全选
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]
代码: 全选
*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
代码: 全选
*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版本。