Linux系统下防止 ARP 欺骗_绑定IP地址和MAC地址
一、约定
1、网关上已经对下面所带的机器作了绑定。网关IP:192.168.1.1 MAC:00:02:B3:38:08:62
2、要进行绑定的Linux主机IP:192.168.1.2 MAC:00:04:61:9A:8D:B2
二、绑定步骤
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)的记录标志已经改变,说明绑定成功。
三、添加信任的Windows主机(192.168.1.10)
1、Linux主机(192.168.1.2)上操作
[root@ftpsvr ~]# echo ’192.168.1.10 00:04:61:AE:09:14’ 〉〉 /etc/ip-mac
[root@ftpsvr ~]# arp -f /etc/ip-mac
2、Windows主机(192.168.1.10)上操作
1)清除ARP缓存
C:\Documents and Settings\Administrator〉arp -d
2)绑定Linux主机的IP和MAC地址
C:\Documents and Settings\Administrator〉arp -s 192.168.1.2 00-04-61-9A-8D-B2
你可以将上面2个步骤写在一个BAT(批处理)文件中,这样做的好处是,今后如果要增加其它机器的绑定,只需维护这个文件就可以了。例:
@echo off
arp -d
arp -s 192.168.1.2 00-04-61-9A-8D-B2
exit
注意:Linux和Widows上的MAC地址格式不同。Linux表示为:AA:AA:AA:AA:AA:AA,Windows表示为:AA-AA-AA-AA-AA-AA。