如何在Linux实例中配置网络为DHCP

采用DHCP替代静态IP,可使服务器自动获取完整的网络配置,避免手动设置的复杂性与潜在错误。在创建自定义镜像前,需设置为DHCP,以规避利用镜像创建的实例因IP地址固化而引发的IP冲突或网络不可达问题。

Alibaba Cloud Linux

Alibaba Cloud Linux 3

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    1. 重新加载所有网卡配置。

      sudo nmcli c reload
    2. 激活网卡。

      sudo nmcli d connect eth0

Alibaba Cloud Linux 4

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置文件。

    1. 确定网络配置文件中的id名称,后续确定配置文件路径时需要。

      sudo nmcli connection show --active
      NAME  UUID                                  TYPE      DEVICE 
      eth0  1dd9a779-d327-56e1-8454-c65e2556c12c  ethernet  eth0   
      lo    0973d353-93a1-41f8-8b7b-5922ade582c6  loopback  lo 

      示例中NAMEeth0,因此生效的网络配置文件中的id名为eth0

    2. 确定网络配置文件路径。

      <网络配置文件的id名>请替换为上一步的获取的NAME

      sudo find /etc/NetworkManager/system-connections/ -type f -exec grep -l "id=<网络配置文件的id名>" {} \;
      /etc/NetworkManager/system-connections/1.nmconnection

      示例表示网络配置文件路径为/etc/NetworkManager/system-connections/1.nmconnection

    3. 检查并确保ipv4下的methodauto

      <网络配置文件路径>请替换为上一步获取的路径。

      sudo vi <网络配置文件路径>
  3. 重启网络服务。

    1. 重新加载所有网卡配置。

      sudo nmcli c reload
    2. 激活网卡。

      sudo nmcli d connect eth0

Alibaba Cloud Linux 2

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    sudo systemctl restart network

Centos

Centos 6

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    sudo service network restart

Centos 7

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    sudo systemctl restart network

Centos 8

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    1. 重新加载所有网卡配置。

      sudo nmcli c reload
    2. 激活网卡。

      sudo nmcli d connect eth0

Ubuntu

Ubuntu 16及以下

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/network/interfaces
    2. 修改以下网络配置项后,保存并退出。

      auto lo
      iface lo inet loopback
      
      auto eth0
      iface eth0 inet dhcp 
  3. 重启网络服务。

    • Ubuntu 14:需要执行sudo reboot重启系统,使配置生效。

    • 其它版本:需要执行sudo systemctl restart networking

Ubuntu 18以上

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 确定生效的网络配置文件路径。

      ls /etc/netplan/*.yaml | sort
      /etc/netplan/100-eth0.yaml
      /etc/netplan/50-cloud-init.yaml
      /etc/netplan/99-eth0.yaml

      Netplan 按照文件名的字母顺序加载配置文件,示例中,最后加载生效的配置文件路径为/etc/netplan/99-eth0.yaml

    2. 编辑网络配置文件。

      <网络配置文件路径>请替换为上一步获取的路径。

      sudo vi <网络配置文件路径>
    3. 修改以下网络配置项后,保存并退出。

      network:
        version: 2
        renderer: networkd
        ethernets:
          eth0:
            dhcp4: yes
            dhcp6: no
  3. 重启网络服务。

    sudo netplan apply

Debian

Debian 11及以下

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/network/interfaces
    2. 修改以下网络配置项后,保存并退出。

      interfaces中显示source /etc/network/interfaces.d/*,请sudo vi /etc/network/interfaces.d/<网络配置文件>,需改网络配置。
      auto lo
      iface lo inet loopback
      
      auto eth0
      iface eth0 inet dhcp 
  3. 重启网络服务。

    sudo systemctl restart networking

Debian 12

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 确定生效的网络配置文件路径。

      ls /etc/netplan/*.yaml | sort
      /etc/netplan/100-eth0.yaml
      /etc/netplan/50-cloud-init.yaml
      /etc/netplan/99-eth0.yaml

      Netplan 按照文件名的字母顺序加载配置文件,示例中,最后加载生效的配置文件路径为/etc/netplan/99-eth0.yaml

    2. 编辑网络配置文件。

      <网络配置文件路径>请替换为上一步获取的路径。

      sudo vi <网络配置文件路径>
    3. 修改以下网络配置项后,保存并退出。

      network:
        version: 2
        renderer: networkd
        ethernets:
          eth0:
            dhcp4: yes
            dhcp6: no
  3. 重启网络服务。

    sudo netplan apply

Red Hat

Red Hat 6

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    sudo service network restart

Red Hat 7

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    sudo systemctl restart network

Red Hat 8/9

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0 
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO=dhcp
      DEVICE=eth0
      ONBOOT=yes
      TYPE=Ethernet
  3. 重启网络服务。

    1. 重新加载所有网卡配置。

      sudo nmcli c reload
    2. 激活网卡。

      sudo nmcli d connect eth0

Red Hat 10

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置文件。

    1. 确定网络配置文件中的id名称,后续确定配置文件路径时需要。

      sudo nmcli connection show --active
      NAME  UUID                                  TYPE      DEVICE 
      eth0  1dd9a779-d327-56e1-8454-c65e2556c12c  ethernet  eth0   
      lo    0973d353-93a1-41f8-8b7b-5922ade582c6  loopback  lo 

      示例中NAMEeth0,因此生效的网络配置文件中的id名为eth0

    2. 确定网络配置文件路径。

      <网络配置文件的id名>请替换为上一步的获取的NAME

      sudo find /etc/NetworkManager/system-connections/ -type f -exec grep -l "id=<网络配置文件的id名>" {} \;
      /etc/NetworkManager/system-connections/1.nmconnection

      示例表示网络配置文件路径为/etc/NetworkManager/system-connections/1.nmconnection

    3. 检查并确保ipv4下的methodauto

      <网络配置文件路径>请替换为上一步获取的路径。

      sudo vi <网络配置文件路径>
  3. 重启网络服务。

    1. 重新加载所有网卡配置。

      sudo nmcli c reload
    2. 激活网卡。

      sudo nmcli d connect eth0

SUSEOpenSUSE

  1. 登录ECS实例。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 进入目标实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

  2. 修改网络配置为DHCP。

    1. 编辑网络配置文件。

      sudo vi /etc/sysconfig/network/ifcfg-eth0
    2. 修改以下网络配置项后,保存并退出。

      BOOTPROTO='dhcp'
      STARTMODE='auto'
  3. 重启网络服务,使配置生效。

    sudo systemctl restart wicked