如何在Linux镜像中配置网络为DHCP

概述

通过ECS或者OSS导入的方式创建自定义镜像,若镜像中网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以确保通过该镜像创建新的ECS实例时可以动态获取IP地址。本文主要介绍主流Linux操作系统的配置方式。

详细信息

不同Linux操作系统,在Linux镜像中配置网络为DHCP的方法如下:

Redhat系列

支持的操作系统如下:

  • CentOS 6/7/8

  • Red Hat 6/7/8/9

  • Anolis 7/8

  • Fedora 33/34/35

  • Alibaba Cloud Linux 2/3

  • CentOS Stream

  • Rocky Linux

  • AlmaLinux

具体配置操作如下:

  1. 远程连接ECS实例,关于如何远程连接ECS实例,请参见通过密码或密钥认证登录Linux实例

  2. 执行以下命令,编辑网络配置文件。

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

  3. 修改以下网络配置项。

    BOOTPROTO=dhcp
    DEVICE=eth0
    ONBOOT=yes
    STARTMODE=auto
    TYPE=Ethernet
    USERCTL=no

  4. 按Esc键,输入:wq并回车,保存退出文件编辑。

  5. 重启网络服务。

    • CentOS 6、Red Hat 6操作系统,请执行以下命令。

      service network restart

    • CentOS 7、Red Hat 7、Anolis 7 、Alibaba Cloud Linux 2操作系统,请执行以下命令。

      systemctl restart network

    • CentOS 8 、Red Hat 8、Anolis 8 、fedora 33/34/35 、Alibaba Cloud Linux 3操作系统,请执行以下操作:

      1. 执行以下命令,重新加载所有网卡配置。

         nmcli c reload

      2. 执行以下命令,激活网卡。

        nmcli d connect eth0

Debian系列

支持的操作系统如下:

  • Ubuntu 14/16

  • Debian /8/9/10/11

  • Ubuntu 18/20

Ubuntu 14/16和Debian /8/9/10/11操作系统的具体配置操作如下:

  1. 远程连接ECS实例,执行以下命令,打开网络配置文件。

    vim /etc/network/interfaces

  2. 修改以下网络配置项。

    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp 
    说明

    说明

    • auto eth0:eth0指的是自己机器上ifconfig输出对的网卡别名相符。

    • iface eth0 inet dhcp:表示获取IP方式为DHCP。

  3. 按Esc键,输入:wq并回车,保存退出文件编辑。

  4. 执行以下命令,重启网络服务。

    service networking restart

    或者

    systemctl restart networking
    说明

    注意:Ubuntu 14不适用于上述两条命令,直接运行reboot命令重启实例即可。

Ubuntu 18/20操作系统的配置操作如下:

  1. 远程连接ECS实例,执行以下命令,打开网络配置文件。

    vim  /etc/netplan/99-eth0.yaml

  2. 添加以下网卡配置。

    network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: yes
          dhcp6: no

  3. 按Esc键,输入:wq并回车,保存退出文件编辑。

  4. 执行netplan apply命令,使配置生效。

SLES系列

支持的操作系统如下:

  • SUSE 11/12/15

  • OpenSUSE 42/15

  1. 远程连接ECS实例,执行以下命令,编辑网络配置文件。

    vi /etc/sysconfig/network/ifcfg-eth0

  2. 修改以下网络配置项。

    BOOTPROTO='dhcp'
    STARTMODE='auto'

  3. 配置完成后,执行以下命令,重启网络服务使之生效。

    systemctl restart wicked

更多信息

各Linux系统及不同版本中的网络服务名称及重启网络服务的命令如下:

OS

Version

网络服务名称

重启网络服务命令

CentOS

6

network

service network restart

7

network

systemctl restart network

8

NetworkManager

systemctl restart NetworkManager

Debian

8

networking

systemctl restart networking

9

networking

systemctl restart networking

10

networking

systemctl restart networking

Ubuntu

14

networking

service networking restart

16

networking

systemctl restart networking

18

systemd-networkd

systemctl restart systemd-networkd

20

systemd-networkd

systemctl restart systemd-networkd

Sles

15

wicked

systemctl restart wicked

12

wicked

systemctl restart wicked

Opensuse

15

wicked

systemctl restart wicked

Alibaba Cloud Linux 2

2

network

systemctl  restart  network

Alibaba Cloud Linux 3

3

NetworkManager

systemctl restart  NetworkManager

适用于

  • 云服务器ECS