随着网络技术在国内的蓬勃发展,宽带网在许多大楼和社区应运而生。但在享受各种多媒体信息的同时,有个问题经常困扰着网络管理员和用户,那就是宽带网络内分配的IP地址经常被盗用,授权用户用自己的IP地址在网络中产生冲突,无法进入网络。这种现象导致了网络管理的混乱,影响授权用户的利益,也对用网络流量来进行计费的宽带网带来较大的影响。
一、开放系统互联模型结构
要清楚IP地址盗用的方法,首先必须了解国际电联规定的开放系统互联模型(OSI)的结构层次。需要传输的数据在传输层被分割并重组为数据串(segment),然后在网络层加入源和目的IP地址,封装成包(packet),再在数据链路层附加数据链的帧头和帧尾,将数据包放进帧(frame)里,最后在物理层转换成以比特为单位的数据。所以,IP地址是网络层用来标识不同地点的逻辑地址,它的长度是32位;而在数据链路层则是用MAC(媒介存取控制)地址来标识网络节点的位置,它的长度是48位,它也是设备的物理地址。
二、盗用IP地址的几条途径
1. 修改静态IP地址
在修改TCP/IP协议属性配置时,使用的不是网络管理员分配的IP地址,而是已知的授权的IP地址。由于IP地址是一个逻辑地址,是一个需要用户设置的值,因此无法限制用户对于IP地址的静态修改,当盗用者修改IP地址后,也可以通过网关访问外网。
2. 成对地修改IP地址和MAC地址
为防止静态IP地址被修改,一般采用静态路由技术予以解决。针对静态路由技术,IP盗用技术又有了新的门路,即成对修改IP-MAC地址。MAC地址是设备的物理地址,对于我们常用的以太网来说,俗称为计算机网卡地址。每一个网卡的MAC地址在所有以太网设备中必须是唯一的,它由IEEE分配,是固化在网卡上的,一般不能随意改动。但是,目前的一些兼容网卡,其MAC地址可以使用网卡配置程序进行修改。如果将一台计算机的IP地址和 MAC地址都改为一台合法主机的IP地址和MAC地址,那静态路由技术就无能为力了。另外,对于那些MAC地址不能直接修改的网卡来说,高明的盗用者还可以采用软件的办法来修改MAC地址。
三、几种防止IP地址被盗的方法
1.锁定交换机端口
对于交换机的每一个以太网端口,采用MAC地址表(MAC-address-table)的方式对端口进行锁定。只有网络管理员在MAC地址表中指定的网卡的MAC地址才能通过该端口与网络连接,其他的网卡地址不能通过该端口访问网络。我们可以在计算机上先运行ping命令,然后用arp-a命令就可以看到网络用户相应的IP地址对应的MAC地址,这样就使MAC地址和物理顺序对应起来,使得一根网线、一个端口对应一个MAC地址。这种方法比较适合于单幢大楼的宽带用户,在每一层楼或每个单元放置一台交换机,对交换机的每一个以太网端口进行限定,让每个用户单独占用一个端口,如果有人盗用了IP地址也将无济于事。下面用一段程序,举例说明指定交换机的e0/9口对应MAC地址083c.0000.0002,只有这个MAC地址可以通过该端口访问网络。
Switch#config terminal
Switch(conf)#mac-address-table permanent 083c.0000.0002 e0/9
Switch(conf)#int e0/9
Switch(conf-if)#port secure max-mac-count1
Switch(conf-if)#exit
Switch(conf)#exit
2.应用ARP绑定IP地址和MAC地址
ARP(Address Resolution Protocol)即地址解析协议,这个协议是将IP地址与网络物理地址一一对应的协议。每台计算机的网卡的MAC地址都是唯一的。在三层交换机和路由器中有一张称为ARP的表,用来支持在IP地址和MAC地址之间的一一对应关系,它提供两者的相互转换,具体说就是将网络层地址解析为数据链路层的地址。
我们可以在ARP表里将合法用户的IP地址和网卡的MAC地址进行绑定。当有人盗用IP地址时,尽管盗用者修改了IP地址,但由于网卡的MAC地址和ARP表中对应的MAC地址不一致,那么也不能访问网络。以Cisco交换机为例,在Cisco Catalyst 5000网络交换机上,关于ARP表的设置和删除有以下几条命令:
Set arp [dynamic | static] {ip_addr hw_addr}( 设置动态或静态的ARP表);
ip_addr(IP地址),hw_addr(MAC地址);
Set arp static 20.89.21.1 00-80-1c-93-80-40(将将IP地址20.89.21.1和网卡MAC地址00-80-1c-93-80-40绑定);
Set arp static 20.89.21.3 00-00-00-00-00-00(对未用的IP进行绑定,将MAC地址设置为0);
Set arp agingtime seconds(设置ARP表的刷新时间,如Set arp agingtime 300);
show arp (用来显示ARP表的内容);
clear arp [dynamic | static] {ip_addr hw_addr}(清除ARP表中的内容)。
其他品牌的三层交换机也有类似的命令和功能,用其他交换机来构建宽带网络时,也可以采用这种设置ARP表的办法来防止盗用IP地址,以达到限制每个IP地址的流量和根据网络流量进行计费的目的。这种方法比较适合于社区的宽带用户,但它只能防止盗用者静态地修改IP地址。