Para sistemas com várias interfaces, somente a interface que deve obter o gateway padrão deve ter "gateway4:" configurado; tendo em mente que o DHCP é bastante provável de configurar o gateway padrão também:
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
match:
macaddress: 02:70:4e:c8:68:e9
enp0s8:
dhcp4: false
addresses: [192.168.33.10/24]
Observe que a rota adicional que você definiu normalmente é desnecessária: 192.168.33.0/24 já pode ser acessada, pois ela está diretamente conectada à interface enp0s8
neste caso (quando addresses:
já lista a sub-rede). Ter um metric:
definido como 0 pode confundir ainda mais o kernel.
Se você precisar da interface com IP estático (nesse caso, enp0s8
para ter o gateway padrão em vez da interface que faz DHCP, você pode definir uma rota com um valor de métrica menor do que 100; para que seja escolhido antes o gateway padrão definido via DHCP por systemd-networkd . Por exemplo:
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
match:
macaddress: 02:70:4e:c8:68:e9
enp0s8:
dhcp4: false
addresses: [192.168.33.10/24]
routes:
- to: 0.0.0.0/0
via: 192.168.33.1
metric: 50