Netplan e como cozinhá-lo corretamente

O Ubuntu é um sistema operacional incrível, não trabalha há muito tempo com o servidor Ubuntu e não fazia sentido atualizar o seu Desktop a partir de uma versão estável. E há pouco tempo, tive que encontrar uma nova versão do servidor Ubuntu 18.04, minha surpresa não tinha limites quando percebi que eu era inferior à vida e não podia configurar a rede porque o sistema antigo de configuração de interfaces de rede usando as ferramentas de edição de arquivos / etc / network / interfaces se foi. Mas o que a substituiu? algo terrível e à primeira vista completamente incompreensível, conheça a Netplan.

Francamente, no começo eu não conseguia entender qual era o problema e "por que era necessário, porque tudo era tão conveniente", mas depois de praticar um pouco, percebi que ele tinha seu próprio charme. E, assim, o suficiente para continuar a letra, o que é o Netplan para configurar a rede no Ubuntu, pelo menos "em outras distribuições não vi nada parecido com isso". A diferença significativa entre o Netplan é que a configuração é escrita em YAML , sim, você ouviu direito sobre o YAML, os desenvolvedores decidiram acompanhar os tempos (e quanto eles não elogiaram, eu ainda considero uma linguagem terrível). dessa linguagem é que ela é muito sensível a espaços, vejamos a configuração usando um exemplo.

Os arquivos de configuração estão localizados no caminho /etc/netplan/file.yaml, entre cada bloco, quando deve haver + 2 espaços.

1) O cabeçalho padrão fica assim:

network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4:no 

Vejamos o que acabamos de fazer:

  • rede: é o início do bloco de configuração.
  • renderer: networkd - aqui indicamos o gerenciador de rede que usaremos, seja networkd ou NetworkManager
  • versão: 2 - aqui, como eu a entendo, a versão YAML.
  • ethernets: - este bloco diz que vamos configurar o protocolo ethernet.
  • enps0f0: - indica qual adaptador de rede vamos configurar.
  • dhcp4: no - desabilite o DHCP v4, para 6 v6 dhcp6, respectivamente

2) Vamos tentar atribuir endereços IP:

  enp3s0f0: dhcp4:no macaddress: bb:11:13:ab:ff:32 addresses: [10.10.10.2/24, 10.10.10.3/24] gateway4: 10.10.10.1 nameservers: addresses: 8.8.8.8 

Aqui configuramos o servidor de papoula, ipv4, gateway e dns. Observe que, se precisarmos de mais de um endereço IP, os escreveremos separados por vírgulas com um espaço obrigatório depois.

3) E se precisarmos de vínculo ?

  bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1 

  • títulos: - um bloco explicando que vamos configurar o vínculo.
  • bond0: - um nome de interface arbitrário.
  • interfaces: - um conjunto de interfaces coletadas em colagem, '' como indicado anteriormente, se vários parâmetros forem descritos entre colchetes ".
  • parâmetros: - descreva o bloco de configurações de parâmetros
  • mode: - indica o modo pelo qual a ligação funcionará.
  • mii-monitor-interval: - defina o intervalo de monitoramento para 1 segundo.

Dentro de um bloco chamado bond, você também pode configurar parâmetros como endereços, gateway4, rotas etc.

Adicionamos redundância para nossa rede, agora resta apenas travar a vlan e a configuração pode ser considerada completa.

 vlans: vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] gateway: 10.10.10.1 routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true 

  • vlans: - declare o bloco de configuração da vlan.
  • vlan10: - qualquer nome da interface vlan.
  • id: - a tag da nossa vlan.
  • link: - a interface através da qual a vlan estará disponível.
  • rotas: - declaramos o bloco de descrição da rota.
  • - para: - defina o endereço / sub-rede para o qual a rota é necessária.
  • via: - especifique o gateway através do qual nossa sub-rede estará disponível.
  • on-link: - indica que é sempre necessário registrar rotas ao elevar o link.

Preste atenção em como eu coloco espaços, no YAML é muito importante.

Aqui descrevemos interfaces de rede, criamos vínculos e até adicionamos vlan-s. Vamos aplicar nossa configuração, o comando netplan apply verificará se há erros na configuração e, se for bem-sucedido, a seguir, a configuração aumentará quando o sistema reiniciar.

Tendo coletado todos os blocos de código anteriores, eis o que temos:

 network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4: no ensp3s0f1: dhcp4: no bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1 vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true vlan20: id: 20 link: bond0 dhcp4: no addresses: [10.10.11.2/24] gateway: 10.10.11.1 nameserver: addresses: [8.8.8.8] 

Portanto, nossa rede está pronta para operação, tudo acabou não sendo tão assustador quanto parecia no começo e o código ficou muito bonito e legível. Obrigado pelo PC pela netplan, há um excelente manual em https://netplan.io/ .

Source: https://habr.com/ru/post/pt448400/


All Articles