Como configurar várias interfaces de rede no Ubuntu 18.04
Para garantir a operação correta de várias interfaces de rede com endereços IP públicos no Ubuntu 18.04 ao mesmo tempo, não basta apenas escrever parâmetros básicos para elas no Netplan. Nesse caso, todos os pacotes deixarão o servidor pelo gateway padrão, o que significa que o servidor estará disponível somente em um endereço IP público. Esse é o ponto negativo do roteamento pelo endereço de destino. Aqui, adicionaremos as configurações necessárias no Netplan para que várias interfaces de rede funcionem corretamente no Ubuntu 18.04.
Desativar o ajuste automático do Netplan
Quando você cria um servidor Ubuntu 18.04 no Serverspace ou adiciona novas interfaces de rede a ele no painel de controle, os parâmetros de conexão são configurados automaticamente. Além disso, durante uma reinicialização do sistema, o arquivo de configuração do Netplan também é substituído pelos parâmetros reais. Portanto, todas as alterações feitas no modo manual serão perdidas. Para evitar isso, vamos desativar essa função.
Primeiro, certifique-se de que você adicionou o número necessário de adaptadores de rede ao servidor e, em seguida, crie um arquivo:
nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
Com o seguinte conteúdo:
network: {config: disabled}
Após salvar o arquivo, a função de configuração automática das interfaces de rede será desativada.
Roteamento para várias interfaces de rede
A tarefa de garantir a disponibilidade do servidor por meio de várias conexões de rede e endereços IP será resolvida com o uso de roteamento baseado em políticas, ou seja, com base no endereço do remetente. Assim, cada pacote será enviado do servidor pelo mesmo endereço pelo qual chegou até ele. Em primeiro lugar, você precisa criar tabelas de roteamento para essa finalidade e, para isso, precisa do pacote iproute2. Se ele não estiver presente no sistema, você precisará instalá-lo:
apt-get install iproute2
Agora, abra o arquivo:
nano /etc/iproute2/rt_tables
É necessário adicionar tantas tabelas ao final quanto o número de interfaces de rede a serem configuradas. Uma tabela é uma única linha de dois números separados por um espaço. O primeiro número é a prioridade e o segundo é o nome da tabela. Por exemplo:
60 60
61 61
62 62
Assim, adicionaremos 3 tabelas. Agora é hora de adicionar configurações de roteamento ao Netplan, abra sua configuração em /etc/netplan/ com a extensão .yaml (o nome do arquivo pode ser diferente em seu sistema):
nano /etc/netplan/50-cloud-init.yaml
O Netplan é sensível à formatação do arquivo de configuração. É muito importante manter o número correto de espaços e não usar tabulações, caso contrário, o resultado não passará na verificação. Um exemplo válido é mostrado abaixo. Ele mostra um bloco de configurações para uma interface (enp0s5); você verá os mesmos blocos na configuração para cada uma das conexões. Você precisa adicionar as configurações routes e routing-policy em cada um dos blocos e deixar o restante das configurações como estão. Explicação dos valores adicionados:
- para - qualquer IP de sub-rede de destino - 0.0.0.0/0
- via - gateway IP da conexão de rede atual
- table - nome de uma das tabelas adicionadas a rt_tables. Deve corresponder a routes e routing-policy de cada conexão. Mas para interfaces diferentes - tabelas diferentes.
- from - endereço IP dessa interface
- prioridade - pode ser deixada como está
network: version: 2 ethernets: enp0s5: addresses: - 12.34.56.78/24 gateway4: 12.34.56.1 match: macaddress: ee:ff:gg:hh:ii:jj mtu: 1500 servidores de nomes: endereços: - 8.8.8.8 - 1.1.1.1 - 8.8.4.4 busca: [] set-name: enp0s5 routes: - to: 0.0.0.0/0 via: 12.34.56.1 table: 60 routing-policy: - from: 12.34.56.78 table: 60 prioridade: 300
Depois de terminar de editar a configuração, vamos nos certificar de que ela está correta:
netplan generate
Se a saída estiver vazia, então tudo foi feito corretamente. Se houver erros, você verá algo parecido com isto:
/etc/netplan/50-cloud-init.yaml:24:1: YAML inválido: tabulações não são permitidas para recuo: - to: 0.0.0.0/0 ^
Foram encontradas tabulações neste exemplo. Depois de corrigir os erros e passar com êxito pela validação, aplique as alterações:
netplan apply
Agora o servidor estará acessível a todos os endereços IP configurados dessa forma.


