Devido a algumas peculiaridades de rede envolvendo VPNs e intervalos de IP conflitantes, tenho duas sub-redes roteando para duas interfaces diferentes. Eu gostaria de fazer um endereço IP em uma sub-rede sair por um gateway diferente.
Eu posso fazer isso executando:
$ route add -host 1.2.3.4 gw 5.6.7.8
$ ip route show
1.2.3.4 via 5.6.7.8 dev eth0 scope link
Eu gostaria de tornar esta mudança permanente. Como estou usando systemd-networkd, estou tentando fazer isso atualizando o existente /etc/systemd/network/50-dhcp.conf
:
[Match]
Name=eth0
[Network]
DHCP=ipv4
[Route]
#Gateway=5.6.7.8
Destination=1.2.3.4/32
Isso funciona, mas sem a Gateway
linha não define a rota:
$ ip route show
1.2.3.4 dev eth0 proto static scope link
Se eu descomentar a Gateway
linha, a nova rota não aparece!
Como posso especificar um gateway ao adicionar a rota estática usando systemd-networkd?
Não posso dizer que sei qual foi a correção, mas depois de atualizar para a
systemd
versão 242, o problema desapareceu e agora funciona, quando você lista as opçõesGateway
eDestination
.Você deve olhar para este post:
Qual é a melhor maneira de adicionar uma rota permanente?
Ele explica como você deve:
Crie uma tabela de roteamento nomeada, no caso abaixo a tabela de roteamento é chamada de "mgmt" e obtém o número "200".
Originalmente o arquivo /etc/iproute2/rt_tables se parece com isso, com alguns números reservados:
O post continua especificando como adicionar as rotas:
Obrigado ao usuário Christopher por esta resposta.