全部產品
Search
文件中心

:使用自訂鏡像建立VPC網路執行個體後網路出現異常

更新時間:Oct 11, 2019

問題描述

使用自訂鏡像建立VPC網路的ECS執行個體後,可能出現網路無法連通的異常情況。

 

問題原因

出現該問題的可能原因較多,本文以CentOS 7系統為例。

  • 自訂鏡像/etc/sysconfig/network網路設定檔中配置了GATEWAY參數。配置該參數後,通過自訂鏡像建立的ECS執行個體仍然存在該參數配置,ECS執行個體雖然通過DHCP擷取到了IP地址,但是預設路由不正確,最終網路不可用。

  • 自訂鏡像的/etc/udev/rules.d/70-persistent-net.rules檔案中存在網路規則。比如存在下面的網路規則,則通過自訂鏡像建立的ECS執行個體啟動後無法擷取擷取eth0網卡對應的IP地址。
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:3f:00:65:a8", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
  • 自訂鏡像中的網路設定為非DHCP擷取的方式。比如自訂鏡像中使用靜態IP地址,則建立的ECS執行個體仍然使用靜態IP地址,可能與已有的IP地址衝突或者不在同一個子網,導致網路不可用。

 

解決方案

問題原因不同對應的解決方案不同,建議參考如下步驟,在產生自訂鏡像前先確認網路設定情況,然後再產生自訂鏡像。

註:對於如下步驟中涉及的檔案修改操作,請在操作前先備份或者建立快照

  1. 遠程登入產生自訂鏡像的ECS執行個體。
  2. 執行如下命令,確認設定檔中不存在GATEWAY參數。如果存在,可以通過注釋的方式禁用。
    註:不同環境的GATEWAY參數可能存在差異,以現場實際情況為準。
    cat /etc/sysconfig/network
    系統顯示類似如下。
    # Created by anaconda
  3. 檢查如下設定檔,如果其中存在網路規則,則刪除對應網卡的規則。
    /etc/udev/rules.d/70-persistent-net.rules
  4. 執行如下命令,檢查設定檔。
    cat /etc/sysconfig/network-scripts/ifcfg-eth0
    系統顯示類似如下,確認存在返回結果中的3個配置,並且不存在靜態IP、GATEWAY的參數配置。如果存在,可以通過注釋的方式禁用。
    DEVICE=eth0
    BOOTPROTO=dhcp
    ONBOOT=yes

 

適用於

  • Elastic Compute Service