设置网卡属性为DHCP(Linux)
操作场景
通过云服务器或者外部镜像文件创建私有镜像时,如果云服务器或镜像文件所在虚拟机的网络配置是静态IP地址时,您需要修改网卡属性为DHCP,以使私有镜像发放的新云服务器可以动态获取IP地址。
不同操作系统配置方法略有区别,请参考对应操作系统的相关资料进行操作。
使用外部镜像文件创建私有镜像时,设置网卡属性操作需要在虚拟机内部完成,建议您在原平台的虚拟机实施修改后,再导出镜像。
Ubuntu 18及以后版本操作步骤
- 在云服务器上执行vi /etc/netplan/01-netcfg.yaml命令,使用vi编辑器打开“/etc/netplan/01-netcfg.yaml”文件,查看网卡是否为DHCP方式,即dhcp4为true。
- 信息显示所有网卡的网络配置dhcp4为true时,输入:q退出编辑器,操作结束。
network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true
- 信息显示网卡的网络配置的dhcp4为no并且配置了静态IP地址时,请执行下一步。
network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: no addresses: [192.168.1.109/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8,114.114.114.114]
- 信息显示所有网卡的网络配置dhcp4为true时,输入:q退出编辑器,操作结束。
- 输入“i”进入编辑模式。
删除静态IP配置,然后设置dhcp4为true。您也可以使用“#”注释静态IP设置的相关内容。
network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true #设置dhcp4为true #dhcp4: no #删除或使用“#”注释此部分静态IP设置 #addresses: [192.168.1.109] #gateway4: 192.168.1.1 #nameservers: # addresses: [8.8.8.8,114.114.114.114]
- 如果您有多个网卡,请将剩余网卡按照上述方法设置dhcp4为true。
network: version:2 renderer:NetworkManager ethernets: eth0: dhcp4: true eth1: dhcp4: true eth2: dhcp4: true eth3: dhcp4: true
- 按“ESC”后,输入:wq,按“Enter”回车键保存设置并退出编辑器。
- 执行netplan apply命令,使配置生效。
Ubuntu 16.04操作步骤
- 在云服务器上执行以下命令,使用vi编辑器打开“/etc/network/interfaces”文件,查看网卡的网络配置。
vi /etc/network/interfaces
- 信息显示所有网卡的网络配置为DHCP模式时,无需重复设置网卡属性,输入:q退出编辑器。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp
- 信息显示网卡的网络配置为静态IP地址时,请执行2。
auto lo iface lo inet loopback auto eth0 #iface eth0 inet dhcp iface eth0 inet static address 192.168.1.109 netmask 255.255.255.0 gateway 192.168.1.1
- 信息显示所有网卡的网络配置为DHCP模式时,无需重复设置网卡属性,输入:q退出编辑器。
- 按“i”进入编辑模式。
- 删除静态IP设置的相关内容,然后将对应的网卡设置为DHCP方式。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp
如果您有多个网卡,请将剩余网卡按照上述方法设置为DHCP方式。
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet dhcp
- 按“ESC”后,输入:wq,按“Enter”。
保存设置并退出编辑器。
相关操作
您还可以配置DHCP持续获取IP地址能力,根据云服务器操作系统选择对应的操作。
- CentOS系列/EulerOS系列:使用vi编辑器在“/etc/sysconfig/network-scripts/ifcfg-ethX”配置文件中添加PERSISTENT_DHCLIENT="y"。
- SUSE系列:使用vi编辑器将“/etc/sysconfig/network/dhcp”配置文件中的DHCLIENT_USE_LAST_LEASE设置为no。
- Ubuntu 12.04及以上版本:将dhclient升级为ISC dhclient 4.2.4以支持网卡持续DHCP获取IP地址能力。请自行安装isc-dhcp-server进行升级。