故障现象
在笔者管理的局域网中,有部分用户反映自己分配的IP地址被他人盗用,登录网络时出现IP地址冲突的警告提示,不能正常上网。
诊断过程
IP地址是Internet/Intranet网上主机通信的逻辑地址,由用户手动设置或系统自动分配,若有两台主机IP地址相同,则两台主机相互报警,会造成应用混乱。在局域网中,有很多主机上网,该如何有效控制IP地址避免盗用呢?
笔者首先考虑采用VLAN技术,可控制一段IP地址在某一VLAN中使用,而在其他VLAN中无效。但在同一VLAN的有效IP地址范围内,仍然会出现IP地址盗用现象。
另外就是考虑利用交换机记录上网的计算机网卡MAC地址的功能,从盗用IP地址的MAC地址追踪其客户机上联交换机的端口位置,然后禁止此端口的使用,从而彻底根治IP地址盗用事件。具体解决方法如下:
(1)建立合法的客户机IP-MAC对应数据库。
(2)利用SNMP(Simple Network Management Protocol,简单网络协议)定期从路由器中读取mib库地址(以1.3.6.1.2.1.3.1.1.2为例)中的IP-MAC表,示例如下(IP地址211.158.162.1对应的MAC地址为08 00 02 1A 81 C3)。
1.3.6.1.2.1.3.1.1.2.129.1.211.158.162.1=08
00
02
1A
81
C3
1.3.6.1.2.1.3.1.1.2.129.1.211.158.162.2=00
10
4B
04
B8
1A
1.3.6.1.2.1.3.1.1.2.129.1.211.158.162.3=00
10
4B
04
B8
A5
1.3.6.1.2.1.3.1.1.2.129.1.211.158.162.5=00
10
4B
0D
71
08
1.3.6.1.2.1.3.1.1.2.129.1.211.158.162.12=00
10
4B
0D
70
CE
依照标准数据库,检查是否有新的MAC地址或IP-MAC不对应的MAC地址。若有,则执行下一步。
(3)在交换机上读取mib库地址(以1.3.6.1.4.1.43.10.9.5.1.6.1为例)中的MAC地址表。下面是某台交换机记录的部分下联口网卡MAC地址表,第2、4、6口分别上联1台主机,第8口上联3台主机。
1.3.6.1.4.1.43.10.9.5.1.6.1.2.1=00
80
C8
78
53
8C
1.3.6.1.4.1.43.10.9.5.1.6.1.4.1=00
80
C8
E3
24
45
1.3.6.1.4.1.43.10.9.5.1.6.1.8.1=00
00
21
E7
00
9E
1.3.6.1.4.1.43.10.9.5.1.6.1.8.2=00
80
C8
E3
3D
52
1.3.6.1.4.1.43.10.9.5.1.6.1.8.3=00
00
21
E5
05
3F
1.3.6.1.4.1.43.10.9.5.1.6.1.16.1=00
80
C8
E3
58
60
找出盗用IP地址的MAC地址出自哪台交换机的哪个端口。
(4)网管确认后,禁止此交换机端口的使用。
另外,可以简化以上步骤,将上述第三步,设计成CGI公共网关序,根据用户反映的盗用IP地址或MAC地址,在Web网页上输入此地址,调用MAC定位的CGI程序,就可以返回该MAC地址上联交换机端口的位置。
排除心得
在网络管理中,IP地址盗用现象时有发生,不仅对网络的正常使用造成影响,同时由于被盗用的IP地址往往具有较高的权限,因而也对用户造成了经济上的损失和潜在的安全隐患。
为了防止IP地址被盗用,针对不同应用环境,可以采取不同方法:在代理服务器端分配IP地址时,可以把IP地址与网卡地址进行捆绑;对于动态分配IP地址,可以利用DHCP服务器来绑定用户网卡MAC地址和IP地址,然后再根据不同IP地址设定权限;对于静态IP地址,如果使用三层交换机,可以在交换机的每个端口上进行IP地址的限定,如果有用户更改了自己的IP地址,那么他就无法连通网络。