设为首页 收藏本站
查看: 1495|回复: 0

[经验分享] Linux下检测IP地址冲突及解决方法

[复制链接]

尚未签到

发表于 2017-6-23 09:50:53 | 显示全部楼层 |阅读模式
  问题说明:
在公司办公网内的一台物理机A上安装了linux系统(ip:192.168.9.120),在上面部署了jenkins,redmine,svn程序。由于是在办公网内,这台机器和同事电脑都是在同一网段的。
突然某天问题出来了:有部分同事远程ssh登陆不上这台linux系统的机器,jenkins/redmine/svn也登陆不上,其他部分同事可以正常使用。
  后来发现,是因为这台linux机器的ip被人占用了,ip地址冲突引起的!!
  下面介绍下检查ip地址是否冲突的方法:
---------------------------------------------------
第一种方法(arping):
  只需要在另一台同网段的linux机器B上(比如:129.168.9.200)上执行下面的命令(不能在本机arping检验自己的ip):
  只需要在另一台同网段的linux机器B上(比如:129.168.9.200)上执行下面的命令(不能在本机arping检验自己的ip):
[iyunv@dev ~]# arping 192.168.9.120
ARPING 192.168.1.120 from 192.168.9.200 eth0
Unicast reply from 192.168.9.120 [40:F4:EC:76:79:C2] 3.084ms
Unicast reply from 192.168.9.120 [50:7B:9D:25:29:59]  0.817ms
Unicast reply from 192.168.9.120 [50:7B:9D:25:29: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地址。
[iyunv@redmine ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 50:7B:9D:25:29:59  
          inet addr:192.168.9.120  Bcast:192.168.9.255  Mask:255.255.255.0
          inet6 addr: fe80::527b:9dff:fe25:2959/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:573710854 errors:0 dropped:0 overruns:0 frame:0
          TX packets:849943293 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:58543890628 (54.5 GiB)  TX bytes:1248037935176 (1.1 TiB)
  lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:17370722 errors:0 dropped:0 overruns:0 frame:0
          TX packets:17370722 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:65642509325 (61.1 GiB)  TX bytes:65642509325 (61.1 GiB)
  ---------------------------------------------------------
检验原理:
arping命令是以广播地址发送arp packets,以太网内所有的主机都会收到这个arp packets,但是本机收到之后不会Reply任何信息。
当我们在linux主机端上执行下面的命令时:
arping 192.168.9.120  
会默认使用eth0,向局域网内所有的主机发送一个:
who has 192.168.9.120的arp request,tell 192.168.9.120 your mac address,
  当这台windows主机端收到这个arp packets后,则会应答:
"I am 192.168.9.120 , mac是00:25:e4:6a:4b:f4",这样我们会收到mac地址为00:25:e4:6a:4b:f4的windows主机的Reply信息。
---------------------------------------------------------
  ---------------------------------------------------------
第二种方法(arp-scan)
  arp-scan这个工具会在本地网络发送ARP(Address Resolution Protocol)(地址解析协议)包来收集地址。如果有多个MAC地址声称拥有相同的IP地址,那么这里就存在冲突。
  首先安装arp-scan则输入:
[iyunv@dev ~]# yum install -y arp-scan      
------------------------------------
如果报错说没有这个软件包,则需要提前安装epel软件仓库
centos5 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
  centos6 64位:
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
  centos6 64位:
yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
------------------------------------
  要检测IP冲突,运行下面的命令:
  [iyunv@dev ~]# arp-scan -l
Interface: eth0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.2 with 256 hosts (http://www.nta-monitor.com/tools-resources/security-tools/arp-scan/)
192.168.9.1 00:25:b3:f9:16:3e   Hewlett Packard
192.168.9.2 30:8d:99:ab:42:40   Hewlett Packard
192.168.9.4 24:26:42:a6:81:f9   SHARP Corporation.
192.168.9.7 f4:ce:46:3e:15:d6   Hewlett Packard
192.168.9.8 08:2e:5f:bd:0f:43   Hewlett Packard
192.168.9.9 00:21:5a:84:9d:0c   Hewlett Packard
................
................
192.168.9.119   68:f7:28:d5:d4:26   LCFC(HeFei) Electronics Technology co., ltd
192.168.9.120 50:7b:9d:25:29:59 LCFC(HeFei) Electronics Technology co., ltd
192.168.9.120 40:F4:EC:76:79:C2 VMware, Inc. (DUP: 2)
192.168.9.121   00:23:24:9b:09:89   G-PRO COMPUTER
192.168.9.122   b8:88:e3:35:8e:74   COMPAL INFORMATION (KUNSHAN) CO., LTD.
...............
...............
  110 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.2: 256 hosts scanned in 2.257 seconds (113.42 hosts/sec). 110 responded
  由上面信息可知:192.168.9.120这个IP冲突了,因为它出现了两次,并且可知这个ip被vmware虚拟机占用了。
需要找到使用这个ip的机器,将其ip更换即可!
  1)“arp-scan -l” 命令表示查看与本机在同一局域网内的所有机器的ip使用情况
2)“arp-scan –I eth0 -l”   命令表示查看与本机在同一局域网内的所有主机的eth0网卡的ip使用情况
  --------------------------------------------------------
windows本机使用“arp -a”命令查看是否有ip冲突:
DSC0000.png

  如果查出有两个ip一样,就说明ip冲突了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-387155-1-1.html 上篇帖子: ArchLinux安装指南 下篇帖子: Linux中如何产生core文件?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表