適用產品:everRun 8.0.0.0-527版本
問題
當還原遷移至everRun VM後,發現網路不通,無法瀏覽網站和Ping IP時,從CMD檢查或是網卡資訊出現”自動設定IPv4位址”:

原因
將網卡改回DHCP自動取得IP後恢復網路運作,當設定固定IP時,系統會使用 DAD 機制來檢查該 IP 是否已被使用。
產生” APIPA(169.254.x.x)”原因如下:
- KVM VM 設定的 固定 IP 可能與其他裝置重複。
- DAD 機制檢查時,VM 內的網卡無法正確回應,導致 Windows 誤判 IP 已被占用,進而分配 APIPA。
- KVM 的 橋接網路(bridged network) 可能導致 Windows 無法正確發送 ARP 檢查。
- Windows 可能在開機時進行 DAD 檢查,但 KVM 網路卡尚未準備好,因此誤判 IP 無法使用。
常見發生的原因為固定 IP 可能與其他裝置重複,若是進行備份還原遷移,或是當下存在兩台相同IP的主機(如果虛擬化環境僅關閉”網卡啟用”,仍然發生IP衝突),本文說明當下應急恢復網路方式。
解決方案
注意
本文僅提供目標端還原或遷移的VM可恢復網路運作,若發生來源端的IP尚未關閉釋放,或是虛擬化環境關閉”網卡啟用”後仍偵測到使用的IP衝突,請找到來源端主機將其關機或釋放IP。
Step. 1
以管理員身分開啟CMD,輸入”netsh interface ipv4 show inter”指令,找到目標IP網卡的”Idx”編號。
輸入”netsh interface ipv4 set interface 16 dadtransmits=0 store=persistent”指令,其中範例”16”為實際顯示Idx的編號。
顯示”確定”為成功。

此指令的作用是 停用 DAD 檢查,讓 Windows 不再檢查IP衝突而直接使用該 IP,如果確實有 IP 衝突,將導致網路不穩定或封包無法正常傳遞。
Step. 2
將網卡”停用”後,再次”啟用”。


Step. 3
再次檢查IP資訊,自動設定IPv4位址即消失。

注意
本文強調此解決方案僅應急處理,若環境上有相同IP使用著,將導致網路不正常與封包傳遞不穩定(例如資料庫連線會失敗,服務失效等等),仍須找到占用IP主機將網卡關閉或釋放,或是將其關機。
若非IP衝突問題,則須確認everRun網路驅動是否有更新過。
網路介面卡驅動更新方式
1.至”虛擬機器”功能->選擇要更新驅動的VM->選擇CD光碟機和USB裝置->選擇VirtIO Driver虛擬CD後點擊”插入CD”按鈕,掛起CD-ROM成功後,點擊”控制台”按鈕開啟VNC操作。

2.確認VM內磁碟機有掛起VirtIO Driver,至左下角滑鼠右鍵開啟”裝置管理員”。

3.至”網路介面卡”,選擇”Red Hat VirtIO Ethernet Adapter”(若未找到,表示未安裝驅動程式過,請至未知的設備進行確認),滑鼠右鍵點擊”更新驅動程式”。
注意:若有多個” Red Hat VirtIO Ethernet Adapter”的網路介面卡,每個都須執行相同更新步驟。

4.確認名稱為”Red Hat VirtIO Ethernet Adapter”,點擊”瀏覽電腦上的驅動程式”選項。

5.點擊”瀏覽”按鈕,至VirtIO Driver ->”NetKVM”目錄,依據該Guest OS的作業系統,選擇指定的目錄後,選擇”amd64”目錄,點擊”確定”按鈕。
(請勿選擇其他目錄,若更新錯誤將導致Crash,請先確定選擇正確後繼續下一步)

6.再次確認名稱為”Red Hat VirtIO Ethernet Adapter”,驅動程式路徑為”磁碟機代號:\NetKVM\OS系統版本\amd64”,有勾選”包含子資料夾”,點擊”下一步”按鈕開始更新。

7.確認顯示更新成功訊息後,點擊”關閉”按鈕,即可將其重新開機。
注意:若有多個” Red Hat VirtIO Ethernet Adapter”的網路介面卡,每個都須執行相同更新步驟。

