天天看點

Linux下檢測IP位址沖突及解決方法

問題說明:

在公司辦公網内的一台實體機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):

[root@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位址。

[root@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則輸入:

[root@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

yum install -y http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

要檢測IP沖突,運作下面的指令:

[root@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沖突:

Linux下檢測IP位址沖突及解決方法

如果查出有兩個ip一樣,就說明ip沖突了。

***************當你發現自己的才華撐不起野心時,就請安靜下來學習吧***************

本文轉自散盡浮華部落格園部落格,原文連結:http://www.cnblogs.com/kevingrace/p/5984299.html,如需轉載請自行聯系原作者

繼續閱讀