Ubuntu Sistema operacional incrível, faz tempo que não trabalho com ele. Ubuntu servidor, e atualizar meu Desktop de uma versão estável não fazia sentido. Então, não faz muito tempo, tive que lidar com uma versão totalmente nova. Ubuntu No servidor 18.04, fiquei absolutamente surpreso ao perceber que estava muito desatualizado e não conseguia configurar minha rede porque o bom e velho sistema de configuração de interfaces de rede editando o arquivo /etc/network/interfaces havia desaparecido. E o que o substituiu? Algo assustador e, à primeira vista, completamente incompreensível — apresento-lhes o "Netplan".
Para ser honesto, a princípio não entendia qual era a vantagem e "por que era necessário, afinal, tudo era tão prático", mas depois de um pouco de prática percebi que tinha seu charme. Então, chega de conversa fiada, vamos continuar com o que é o Netplan. Trata-se de um novo utilitário para configurar uma rede em UbuntuPelo menos, "não encontrei nada parecido em outras distribuições". Uma diferença significativa em relação ao Netplan é que a configuração é escrita na linguagem. , sim, você ouviu direito YAML, os desenvolvedores decidiram acompanhar os tempos (e não importa o quanto elogiem, ainda acho que é uma linguagem terrível). A principal desvantagem desta 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/filename.yaml, entre cada bloco deve haver + 2 espaços.
1) O cabeçalho padrão é assim:
network:
version: 2
renderer: networkd
ethernets:
enp3s0f0:
dhcp4:noVejamos o que fizemos agora:
- rede: - este é o início do bloco de configuração.
- renderizador: networkd - aqui indicamos o gerenciador de rede que usaremos, é networkd ou NetworkManager
- versão: 2 - aqui, pelo que entendi, está a versão YAML.
- ethernets: - este bloco indica que iremos configurar o protocolo ethernet.
- enps0f0: — indica qual adaptador de rede iremos configurar.
- dhcp4:no - desabilita 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.8Aqui configuramos o servidor poppy, ipv4, gateway e dns. Observe que se precisarmos de mais de um endereço IP, então os escrevemos separados por vírgulas e com um espaço obrigatório depois.
3) E se precisarmos ?
bonds:
bond0:
dhcp4: no
interfaces: [enp3s0f0, enp3s0f1]
parameters:
mode: 802.3ad
mii-monitor-interval: 1- bonds: - um bloco explicando que iremos configurar o bonding.
- bond0: - nome de interface arbitrário.
- interfaces: - um conjunto de interfaces coletadas em um bond-ding, “como dito anteriormente, se houver vários parâmetros, nós os descrevemos entre colchetes”.
- parâmetros: — descreve o bloco de configurações de parâmetros
- modo: — especifique o modo pelo qual a ligação funcionará.
- mii-monitor-interval: — defina o intervalo de monitoramento para 1 segundo.
Dentro do bloco denominado bond, você também pode configurar parâmetros como endereços, gateway4, rotas, etc.
Adicionamos redundância para nossa rede, agora só falta instalar 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: — declara o bloco de configuração vlan.
- vlan10: — nome arbitrário da interface vlan.
- id: — tag da nossa vlan.
- link: — interface através da qual a vlan estará acessível.
- rotas: — declara um bloco de descrição de rota.
- — para: — definir o endereço/sub-rede para o qual a rota é necessária.
- via: — especifique o gateway através do qual nossa sub-rede estará acessível.
- on-link: — indicamos que as rotas devem ser sempre registradas quando o link for criado.
Preste atenção em como coloco os espaços; isso é muito importante no YAML.
Então descrevemos as interfaces de rede, criamos vínculos e até adicionamos vlans. Vamos aplicar nossa configuração, o comando netplan apply irá verificar se há erros em nossa configuração e aplicá-la se for bem-sucedido. Em seguida, a configuração será levantada por conta própria quando o sistema for reinicializado.
Depois de coletar todos os blocos de código anteriores, obtivemos isso:
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]
Agora que nossa rede está pronta para funcionar, tudo acabou não sendo tão assustador quanto parecia a princípio e o código ficou muito bonito e legível. PC obrigado pelo netplan existe um excelente manual no link .
Fonte: habr.com
