全部產品
Search
文件中心

:Linux執行個體中本地網卡的DHCP配置檢查與修複

更新時間:Oct 25, 2024

概述

ECS執行個體預設使用DHCP(動態主機設定協議,Dynamic Host Configuration Protocol)為彈性網卡自動分配IP地址,並獲得IP地址租約到期時間。正常情況下,Linux執行個體的dhclient進程會定期向DHCP伺服器更新租約到期時間,以確保執行個體IP地址的可用性。以下情況可能引發Linux執行個體的DHCP服務出現異常,導致執行個體網路不通:

  • 網卡設定檔存在錯誤

  • 網卡對應的dhclient進程未運行

本文主要介紹如何檢查本地網卡的DHCP配置,以及出現異常時的修複方法。

詳細資料

說明
  • 如果您對執行個體或資料有修改、變更等風險操作,務必注意執行個體的容災、容錯能力,確保資料安全。

  • 如果您對執行個體(包括但不限於ECS、RDS)等進行配置與資料修改,建議提前建立快照或開啟RDS記錄備份等功能。

  • 如果您在阿里雲平台授權或者提交過登入帳號、密碼等安全資訊,建議您及時修改。

  1. 遠程登入Linux執行個體。關於如何遠程登入,請參見ECS串連方式概述

    說明

    如果您無法通過SSH的方式登入Linux執行個體,請參見 無法通過SSH遠程登入Linux執行個體時的排查指引

  2. 為避免誤操作產生資料安全風險,請您通過快照備份ECS執行個體。關於如何建立快照,請參見建立快照

  3. 在Linux執行個體中執行以下命令,檢查並記錄Linux執行個體已有的本地網卡。

    ls -al /sys/class/net/

    系統顯示如下圖,其中eth0為本地網卡。此處以一個本地網卡為例,如果您為ECS執行個體添加過輔助彈性網卡,則以實際情況為準。

  4. 如果Linux執行個體只有一個本地網卡,則繼續以下步驟進行檢查。如果Linux執行個體存在多個本地網卡,請參考步驟5至步驟8,依次對每個本地網卡進行檢查和修複。

  5. 在Linux執行個體中執行以下命令,檢查本地網卡的設定檔。

    cat /etc/sysconfig/network-scripts/ifcfg-[$Eth]
    說明

    [$Eth]指本地網卡名稱,現場需替換為需要檢查的網卡名稱,例如:eth0。

    系統顯示如下,其中BOOTPROTO=dhcp表示本地網卡使用DHCP的方式擷取IP地址。

    # Created by cloud-init on instance boot automatically, do not edit.
    # If you don't want cloud-init genrated automatically,you can disable it in /etc/cloud/cloud.cfg
    # For more information, please refer to: https://www.alibabacloud.com/help/document_detail/57803.html
    #
    BOOTPROTO=dhcp
    DEVICE=[$Eth]
    ONBOOT=yes
    STARTMODE=auto
    TYPE=Ethernet
    USERCTL=no

    根據以下情況進行處理:

    • 本地網卡使用非DHCP的方式擷取IP地址:請您與伺服器管理員確認修改IP地址擷取方式的原因,如果不需要使用DHCP的方式擷取IP地址,則無需參考本文進行排查。

    • 本地網卡使用DHCP的方式擷取IP地址:請參考上述網卡設定檔的樣本,確認您Linux執行個體中的網卡設定檔不存在拼字錯誤,繼續下一步操作。

  6. 在Linux執行個體中執行以下命令,檢查對應網卡的dhclient進程運行狀態。

    ps aux | grep dhclient | grep [$Eth]

    根據以下情況進行處理:

    • 系統返回本地網卡對應的dhclient進程,說明此網卡的DHCP服務正常。

      說明

      此處以eth0網卡為例,現場以實際情況為準。

    • 系統無返回結果,說明dhclient進程未運行,請繼續下一步操作。

  7. 在Linux執行個體中執行以下命令,重新啟動對應網卡的dhclient進程。

    ifup [$Eth]
  8. 再次執行以下命令,確認對應網卡的dhclient進程處於運行狀態。

    ps aux | grep dhclient | grep [$Eth]

相關文檔

適用於

  • Elastic Compute Service