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

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

我们有 500 多台机器运行 Ubuntu。我注意到很多机器都存在 IP 地址冲突。在 Ubuntu 中是否可以识别 IP 地址冲突?

  • 查看输出这里
  • 这到底是什么意思?我所有 IP 地址的 MAC 地址都相同?

答案1

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

sudo apt-get install arp-scan

sudo arp-scan -I eth0 -l将显示 IP 地址,MAC地址和制造商网卡并且输出中的重复行也用 来标识自己(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}以限制输出(不要使用通配符,但常用表达如果您需要更多奇特的组合)。

答案2

除此之外arp-scan,守护进程ipwatchd在某些情况下可能会有用,对于通过搜索来到这里的其他人来说,值得在这个问题上提一下。

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

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

arp-scan能够检测整个网络的冲突。ipwatchd检测主人的IP 地址也可在其他地方使用。

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

答案3

好吧,这与 Ubuntu 主题相去甚远,但根据你的粘贴,我认为你需要查看你的网络配置。我知道在 Cisco 平台上,你可以实施 HSRP 来获得冗余的第 3 层接口。如果一个交换机在特定 VLAN 上发生故障,另一个交换机将成为替补。看到两个以上的 IP 地址使用相同的 mac 确实看起来很奇怪,但很可能是你的网络实施和配置的症状——无论配置是否正确。看到这么多只是一个危险信号。

Mac 的供应商部分直接指向思科系统,因此这些 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 中没有保留或拆分范围语句?希望对您有所帮助。

相关内容