操作系统

在Linux中发现IP地址冲突的方法

Jager · 5月4日 · 2014年 · · 4691次已读

Linux 下出现 IP 冲突,是不会像 Windows 那样,在右下角弹出冲突提示的。博主就出过一次糗,记得当时是在 VM 虚拟机里面安装了 4 个 redhat,测试 LVS 集群。结果发现其中一台 RealServer 老是掉线,重启 network 服务后能正常几分钟,然后又掉线了。。。

4 个 Redhat 都是 VM 克隆出来的、完全一致的系统,仅其中一台出问题,所以博主觉得匪夷所思!直到,后来我的办公电脑(宿主)网线直接没信号了,才知道原因:

原来,是那台频繁掉线的虚拟系统和其他部门的办公电脑出现了 IP 冲突,由于 Linux 不会出现冲突提示,作为“始作俑者”的我依然蒙在鼓里!桌面运维那边兄弟,估计暗地里把造成 IP 冲突的人骂了个狗血淋头了(后来才知道是我)。。。网络每隔几分钟掉线的原因是因为,那边的用户发现 IP 冲突后,不能上网,然后重启电脑,就把我给冲下来了!而我重启 network 服务又把她给冲下去了。。。我了个去,恶性循环啊!哈哈!!后来,桌面运维兄弟一时找不到冲突来源,就直接通过交换机查到了这个冲突 IP 的端口,然后把网线拔了,等“始作俑者”去找他。。。最后,发现这个人居然是我。。哈哈!

以上,就是博主以前经历的糗事了,拿来分享下,正好引出下面的查看 linux 系统 IP 冲突的教程。在Linux中发现IP地址冲突的方法

在虚拟机里面直接配了和宿主一个段的 IP 地址,

你们都知道什么是 IP 地址,是吧?它们被分配给网络上的设备来代表它们。它们通过 DHCP 服务器分配并且会经常改变。现在有两种 IP 地址。动态的一种会经常改变(几天一次),而静态的就如它的名字那样是静态的,意味着它们不会改变。

有时这会引发一些冲突。当一个动态 IP 被分配了并且有另外一台网络设备已经拥有了相同的 IP。或者在相同网络子网上有多台分配 IP 的 DHCP 服务器。如果你有连通问题并且假设它是由于 IP 冲突造成的,那么你可以使用一个工具称作 arp-scan 来扫描它们。

这个工具会在本地网络发送 ARP(Address Resolution Protocol)(地址解析协议)包来收集地址。如果有多个 MAC 地址声称拥有相同的 IP 地址,那么这里就存在冲突。

要在 Ubuntu 或者 Debian 上安装 arp-scan 则输入:

sudo apt-get install arp-scan

对于 Fedora,CentOS 或者 RedHat:

sudo yum install arp-scan

要检测 IP 冲突,运行下面的命令:

sudo arp-scan –I eth0 -l

博主补充:redhat root 用户不需要前面的 sudo 命令了。

输出示例:

192.168.1.10   00:1b:a9:63:a2:4c       BROTHER INDUSTRIES, LTD.
192.168.1.30   00:1e:8f:58:ec:49       CANON INC.
192.168.1.33   00:25:4b:1b:10:20       Apple, Inc
192.168.1.37   10:9a:dd:55:d7:95       Apple Inc
192.168.1.38   20:c9:d0:27:8d:56       (Unknown)
192.168.1.39   d4:85:64:4d:35:be       Hewlett Packard
192.168.1.39   00:0b:46:e4:8e:6d       Cisco (DUP: 2)
192.168.1.40   90:2b:34:18:59:c0       (Unknown)

在本例中,192.168.1.39 这个 IP 冲突了,因为它出现了两次。


via: http://www.unixmen.com/find-ip-conflicts-linux/

译者:geekpi 校对:wxy

8 条回应
  1. 微历史 2014-5-4 · 12:08

    木有用过

  2. 噶里味美食网 2014-5-4 · 16:43

    这个发生冲突的可能性不大

    • avatar
      Jager 2014-5-4 · 20:47

      确实不大,我发生过一次~很糗。

  3. 阿桑小僧 2014-5-5 · 18:56

    有段日子木有来了 必须证明小僧还活着 [熊猫]

    • avatar
      Jager博客 2014-5-5 · 21:41

      哈哈,看来你要爆发了。不在沉默中...就在沉默中爆发。

  4. PHP二次开发 2014-5-5 · 21:08

    win经常遇到,linux还真没遇到过这种情况。

  5. leiboy 2014-5-14 · 19:13

    一直用bsd, [嘻嘻]