物理環境:雙機+多網絡卡+其中乙個網絡卡繫結2個ip+帶arp快取的交換機
問題:主備切換後,虛擬ip繫結成功,但外面不能ping同虛擬ip,也就是虛擬ip不能快速生效
注意:如果使用普通的二層交換機,則不存在該問題,因為普通交換機沒有arp快取。當然,通過調整交換機上的arp快取失效時間,可以緩解該問題,但通常情況下,交換機是別人的,不能隨便動。
解決方法:主動發起arp位址更新,也就是向交換機廣播乙個arp位址更新指令即可。
linux下,直接使用arping命令即可。
arping -i eth3 -s 172.16.251.54 -b -c 1 172.16.251.49
-i:指定繫結虛擬ip的物理介面
-s:指定要變更mac位址的虛擬ip
-b:廣播模式
-c:傳送廣播包的數量控制
最後為要通知arp位址變更的三層交換上的閘道器。
這樣,通過交換機訪問虛擬ip時,交換機就能及時使用新的mac位址,從而快速上虛擬ip生效。
windows下沒有arping命令。不過晚上好像有類似的指令碼和原始碼,可以實現同樣的功能。
多網絡卡情況下,獲得每個網絡卡資訊
pip adapter info結構體指標儲存本機網絡卡資訊 ip adapter info pipadapterinfo null 得到結構體大小,用於getadaptersinfo引數 unsigned long stsize 0 呼叫getadaptersinfo函式,填充pipadapter...
雙網絡卡或多網絡卡情況下獲得所有的IP位址
在編寫基於sock的網路程式時,有時需列舉系統中繫結的所有ip位址,在一般控制項無法解決些問題的情況下,可使用如下方法一試 include stdafx.h include include include include void main gethostname myname,80 取得主機名 t...
多網絡卡存在情況下獲取指定網絡卡的MAC位址
應用軟體中經常有需要顯示mac位址的功能,方便使用者判斷當前聯網狀態,如果是在多網絡卡存在 無線,有線等 下,網路會經常切換,獲取到的mac位址可能與預期不同,現給出指定網絡卡獲取mac位址的方法。void get mac mac address mac address wlan0代表網絡卡的名字 ...