Instalei o Ubuntu 17.10 com as atualizações mais recentes em uma máquina virtual vmware. O Netplan não configura minhas 2 ethernet.
Aqui está o meu /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
lan:
match:
macaddress: 00:12:34:a8:29:e8
set-name: lan
dhcp4: false
dhcp6: false
accept-ra: false
addresses:
- 10.10.0.48/24
- 1701:5740:5000:3301::48/64
failover:
match:
macaddress: 00:45:57:89:27:e8
set-name: failover
dhcp4: false
dhcp6: false
accept-ra: false
addresses:
- 17.25.111.30/27
- 1701:5740:5000:3300::30/64
gateway4: 17.25.111.1
gateway6: 1701:5740:5000:3300::1
nameservers:
search:
- example.at
- intern.example.at
addresses:
- 10.10.0.1
- 1701:5740::66
Voltei a dispositivos previsíveis como eth0 e, após a inicialização, todos os dispositivos são nomeados corretamente, mas não configurados.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: lan: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:12:34:a8:29:e8 brd ff:ff:ff:ff:ff:ff
3: failover: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:45:57:89:27:e8 brd ff:ff:ff:ff:ff:ff
Após o login e a ativação do systemctl, reinicie os dispositivos systemd-networkd que estão configurados. O netplan apply também faz o trabalho.
Eu brinquei tanto com o systemd-networkd.service e systemd-networkd.timer, mas nada ajudou.
É muito frustrante configurar a rede manualmente após cada reinicialização. Alguém sabe como resolver isso?
networking
systemd
netplan
Thomas Aichinger
fonte
fonte
Respostas:
Eu acho que você atingiu o LP: # 1770082 - "systemd-networkd não renomeando dispositivos na inicialização".
Basicamente, quando o sistema estiver inicializando, o dispositivo de rede será exibido como
eth0
/eth1
etc. A ordem não é previsível; portanto, o udev renomeia os dispositivos para coisas comoens3
ouenp2s0
na fase inicial da inicialização. (Você poderá ver isso cumprimentando a saída dedmesg
.)Você tem uma
set-name
estrofe em seu YAML do netplan. Posteriormente na inicialização, issoset-name
gera uma regra de renomeação em um arquivo de link systemd , que é lido pelo udev. No entanto, um arquivo de link não fará com que um dispositivo seja renomeado se já tiver sido renomeado. No seu caso, o dispositivo não será renomeado porque provavelmente foi renomeado anteriormente no initrd.Abri um bug no systemd ( problema # 9006 - "udev: nome da interface no arquivo de link não aplicado") sobre isso. Também propus uma alteração ao netplan ( PR # 31 - "Gerar arquivos de regras do udev para renomear dispositivos") que fará com que um arquivo de regras do systemd seja criado, bem como um arquivo de link, pois um arquivo de regras é respeitado mesmo se o dispositivo tiver já foi renomeado.
Como solução alternativa, tente inicializar com
net.ifnames=0
na linha de comando do kernel. Para uma solução de longo prazo, espero que minha alteração no netplan seja portada para a Bionic e lançada no próximo mês.fonte
set-name
diretivas por enquanto, não tentei onet.ifnames=0
cmdline do kernel. Comset-name
, os dispositivos foram renomeados, mas não apresentados.Eu tenho exatamente o mesmo problema no Ubuntu 18.04, mas a solução de R. Pietsch não resolve :(
Eu também tentei habilitar o usuário root, que está desabilitado por padrão no Ubuntu, mas sem sorte.
A única maneira de obter conectividade é:
Se eu não "sudo netplan apply", não tenho conexão com a máquina. Como é possível colocar em uma versão LTS uma peça de software tão quebrada?
Gostaria de acrescentar mais detalhes sobre o meu cenário, para que outras pessoas sejam úteis para reconhecer os fenômenos sobre os quais estamos falando. Isto é o que estava acontecendo no meu caso:
Acho que o netplan é uma boa melhoria em comparação com o / etc / network / interfaces, mas esse comportamento deve ser corrigido o mais rápido possível :)
ATUALIZAR:
Eu depurei o problema usando os seguintes comandos:
Parece que o painel do Network Manager no LXDE estava interferindo nele. Mesmo se as conexões foram exibidas como "não gerenciadas", desmarquei a opção "Ativar rede" e parece que isso corrigiu o problema.
Podemos fechar este :)
fonte
Agora eu tentei com o Ubuntu 18.04 e acho que esse bug foi corrigido.
Trabalha para mim agora.
fonte
Corrigi esse problema inserindo
no crontab da raiz. Não é a solução real para o problema, mas uma solução alternativa que o corrigiu.
fonte
Com o ubuntu 18.04, o netplan também era bastante novo para mim, segui um guia para criar o
/etc/netplan/01-netcfg.yaml
arquivo e executarsudo netplan apply
e, como você, em qualquer reinicialização, a conectividade desapareceu.A execução manual
sudo netplan apply
fez com que funcionasse novamente. Mas isso foi chato.No meu caso, a solução foi editar
/etc/network/interfaces
e comentar todas as sub-rotinas enp0 ** (verifique como elas são chamadas no seu sistema).Então reinicie.
Basicamente, a configuração antiga em / etc / nwtwork / interfaces estava em conflito com o netplan.
fonte
Eu tive um problema em que precisava reativar os eventos. Essencialmente, o netplan fez tudo corretamente, mas o networkd o ignorou. A substituição dos dispositivos como "netplan apply" resolveria isso.
Portanto, para alguns, a solução pode ser:
Talvez isso ajude alguns a procurar esse problema.
Como eu acho que esse é realmente um bug, eu arquivei esse bug .
fonte
Ok, melhor resposta que eu corrigi, volte para ifupdown até que o netplan seja corrigido. sudo apt install ifupdown e configure a interface sudo nano / etc / network / interfaces
auto enp3s0 iface enp3s0 endereço estático inet 192.168.1.100 máscara de rede 255.255.255.0 rede 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.0,8.8.8.8
e quem implementou isso em uma versão do servidor LTS obviamente não o testou
fonte
Como esse é um problema contínuo, tenho outra abordagem para resolver esse problema:
Crie um timer do sistema e aplique as configurações de rede após a inicialização.
Aqui está o script: check_network. Você precisa substituir a interface ens32 pela sua.
Esta é a unidade de serviço check_network.service
E este é o timer do sistema check_network.timer chamado 30 segundos após a inicialização e, a cada hora
Copie o check_network para / root / jobs
Copie o check_network.service para / etc / systemd / system
Copie o check_network.timer para / etc / systemd / system
E, em seguida, habilite o serviço e o timer
fonte
netplan user on 18.04.1 Suponha que a configuração do netplan seja lida na reinicialização do networkd - isso por si só foi um pouco problemático, porque existem 10 serviços de rede diferentes que o systemctl conhece. Nenhum deles trouxe o resultado desejado, então recorri à reinicialização de toda a máquina. Para nenhum proveito. Eventualmente, descobri que o 'netplan apply' ajuda aqui não apenas na aplicação, mas também na indicação de falhas de sintaxe. Então, após a mudança, parece que você precisa aplicar o netplan e pronto. Isso não é descrito no manual, a menos que eu tenha perdido, então eu incluo isso aqui para outros pequenos vermes pobres como eu.
fonte