Geralmente, há problemas em ter vários gateways definidos para interfaces. Encaminhar os pacotes para um e depois para o outro pode causar confusão na rede, por isso, muitas vezes, você é mais bem atendido por ter um único gateway padrão, a menos que você realmente saiba o que está fazendo.
Em suma, você geralmente quer apenas um
gateway4: xx.xx.xx.xx
linha na sua configuração.
Se você tiver várias rotas para os IPs individuais da interface, poderá controlar exatamente como eles se comportarão escrevendo rotas estáticas (e definindo a métrica com base na prioridade dos endereços), assim:
network:
version: 2
renderer: NetworkManager
ethernets:
enp0s3:
dhcp4: no
dhcp6: no
addresses: [ 192.168.0.2/32, 172.16.0.2/16 ]
nameservers:
search: [usp.br]
addresses: [ 192.168.0.100, 192.168.0.102 ]
routes:
- to: 0.0.0.0/0
via: 192.168.0.1
- to: 0.0.0.0/0
via: 172.168.0.1
Você também não precisa de opcional: true : ele só pára de atrasar a inicialização se a interface não estiver chegando rápido o suficiente, o que não deve ser um problema, dado que você possui endereços estáticos específicos. Adicionar opcional: true também tem o efeito colateral de não bloquear alguns destinos em systemd , o que pode significar que um servidor não iniciará todos os serviços imediatamente se esses serviços precisa da rede.