如何在Ubuntu中识别和纠正IP地址冲突?


18

我们有超过500台运行Ubuntu的计算机。我注意到许多机器都有IP地址冲突。是否可以在Ubuntu中识别IP地址冲突?

  • 此处查看输出。
  • 实际上是什么意思?我为所有IP地址获得相同的MAC地址吗?

这是怎么发生的。您不使用dhcp吗?
user606723 2011年

好问题。也许您应该提交愿望清单错误以寻求解决方案?
Jo-Erlend Schinstad 2011年

Pastebin链接已死。
凯文·鲍文

Answers:


29

您可以使用arp-scan找到它们:

sudo apt-get install arp-scan

sudo arp-scan -I eth0 -l会显示IP地址,MAC地址NIC的制造商,并且输出中重复的行也以标识自己(DUP: 2)(其中2是第二次找到该IP地址eth0

一些使搜索更具体的选项:

  • 指定IP地址列表作为参数: sudo arp-scan -I eth0 192.168.1.1 192.168.1.2 192.168.1.3
  • 指定网络/位: sudo arp-scan -I eth0 192.168.1.0/24
  • 指定网络:网络掩码: sudo arp-scan -I eth0 192.168.1.0:255.255.255.0
  • 指定地址范围: sudo arp-scan -I eth0 192.168.1.3-192.168.1.27
  • 从文件中读取IP地址列表: sudo arp-scan -I eth0 --file=ip-address-list.txt
  • sudo arp-fingerprint -o "--interface=eth0 --numeric" 192.168.1.111 显示IP地址,二进制指纹字符串以及与此指纹匹配的已知系统的列表: 192.168.1.111 01000100000 Linux 2.2, 2.4, 2.6

您可以添加|grep {part.of.ip.address}以限制输出(如果需要更多的外来组合,请不要使用通配符,而可以使用正则表达式)。


不要忘记,您可以使用grep过滤掉重复项。=)
user606723 2011年

是的,我的回答是这样的,但是khartick说,他在arp扫描后面放了一个| grep后,他得到了0个结果(所以我再次删除了它;))
Rinzwind 2011年

请看@更新。
karthick87

2

除之外arp-scan,该守护程序ipwatchd在某些情况下可能有用,并且值得其他人通过搜索来到此问题时提及。

IPwatchD是一个简单的守护程序,它分析所有传入的ARP数据包以检测IP冲突。

也可以将其配置为在检测到冲突时运行用户脚本。

arp-scan能够检测整个网络上的冲突。ipwatchd还检测何时在其他地方使用了主机的 IP地址。

顺便说一句,ARP对于此任务很有用,因为它使用发送到所有主机的广播流量,而许多其他流量仅路由到预期的接收者(在MAC级别)。


0

好的,这与Ubuntu主题相去甚远,但是基于您的粘贴,我会说您需要查看网络配置。我知道在Cisco平台上,您可以实施HSRP以具有冗余的第3层接口。如果某个交换机针对特定VLAN失败,则另一交换机将成为备用交换机。在同一台Mac上看到两个以上的IP地址看起来确实很奇怪,但是很可能是网络实现和配置的症状-无论配置是否正确。看到这么多,对我来说只是个危险信号。

mac的供应商部分直接指向Cisco Systems,因此这些IP地址可能是基础架构,而不是Ubuntu盒子

 00-00-0C   (hex)        CISCO SYSTEMS, INC.
 00000C     (base 16)    CISCO SYSTEMS, INC.
                         170 WEST TASMAN DRIVE
                         SAN JOSE CA 95134-1706
                         UNITED STATES

您是否考虑过在DHCP作用域内使用静态IP,而在dhcpd中没有保留或破坏范围语句?希望能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.