Recentemente, configurei um servidor com sua rede gerenciada diretamente por systemd-networkd
(nuked netplan.io
e Network Manager) e dei IPs estáticos como este:
/etc/systemd/network/10-ethernet.network
[Match]
Name=eno1
[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=192.168.1.1
Após reiniciar systemd-networkd.service
, as rotas padrão ficam assim:
default via 192.168.1.1 dev eno1 proto static
default via 172.16.0.1 dev eno2 proto static
default via 172.31.255.1 dev eno3 proto static
^^^
Como existem vários NICs e quero fazer eno1
o preferido, quero que as rotas sejam definidas assim:
default via 192.168.1.1 dev eno1 proto static metric 100
default via 172.16.0.1 dev eno2 proto static metric 300
default via 172.31.255.1 dev eno3 proto static metric 500
^^^^^^^^^^
Sem o metric
valor, o padrão é 0, o que significa que todas as rotas têm a mesma prioridade (mais alta), o que quero evitar.
Já tentei esta configuração:
[Route]
Gateway=192.168.1.1
Metric=100
Mas ele só gera uma rota extra com a métrica desejada enquanto as originais (missing metric
) ainda permanecem.
Estou executando no Systemd 240. Como devo fazer isso?
Neste tópico você pode ver os desenvolvedores falando sobre como as coisas funcionam versus como as coisas deveriam funcionar: https://github.com/systemd/systemd/issues/928
Eles dão alguns exemplos:
Sob a etiqueta Rota
Sob a etiqueta DHCP
É explicado que:
Além disso, há uma ressalva:
É possível que a funcionalidade exata que você deseja ainda não exista, pois o ticket que citei está aberto no momento. Sinta-se à vontade para dar feedback diretamente aos desenvolvedores e participar da discussão se achar que tem uma ideia sobre como isso deveria funcionar.