全部產品
Search
文件中心

:Linux執行個體網卡設定檔IP與控制台不一致問題處理

更新時間:Feb 14, 2025

當您修改Linux執行個體的網卡設定檔時,如果將其中的IP地址配置為靜態擷取,並且該IP地址與控制台顯示的ECS執行個體IP地址不一致,可能會導致網路連接失敗、安全性群組規則失效以及管理困難等問題。您可以按照本文提供的步驟進行修複。

問題現象

ECS執行個體的網卡設定檔配置了靜態擷取IP地址,且與控制台上顯示的ECS執行個體IP地址不一致。

image

image

處理步驟

步驟一:擷取控制台上顯示的IP資訊

您需要先從控制台上擷取ECS執行個體的私網IP地址,具體操作,請參見查看執行個體IP地址

步驟二:修改網卡設定檔

RHEL系列

說明
  • 適用的作業系統:Alibaba Cloud Linux 2/3、CentOS 6/7/8、Red Hat 6/7/8/9、Anolis 7/8、Fedora 33/34/35。

  • 樣本作業系統:Alibaba Cloud Linux 3.2。

  • 樣本網卡:以主網卡eth0為例示範操作,您需要根據實際情況修改網路介面標識。

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 查看子網路遮罩

    執行以下命令,查看路由資訊:

    route -n

    通過返回資訊,可以看到:

    • 子網路遮罩(Genmask):255.255.255.0

    • 預設閘道(Geteway):192.168.1.253

    image

  3. 執行如下命令,修改或建立網卡設定檔。

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

    設定擷取IP為靜態擷取方式並且配置網卡的主私網IPv4地址、子網路遮罩資訊。

    樣本配置如下:

    DEVICE=eth0
    TYPE=Ethernet
    #靜態IP
    BOOTPROTO=static 
    
    #手動設定IPv4地址和子網路遮罩
    IPADDR=<替換為實際的IPv4地址>
    NETMASK=<替換為實際的子網路遮罩>

    樣本配置如下:

    DEVICE=eth0
    TYPE=Ethernet
    #靜態IP
    BOOTPROTO=static 
    
    #手動設定IPv4地址和子網路遮罩
    IPADDR=192.168.1.201
    NETMASK=255.255.255.0

Ubuntu 22/24、Debian 12

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 查看子網路遮罩

    執行以下命令,查看路由資訊:

    route -n

    通過返回資訊,可以看到:

    • 子網路遮罩(Genmask):255.255.255.0

    • 預設閘道(Geteway):192.168.1.253

    image

  3. 執行以下命令,禁用cloud-init的網路設定功能。

    重要

    網路設定檔(/etc/netplan/50-cloud-init.yaml)由cloud-init在執行個體啟動時候自動產生,如果要編輯,需要先禁用cloud-init的網路設定功能。具體資訊,請參見cloud-init自動初始化網路設定

    sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

    添加如下配置項:

    network: {config: disabled}
  4. 執行如下命令,編輯網路設定檔,配置網路介面配置資訊。

    sudo vim /etc/netplan/50-cloud-init.yaml

    樣本配置如下:

    network:
        version: 2
        ethernets:
            eth0: #網路介面名稱
                dhcp4: false #預設為dhcp自動設定,false需要手動設定IP
                match:
                    macaddress: 00:16:3e:16:43:xx #您實際的網卡的mac地址
                set-name: eth0
                addresses:
                        - 192.168.1.201/24 #網卡主私網IP地址,需要替換為您實際的地址
                routes:
                  - to: default
                    via: 192.168.1.253 #預設閘道,需要替換為您實際的地址

Ubuntu 18/20

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 查看子網路遮罩

    執行以下命令,查看路由資訊:

    route -n

    通過返回資訊,可以看到:

    • 子網路遮罩(Genmask):255.255.255.0

    • 預設閘道(Geteway):192.168.1.253

    image

  3. 執行以下命令,禁用cloud-init的網路設定功能。

    重要

    網路設定檔(/etc/netplan/50-cloud-init.yaml)由cloud-init在執行個體啟動時候自動產生,如果要編輯,需要先禁用cloud-init的網路設定功能。具體資訊,請參見cloud-init自動初始化網路設定

    sudo vim /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

    添加如下配置項:

    network: {config: disabled}
  4. 執行如下命令,編輯網路設定檔,配置網路介面配置資訊。

    sudo vim /etc/netplan/50-cloud-init.yaml

    樣本配置如下:

    network:
        version: 2
        ethernets:
            eth0: #網路介面名稱
                dhcp4: false #預設為dhcp自動設定,false需要手動設定IP
                match:
                    macaddress: 00:16:3e:16:43:xx #您實際的網卡的mac地址
                set-name: eth0
                addresses:
                        - 192.168.1.201/24 #網卡主私網IP地址,需要替換為您實際的地址
                gateway4: 192.168.1.253 #預設閘道,需要替換為您實際的地址

步驟三:重啟網路服務

重啟網路服務,使配置生效。

重要

以下命令涉及重啟網路服務,部分命令涉及重啟執行個體,可能導致業務中斷,建議您在非業務高峰期時執行該操作。

作業系統

重啟服務命令

  • Alibaba Cloud Linux 2

  • CentOS 7

  • Red Hat 7

  • Anolis 7

  • SUSE Linux 11/12/15

  • OpenSUSE 15/42

sudo service network restart

sudo systemctl restart network

  • CentOS 6

  • Red Hat 6

sudo service network restart

  • Alibaba Cloud Linux 3

  • CentOS 8

  • Red Hat 8

  • Anolis 8

  • Fedora 33/34/35

sudo systemctl restart NetworkManagersudo reboot

  • Ubuntu 18/20/22

  • Debian 12

sudo netplan apply

  • Ubuntu 14/16

  • Debian 8/9/10/11

sudo systemctl restart networkingsudo reboot