Todas as respostas para você editar diretamente /etc/netplan/50-cloud-init.yaml
estão erradas, pois o CloudInit é usado e gerará esse arquivo. No Ubuntu 18.04.2 está claramente escrito dentro do arquivo:
$ 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
Portanto, você não deve editar esse arquivo, mas o arquivo abaixo, /etc/cloud/cloud.cfg.d/
se ainda desejar usar o CloudInit.
Outra maneira é desativar completamente o CloudInit, criando um arquivo vazio /etc/cloud/cloud-init.disabled
(consulte https://cloudinit.readthedocs.io/en/latest/topics/boot.html ) e, em seguida, as outras respostas estão OK. No Ubuntu 18.04.2, eu tive que usar dpkg-reconfigure cloud-init
para permitir que ele levasse em conta o arquivo /etc/cloud/cloud-init.disabled
. Eu acho isso um pouco estranho.
Sugiro que você renomeie o arquivo (não o nome correto, pois 50-cloud-init.yaml
vamos pensar que ele ainda usa o CloudInit).
Você pode acabar com um nome de arquivo /etc/netplan/01-netcfg.yaml
que contém a configuração abaixo. Observe o uso do networkd
renderizador em vez de NetworkManager
porque a configuração está em um servidor.
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]