linux出現169.254.0.0

發現問題:

沒動過路由表信息,查看時卻發現出現了一下的169.254.0.0的網絡地址路由。

# route -n

	Kernel IP routing table
	Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
	0.0.0.0         172.16.1.254    0.0.0.0         UG    0      0        0 eth1
	10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
	169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
	169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
	172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1

問題原因:

169.254.0.0原本是windows系統局域網環境下DHCP(Dynamic Host Configuration Protocol)服務在發生地址衝突時,產生的一個預設的ip地址網段。DHCP服務運行中就設置了地址衝突時的默認機制。

而對於linux也採用的這種機制,169.254.0.0存在,本事是無所謂的,因爲不能在互聯網上用。但是,169.254.0.0的出現,肯定是由於自己設置了IP地址而造成衝突產生的。

**

DHCP自動獲取IP地址時的原理:
01.主機開啓DHCP功能
02.主機會向交換網絡中發送DHCP請求數據包(廣播方式發送)
03.DHCP服務器接受到請求數據包,進行數據包響應
04.主機收到響應包配置地址信息,並回復DHCP確認包
05.DHCP服務器接收到數據包,會調整IP地址池信息
06.DHCP服務器根據租期時間信息,確認地址是否繼續使用,否,將地址回收.分配給其他主機使用

**

解決辦法:

linux線上環境:

在文件的末尾添加

# vim /etc/sysconfig/network
	NOZEROCONF=yes
# systemctl restart network

VMware Workstation也會出現也一種情況:
一般發生在克隆多個主機時產生這種地址衝突問題,是由於兩臺以上的相同IP地址的虛擬機在運行,造成地址衝突,dhcp自動分配的一個地址段。

此時,關閉一臺也不好使,因爲默認機制其探測時間(Discover Time)是以1小時爲分割線。

NE80E/40E的實現中,如果發現衝突的IP地址,那麼在1小時以後我們可以對於此IP地址進行重新分配使用。當存在衝突IP地址時,且探測時間沒有超過1小時,則執行命令reset dhcp server conflict all釋放衝突IP地址。

解決辦法:
1.關閉可能衝突的多個主機(route -n查看哪些主機有該地址就關機)才能釋放該地址,單純的重啓網卡是不行的!!!

2.開啓其中一臺主機,重新設置一個全新的ip地址(必須全新!),爲了讓dhcp重新識別,地址池信息也自動更新,重啓網卡生效。

3.將剛纔設置的全新IP改成自己應該設置的IP,必須重啓主機(重啓網卡此時不生效)生效。
爲什麼?請看上面的DHCP默認機制。

4.依次開啓其他的主機。查看地址是否生效。如果沒有按照上面的方法繼續設置生效爲止。

懶人專用:睡一覺醒來什麼都會好的!!!
爲什麼?請看上面的DHCP默認機制。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章