Netplan使用(高版本Ubuntu静态/动态IP设置方法)_cccrick的博客-CSDN博客
今天下载了Ubuntu Server 18.04LTS版本,想用它作为模板进行克隆进行一些环境搭建实验。性能上相对Desktop启动快很多,毕竟没有不需要的一些冗余软件和组件。
克隆之后,试图通过/etc/network/interfaces设置网卡的静态地址,重启之后依然无效。
查找wiki信息,发现自16.04版本之后,Ubuntu不在默认安装ifupdown,自然修改/etc/network/interfaces无用,同时相比旧版本,interfaces文件内关于lo相关信息都没有使用。
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
# sudo apt install ifupdown
想要通过interfaces文件设置静态IP,需要先安装ifupdown。
ifupdown可以直接通过apt源进行安装。
所以根据现行官方主推的netplan工具和传统的ifupdown工具,有两种方案解决这个问题。
一.ifupdown 工具
1、vim /etc/network/interfaces
#auto ens33 #网卡名
#iface ens33 inet static #静态地址
#address 192.168.88.100
#netmask 255.255.255.0
#gateway 192.168.88.2
#dns-nameservers 114.114.114.114 #ubuntu的DNS设置可以直接在这个文件中进行设置
如果使用的是VMware,这里的.2地址是网关和本地DNS服务器,可以通过networkctl status查看:
root@localhost:~#networkctl status
● State: routable
Address: 192.168.88.6 on ens33
fe80::20c:29ff:fe48:4b60 on ens33
Gateway: 192.168.88.2 (VMware, Inc.) on ens33
DNS: 192.168.88.2
Search Domains: localdomain
2、sudo apt install ifupdown;
3、ifdown ens33;
4、ifup ens33,此时ip a会显示地址已经发生变化,但是xshell却依然连接,因此我们需要reboot重启系统;
5、reboot之后ip a查看,并且ping自身ip地址,通则成功。
二.netplan 工具
To configure your system to use static address assignment, create a netplan configuration in the file /etc/
netplan/99_config.yaml. The example below assumes you are configuring your first Ethernet interface
identified as eth0. Change the addresses, gateway4, and nameservers values to meet the requirements of your
network.
netplan作为目前推荐的网络管理工具,需要我们创建/etc/netplan/99_config.yaml配置文件,并且添加规则,99打头的两位数字应该类似于udev中的优先级,这里不过多关心。
1、vim /etc/netplan/99_config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 192.168.88.100/24
gateway4: 192.168.88.2
nameservers:
search: [mydomain, otherdomain]
addresses: [192.168.88.2, 114.114.114.114]
这里的mydomain设置为本地dns服务器,跟方法一获取方式一致。
这些配置如果要生效需要netplan工具应用这些配置。
2、sudo netplan apply
ip a查看发现地址发生变化。同样的,作为永久性设置,这里我们需要重启才能完成静态IP地址的设置。
注:需要说明的是,如果想设置为DHCP获取地址,这里同样是设置/etc/netplan/99_config.yaml。
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: true
此处修正,如果有xshell等远程连接时,在实用工具应用配置之后,地址不会直接生效;如果未存在,则地址直接生效,无须重启系统。