Começando por volta Ubuntu 18.04, os devs Ubuntu parou de usar o clássico /etc/init.d/networking
e /etc/network/interfaces
método de configurar a rede e ligado a alguma coisa chamada netplan
. Isso deixou muita gente com muita raiva e foi amplamente considerada uma péssima jogada. É possível remover netplan
e usar o /etc/network/interfaces
método correto para configurar a rede?
networking
network-manager
18.04
netplan
jdgregson
fonte
fonte
systemd
, eu entendo que mudanças disruptivas às vezes podem ser benéficas e serem adotadas. No entanto, esse certamente não é um daqueles momentos em que a mudança foi necessária ou benéfica./etc/network/interfaces
, se encaixa no quadro geral do sistema. Tudo o que posso fazer é confiar que aqueles que introduziram a mudança sabem por que ela se encaixa melhor.Respostas:
O procedimento a seguir funciona no Ubuntu 18.04 (Bionic Beaver)
I. Reinstale o pacote ifupdown :
II Configure seu arquivo / etc / network / interfaces com sub-rotinas de configuração, como:
III Torne a configuração eficaz (não é necessário reiniciar):
IV Desative e remova os serviços indesejados:
Então, você está pronto.
Nota: Obviamente, você DEVE adaptar os valores de acordo com o seu sistema (rede, nome da interface ...).
V. Resolvedor de DNS
Como o Ubuntu Bionic Beaver (18.04) utiliza o resolvedor de stub DNS fornecido pelo SYSTEMD-RESOLVED.SERVICE (8), você também deve adicionar o DNS a ser contatado no arquivo /etc/systemd/resolved.conf. Por exemplo:
e, em seguida, reinicie o serviço resolvido pelo systemd uma vez feito:
As entradas DNS no arquivo ifupdown INTERFACES (5), conforme mostrado acima, são relevantes apenas se você usar RESOLVCONF (8) ou similar.
fonte
apt-get install
quando você não tem configuração de rede. Que idéia brilhante, canônica.# systemctl unmak networking
-># systemctl unmask networking
dns-domain
edns-search
no arquivo de interfaces, deverá configurar oDomains
parâmetro em resolved.conf, acho? Enfim, um ótimo trabalho ao juntar tudo isso aqui, provavelmente me salvou muito tempo :) #A equipe da Netplan postou uma resposta oficial em suas perguntas frequentes aqui :
Veja a resposta do Nuxwin para obter instruções mais completas.
fonte
Netplan e yaml são, na melhor das hipóteses, frágeis no ambiente apenas de servidor (erros de indentação custarão você). O Interfaces perdoava o suficiente, facilitando bastante o gerenciamento das configurações de rede em um servidor.
A Netplan apresenta novas camadas. Mas o verdadeiro problema é que o U18 interrompe a desativação e não termina o trabalho com o NetPlan. Se você retornar ao / etc / network / interfaces reinstalando o ifupdown, o gerenciamento do DNS não funcionará mais no arquivo de interfaces. Quaisquer entradas dns-nameservers são ignoradas. Em vez disso, o dns é definido em /etc/resolv.conf. Mas você não pode editar esse arquivo porque ele é reescrito toda vez que a máquina é inicializada. WTF? O Netplan foi projetado para ser gerenciado por uma GUI, para que aqueles de nós no campo apenas de servidores permaneçam com um sistema frágil que temos que andar na ponta dos pés. Ubuntu não é bom!
por que não nos fornecer uma maneira de redirecionar as configurações em / etc / network / interfaces para o netplan na inicialização para nos ajudar enquanto você finaliza o netplan?
fonte
Por que não apenas configurar com o netplan?
Bem, como é configurado no 18.04-Desktop, é uma única linha que entrega o controle a todas as interfaces do NetworkManager.
Embora isso seja provavelmente adequado para 95% dos usuários, lembre-se de que o NetworkManager só será executado quando você estiver conectado a uma sessão.
Se você deseja que sua máquina atue como servidor / área de trabalho, por exemplo, comece a servir arquivos para máquinas locais, atue como servidor VNP, etc ... ou qualquer coisa "sofisticada" antes que alguém faça login, apenas pelo simples fato de ser ativado, você terá problemas com a configuração do padrão 18.04-Desktop.
Obviamente, a alternativa seria usar a configuração server-Netplan, que, até onde eu li (não verificado por mim), passa o controle para systemd-networkd. Nesse caso, é melhor você aprender como o systemd faz as coisas como uma substituição do antigo init do System V.
Se você seguir esse caminho, ainda precisará fazer alterações no netplan yaml, pois em uma versão para desktop o controle é dado ao NetworkManager.
fonte
netplan
diretórios estão vazios!A chave é saber que esse
cloud.init
é o programa de controle real.Dito isto, a linha no
netplan
arquivo de configuração "opcional: true" é obrigatória.Saber disso facilitou.
Acabei de remover
01-network-manager-all.yaml
e copiei para/root/save/
. Em seguida, coloque uma configuração válida conhecida em vez dela50-cloud-init.yaml
: seu conteúdo a seguir:Em seguida, reinicie e deve estar funcionando bem.
A configuração válida conhecida veio da rede 802.3ad ligada configurada usando netplan no Ubuntu 18.04 .
fonte
De acordo com esta resposta, a solução é remover todos os arquivos .yaml operacionais: Ubuntu 17.10 disable netplan
Eu não removeria nada sem fazer backup. Podemos fazer isso facilmente movendo os arquivos para o lado. Primeiro, localize os arquivos:
No meu sistema 18.04, parece que o único arquivo operacional é /etc/netplan/01-network-manager-all.yaml. Vamos movê-lo:
... onde usuário é seu nome de usuário.
Agora verifique se o arquivo foi realmente removido:
Agora faça suas adições ao / etc / network / interfaces conforme necessário.
Reinicie.
Alguma melhoria?
Nota de rodapé: O processo exato para fazer isso é difícil de encontrar. Podemos precisar refinar um pouco à medida que avançamos.
fonte
ifup
/ifdown
,/etc/init.d/networking restart
,service networking restart
, e os métodos Systemd, comosystemctl restart networking
,systemctl restart Network-Manager.service
etc, mas nenhuma delas fosse possível para mim depois de instalar o Ubuntu 18.04.sudo ip link set eth0 down
seguido por:sudo ifup -v eth0
Obviamente, substitua sua interface pelo eth0 mítico.ifupdown
não está instalado por padrão; portanto, quando você o chamaifup
, apenas informa como instalá-lo. No entanto,sudo ip link set eth0 down
seguido porsudo ip link set eth0 up
desligar e ligar a interface novamente.