当前位置:职场发展 > Linux下IP地址冲突的检测及解决方案

Linux下IP地址冲突的检测及解决方案

  • 发布:2023-09-29 04:08

问题描述:
公司办公网络中的物理机A上安装了Linux系统(ip:192.168.9.120),上面部署了jenkins、redmine、svn程序。由于是在办公网络内,所以这台机器和我同事的电脑都在同一个网段。
突然有一天出现问题:有的同事无法通过SSH远程登录这台Linux系统机器,也无法登录jenkins/redmine/svn,但其他同事却可以正常使用。

后来发现是因为这台Linux机器的IP被别人占用了,是IP地址冲突导致的! !

检查IP地址是否冲突的方法如下:
第一种方法(arping):

只需要在同一网段(例如:129.168.9.200)的另一台Linux机器B上执行以下命令即可(本地无法arping自己的IP):

只需要在同一网段(例如:129.168.9.200)的另一台Linux机器B上执行以下命令(本地无法arping自己的IP):
[root@dev ~] # arping 192.168.9.120
ARPING 192.168.1.120 来自 192.168.9.200 eth0
来自 192.168.9.120 的单播回复 [40: F4:EC :76:79:C2] 3.084ms 192.168.9.120的回复[50:7b:9d:25:29:59:]0.817ms
unicast回复192.168.9.9.10 [50:7b:7b:9d:2 5:29:59:59:59 ] 0.810ms

.........

如果只检查到一个MAC地址,则说明A机在网络中的IP:192.168.9.120是唯一的

如果通过以上信息找到两个 MAC 地址,则说明网络中存在 MAC 地址为 40:F4:EC:76:79:C2 的主机,其 IP 地址与机器 A 相同。

此时可以通过ifconfig命令验证A机器。查到:A机的MAC地址为50:7B:9D:25:29:59。
我们可以使用局域网扫描软件找到MAC地址为40:F4:EC:76:79:C2的主机,并将其隔离或更改IP地址。
[root@redmine ~]# ifconfig
eth0 链接 encap:以太网 HWaddr 50:7B:9D:25:29:59
inet addr:192.168.9.120 B 强制转换:192.168 。 9.255 掩码:255.255.255.0
inet6 地址:fe80::527b:9dff:fe25:2959/64 范围:链接
向上广播运行多播 MTU:1500 指标:1
RX 数据包: 573710854 错误:0丢弃:0 溢出:0 帧:0
TX 数据包:849943293 错误:0 丢弃:0 溢出:0 载体:0
冲突:0 txqueuelen:1000
RX 字节:58543890628 (54.5 GiB) TX 字节:1248037935176 (1.1 TiB)

lo 链接 encap:本地环回
inet addr:127.0.0.1 掩码:255.0.0.0
inet6 addr:::1/128 范围:主机
上环回运行 MTU:16436 公制:1
RX 数据包:17370722 错误:0 丢弃:0 溢出:0 帧:0
TX 数据包:17370722 错误:0 丢弃:0 溢出:0 载波:0
冲突:0 txqueuelen:0
RX字节:65642509325 (61.1 GiB) 发送字节:65642509325 (61.1 GiB)

================================================= === =================
测试原理:
arping命令发送带有广播地址的arp数据包。以太网中的所有主机都会收到这个arp数据包,但本机收到后不会回复任何信息。
当我们在Linux主机上执行以下命令:
arping 192.168.9.120  
会默认使用eth0,向局域网内的所有主机发送arp:
谁有192.168.9.120 arp请求,告诉192.168.9.120你的mac地址,

当这个windows主机收到这个arp数据包时,会回复:
“I am 192.168.9.120, mac is 00:25:e4:6a:4b:f4”,这样我们就会收到windows的回复信息MAC 地址为 00:25:e4:6a:4b:f4 的主机。
=================================================== === =================

第二种方法(arp-scan)

arp-scan 该工具会在本地网络上发送ARP(Address Resolution Protocol)(地址解析协议)数据包来收集地址。如果有多个 MAC 地址声明相同的 IP 地址,则存在冲突。

首先安装arp-scan,输入:
[root@dev ~]# yum install -y arp-scan
------------- -----------------------
如果报错说这个软件包不存在,需要提前安装好epel软件仓库
centos5 64 位:
rpm -ivh http://www.sychzs.cn/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

centos6 64 位:
rpm -ivh http://www.sychzs.cn/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

centos6 64 位:
yum install -y http://www.sychzs.cn/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
- - ----------------------------------

要检测 IP 冲突,请运行以下命令:

[root@dev ~]# arp-scan -l
接口:eth0,数据链路类型:EN10MB(以太网)
启动带有 256 个主机的 arp-scan 1.9.2 (http://www.nta -www.sychzs.cn/tools-resources/security-tools/arp-scan/)
192.168.9.1 00:25:b3:f9:16:3e 惠普
192.168.9.2 30:8d:99:ab :42:40 惠普
192.168.9.4 24:26:42:a6:81:f9 夏普公司。
192.168.9.7 f4:ce:46:3e:15:d6 惠普
192.168。 9.8 08:2e:5f:bd:0f:43 惠普
192.168.9.9 00:21:5a:84:9d:0c 惠普
...​​..................... ..
...​​.............
192.168.9.119 68:f7:28:d5:d4:26 合肥合诚电子科技有限公司
192.168.9.120 50:7b:9d:25:29:59 LCFC(合肥)电子科技有限公司
192.168.9.120 40:F4:EC:7 6:79: C2 VMware, Inc.(DUP:2)
192.168.9.121 00:23:24:9b:09:89 G-PRO 计算机
192.168.9.122 b8:88:e3:35:8e: 74 仁宝资讯(昆山)有限公司
...​​..............
...​​..............

过滤器收到 110 个数据包,内核丢弃 0 个数据包
结束 arp 扫描 1.9.2:在 2.257 秒内扫描 256 个主机(113.42 个主机/秒)。 110 人回复

从上面的信息可以知道IP 192.168.9.120因为出现了两次而发生冲突,并且可以看出这个IP被vmware虚拟机占用了。
您需要找到使用此IP的机器并更改其IP!

? –I eth0 -l”命令的意思是查看与

同一局域网内所有主机eth0网卡的IP使用情况

在Windows下使用“arp -a”命令检查是否存在IP冲突:

如果发现两个IP相同,则说明存在IP冲突。

相关文章