方法一:
首先安装arptables:
sudo apt-get install arptables
然后定义规则:
sudo arptables -A INPUT --src-mac ! 网关物理地址 -j DROP
sudo arptables -A INPUT -s ! 网关IP -j DROP
sudo arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
不过这样就有一点不好,局域网内的资源不能用!
sudo arptables -F
当然我们可以做个脚本,每次开机的时候自动运行!~sudo gedit /etc/init.d/arptables,内容如下:
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
arptables -A INPUT --src-mac ! 网关物理地址 -j DROP
arptables -A INPUT -s ! 网关IP -j DROP
arptables -A OUTPUT --destination-mac ff:ff:ff:ff:ff:ff -j ACCEPT
然后给arptables加个execution的属性,
sudo chmod 755 /etc/init.d/arptables
再把arptables设置自动运行,
sudo update-rc.d arptables start 99 S .
用sysv-rc-conf直接设置

方法二:
1、先使用arp和 arp -a查看一下当前ARP缓存列表
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.145 ether 00:13:20:E9:11:04 C eth0
192.168.1.1 ether 00:02:B3:38:08:62 C eth0
说明:
Address:主机的IP地址
Hwtype:主机的硬件类型
Hwaddress:主机的硬件地址
Flags Mask:记录标志,”C”表示arp高速缓存中的条目,”M”表示静态的arp条目。
[root@ftpsvr ~]# arp -a
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:16:76:22:23:86 [ether] on eth0
2、新建一个静态的mac–>ip对应表文件:ip-mac,将要绑定的IP和MAC 地下写入此文件,格式为 ip mac。
[root@ftpsvr ~]# echo ‘192.168.1.1 00:02:B3:38:08:62 ‘ > /etc/ip-mac
[root@ftpsvr ~]# more /etc/ip-mac
192.168.1.1 00:02:B3:38:08:62
3、设置开机自动绑定
[root@ftpsvr ~]# echo ‘arp -f /etc/ip-mac ‘ >> /etc/rc.d/rc.local
4、手动执行一下绑定
[root@ftpsvr ~]# arp -f /etc/ip-mac
5、确认绑定是否成功
[root@ftpsvr ~]# arp
Address HWtype HWaddress Flags Mask Iface
192.168.0.205 ether 00:02:B3:A7:85:48 C eth0
192.168.1.234 ether 00:04:61:AE:11:2B C eth0
192.168.1.1 ether 00:02:B3:38:08:62 CM eth0
[root@ftpsvr ~]# arp -a
? (192.168.0.205) at 00:02:B3:A7:85:48 [ether] on eth0
? (192.168.1.234) at 00:04:61:AE:11:2B [ether] on eth0
? (192.168.1.1) at 00:02:B3:38:08:62 [ether] PERM on eth0
从绑定前后的ARP缓存列表中,可以看到网关(192.168.1.1)的记录标志已经改变,说明绑定成功。