Netplan
是 Ubuntu 17.10 中引入的一种新的命令行网络配置实用程序,用于在 Ubuntu 系统中轻松管理和配置网络设置。 它允许您使用 YAML
格式的描述文件来抽像化定义网络接口的相关信息。
Netplan
可以使用 NetworkManager
或 Systemd-networkd
的网络守护程序来做为内核的接口。Netplan
的默认描述文件在 /etc/netplan/*.yaml
里,Netplan
描述文件采用了 YAML
语法。
在 Ubuntu 18.04 中如果再通过原来的 ifupdown
工具包继续在 /etc/network/interfaces
文件里配置管理网络接口是无效的。
所以本文主要利用Netplan配置静态ip并实现上网
1.route -n 查看网关地址(如果route -n不能用,按照提示按照命令包,可以使用动态ip,保证ubuntu18.04 虚拟机可以上网,然后安装必要的软件)
2.使用Netplan配置静态ip
vim /etc/netplan/01-network-manager-all.yaml
ens33 #是虚拟机的网卡名称
gateway4:192.168.90.2 # 虚拟机的网关,这里配置为route -n 查看到的网关
dhcp4 :no #no代表不是用dhcp动态获取ip,yes代表使用dhcp动态获取ip
nameservers: #是dns地址
addresses: [8.8.8.8, 8.8.4.4]
search:[localdomain] 虚拟机所在的domain
设置完成后netplan apply保存配置,会立即生效,这时候虚拟机就可以上网了
3.解决resolv.conf配置文件被覆盖,首先安装resolvconf 软件
执行 sudo resolvconf -u 生成base head tail 三个文件,head提示不可编辑,所以修改base和tail两个文件
vim /etc/resolvconf/resolv.conf.d/base #如果没有这个文件的手动创建
vim /etc/resolvconf/resolv.conf.d/base #如果没有这个文件的手动创建
然后reboot重启虚拟机发现/etc/resolv.conf多了几行配置
参考:https://blog.csdn.net/weixin_42776979/article/details/81450213
https://unix.stackexchange.com/questions/174349/what-overwrites-etc-resolv-conf-on-every-boot
https://www.hi-linux.com/posts/49513.html#%E4%BD%BF%E7%94%A8-networkd-%E5%90%8C%E6%97%B6%E9%85%8D%E7%BD%AE%E5%A4%9A%E5%BC%A0%E7%BD%91%E5%8D%A1