Isso acaba sendo um bug no netplan. Eu relatei isso como um relatório de bug upstream aqui: link
Estou migrando uma configuração Debian legada para uma nova configuração do Ubuntu. Eu defini anteriormente, em /etc/network/interfaces
:
post-up /sbin/ip rule add fwmark 1 table table.tunnel
pre-down /sbin/ip rule del fwmark 1 table table.tunnel
Agora que estou no Ubuntu, parece que preciso usar o netplan e a seção de política de roteamento. Especificamente, acho que deveria poder usar:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
dhcp6: yes
routing-policy:
- table: 201
fwmark: 1
Em que table.tunnel é 201 em /etc/iproute2/rt_table
. Acabei de atualizar para o Ubuntu 18.04, já que o fwmark não está documentado como disponível na versão netplan incluída em 17.10.
Quando tento aplicar a configuração, recebo o erro:
The overwriting error message was: Error in network definition
//etc/netplan/01-netcfg.yaml
line 10 column 7: IP routing policy must include either a 'from' or 'to' IP
Error in network definition //etc/netplan/01-netcfg.yaml
line 10 column 9: unknown key fwmark
Parece incorreto que eu preciso ter uma política de roteamento de / para em (em vez de roteamento) e isso é sugerido na página man:
routes (mapping)
The routes block defines standard static routes for an
interface. At least to and via must be specified.
....
routing-policy (mapping)
The routing-policy block defines extra routing policy for a
network, where traffic may be handled specially based on the
source IP, firewall marking, etc.
Mesmo se eu colocar em um endereço aleatório, ele ainda lança a chave desconhecida fwmark (mesmo que isso seja indicado na página man).
Alguém tem algum pensamento?