Como configurar várias interfaces de rede no CentOS 8
Se houver duas ou mais interfaces de rede com endereços IP públicos no sistema, não basta fazer as configurações de rede corretas para garantir sua disponibilidade na Internet. A desvantagem do roteamento padrão é que todos os pacotes de rede deixarão o host pelo gateway padrão. E, ao mesmo tempo, não importa a qual das interfaces eles chegaram inicialmente. Neste tutorial, configuraremos a disponibilidade de várias interfaces de rede externas no CentOS 8 usando o roteamento baseado na origem.
Parâmetros da interface de rede
Os servidores em nuvem no Serverspace têm a função de configurar automaticamente as interfaces de rede quando são adicionados ou quando um servidor é criado. Portanto, se você os usar, passe para a próxima etapa. Caso contrário, primeiro você precisa definir os parâmetros corretos das interfaces de rede.
Abra o arquivo de configurações da interface de rede. Seus nomes podem ser visualizados com o comando ip a ou definir novos nomes se eles não estiverem configurados.
nano /etc/sysconfig/network-scripts/ifcfg-enp0s5
Você pode copiar a configuração abaixo e substituir os seguintes valores pelos seus próprios:
- nome da interface (enp0s5)
- gateway (GATEWAY)
- endereço MAC (HWADDR)
- Endereço IP (IPADDR)
- máscara de sub-rede (NETMASK)
BOOTPROTO=none
DEFROUTE=yes
DEVICE=enp0s5
GATEWAY=54.43.32.1
HWADDR=56:67:78:89:01:ab
IPADDR=54.43.32.11
MTU=1500
NETMASK=255.255.255.0
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
Configure todas as interfaces de rede da mesma forma. O GATEWAY para a segunda, terceira, etc. interfaces não é especificado, pois esse é o gateway padrão e deve haver apenas um.
Desabilitar o NetworkManager
Configuraremos o roteamento baseado em políticas usando scripts de rede, portanto, desativaremos o NetworkManager e os serviços relacionados:
systemctl mask NetworkManager.service
systemctl stop NetworkManager.service
systemctl mask NetworkManager-wait-online.service
systemctl mask NetworkManager-dispatcher.service
Instale o pacote network-scripts.
[/passo]
dnf install network-scripts
Vamos iniciar o serviço de rede:
[/passo]
systemctl enable network
systemctl start network
Configuração do roteamento baseado na origem
Vamos verificar se o pacote iproute está presente. Se não estiver, instale-o.
dnf install iproute
Adicionar novas tabelas para configurar políticas de roteamento.
nano /etc/iproute2/rt_tables
Adicione registros ao final do arquivo:
400 400
401 401
Cada linha é uma nova tabela. Formato do registro - prioridade espaço nome da tabela. Esses valores devem ser exclusivos em relação a outras entradas no arquivo. A prioridade é numérica, e o nome da tabela pode conter letras. Adicione tantas tabelas novas quantas forem as interfaces que estiver configurando.
Os arquivos a seguir conterão as configurações de roteamento. Para cada interface, você precisa criar um par de arquivos: rule-eth-name, route-eth-name, em que eth-name deve ser substituído pelo nome da interface. Exemplo para a interface enp0s5:
nano /etc/sysconfig/network-scripts/rule-enp0s5
Insira a seguinte linha nela com o endereço IP atual em vez de 54.43.32.11 e o nome da tabela criada na etapa anterior em vez de 400:
from 54.43.32.11 lookup 400
Segundo arquivo:
nano /etc/sysconfig/network-scripts/route-enp0s5
Substitua 54.43.32.0/24 pelo endereço de sua sub-rede, enp0s5 pelo nome da interface, 400 pelo nome da tabela correspondente e 54.43.32.1 pelo gateway para roteamento do tráfego e insira-o no arquivo aberto:
54.43.32.0/24 dev enp0s5 table 400
default dev enp0s5 via 54.43.32.1 table 400
Depois de criar esses arquivos para cada interface de rede, reinicie o serviço de rede e nosso objetivo será alcançado.
systemctl restart network


