/etc/netplan/50-cloud-init.yaml
由于使用了CloudInit,所有告诉您直接编辑的答案都是错误的,并且会生成该文件。在Ubuntu 18.04.2中,它清楚地写在文件中:
$ cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
eno1:
dhcp4: true
version: 2
因此,/etc/cloud/cloud.cfg.d/
如果您仍想使用CloudInit ,则不应编辑该文件,而应编辑下面的文件。
另一种方法是首先通过创建一个空文件来完全禁用CloudInit /etc/cloud/cloud-init.disabled
(请参阅https://cloudinit.readthedocs.io/en/latest/topics/boot.html),然后其他答案都可以。在Ubuntu 18.04.2下,我不得不使用dpkg-reconfigure cloud-init
它来考虑文件/etc/cloud/cloud-init.disabled
。我认为这有点奇怪。
我建议您重命名该文件(由于50-cloud-init.yaml
我们认为它仍使用CloudInit,因此名称不正确)。
然后,您可能会得到一个/etc/netplan/01-netcfg.yaml
包含以下配置的文件名。请注意使用networkd
渲染器,而不是NetworkManager
因为配置在服务器上。
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
addresses: [192.168.1.246/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]