灰儿 发表于 2009-2-5 17:53:49

Linux下绑定IP和MAC地址,防止ARP欺骗

一、应用背景
            由于最近网上新出现一种ARP欺骗病毒,主要表现为:
            中病毒的机器不仅影响自身,同时也会影响同网段的其它机器,将其它机器的HTTP数据包里加入病毒代码。这种病毒危害非常大!即使你机器的安全性做得很好,可是没办法保证同网段的其它机器安全没有问题!
            解决办法:在网关和本机上双向绑定IP和MAC地址,以防止ARP欺骗。
            二、约定
            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缓存列表
            # 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条目。
            # arp -a
            ? (192.168.1.234) at 00:04:61:AE:11:2B on eth0
            ? (192.168.1.1) at 00:16:76:22:23:86 on eth0
            2、新建一个静态的mac-->ip对应表文件:ip-mac,将要绑定的IP和MAC地下写入此文件,格式为 ip mac。
            # echo '192.168.1.1 00:02:B3:38:08:62 ' > /etc/ip-mac
            # more /etc/ip-mac
            192.168.1.1 00:02:B3:38:08:62
            3、设置开机自动绑定
            # echo 'arp -f /etc/ip-mac ' >> /etc/rc.d/rc.local
            4、手动执行一下绑定
            # arp -f /etc/ip-mac
            5、确认绑定是否成功
            # 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
            # arp -a
            ? (192.168.0.205) at 00:02:B3:A7:85:48 on eth0
            ? (192.168.1.234) at 00:04:61:AE:11:2B on eth0
            ? (192.168.1.1) at 00:02:B3:38:08:62 PERM on eth0
            从绑定前后的ARP缓存列表中,可以看到网关(192.168.1.1)的记录标志已经改变,说明绑定成功。
            四、添加信任的Windows主机(192.168.1.10)
            1、Linux主机(192.168.1.2)上操作
            # echo '192.168.1.10 00:04:61:AE:09:14' >> /etc/ip-mac
            # 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

[ 本帖最后由 灰儿 于 2009-2-5 17:55 编辑 ]
页: [1]
查看完整版本: Linux下绑定IP和MAC地址,防止ARP欺骗