Linux 下出现 IP 冲突,是不会像 Windows 那样,在右下角弹出冲突提示的。博主就出过一次糗,记得当时是在 VM 虚拟机里面安装了 4 个 redhat,测试 LVS 集群。结果发现其中一台 RealServer 老是掉线,重启 network 服务后能正常几分钟,然后又掉线了。。。
4 个 Redhat 都是 VM 克隆出来的、完全一致的系统,仅其中一台出问题,所以博主觉得匪夷所思!直到,后来我的办公电脑(宿主)网线直接没信号了,才知道原因:
原来,是那台频繁掉线的虚拟系统和其他部门的办公电脑出现了 IP 冲突,由于 Linux 不会出现冲突提示,作为“始作俑者”的我依然蒙在鼓里!桌面运维那边兄弟,估计暗地里把造成 IP 冲突的人骂了个狗血淋头了(后来才知道是我)。。。网络每隔几分钟掉线的原因是因为,那边的用户发现 IP 冲突后,不能上网,然后重启电脑,就把我给冲下来了!而我重启 network 服务又把她给冲下去了。。。我了个去,恶性循环啊!哈哈!!后来,桌面运维兄弟一时找不到冲突来源,就直接通过交换机查到了这个冲突 IP 的端口,然后把网线拔了,等“始作俑者”去找他。。。最后,发现这个人居然是我。。哈哈!
以上,就是博主以前经历的糗事了,拿来分享下,正好引出下面的查看 linux 系统 IP 冲突的教程。
在虚拟机里面直接配了和宿主一个段的 IP 地址,
你们都知道什么是 IP 地址,是吧?它们被分配给网络上的设备来代表它们。它们通过 DHCP 服务器分配并且会经常改变。现在有两种 IP 地址。动态的一种会经常改变(几天一次),而静态的就如它的名字那样是静态的,意味着它们不会改变。
有时这会引发一些冲突。当一个动态 IP 被分配了并且有另外一台网络设备已经拥有了相同的 IP。或者在相同网络子网上有多台分配 IP 的 DHCP 服务器。如果你有连通问题并且假设它是由于 IP 冲突造成的,那么你可以使用一个工具称作 arp-scan 来扫描它们。
这个工具会在本地网络发送 ARP(Address Resolution Protocol)(地址解析协议)包来收集地址。如果有多个 MAC 地址声称拥有相同的 IP 地址,那么这里就存在冲突。
要在 Ubuntu 或者 Debian 上安装 arp-scan 则输入:
1
|
sudo apt-get install arp-scan
|
对于 Fedora,CentOS 或者 RedHat:
1
|
sudo yum install arp-scan
|
要检测 IP 冲突,运行下面的命令:
1
|
sudo arp-scan –I eth0 -l
|
博主补充:redhat root 用户不需要前面的 sudo 命令了。
输出示例:
1
2
3
4
5
6
7
8
|
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 冲突了,因为它出现了两次。