従来のDebianセットアップを新しいUbuntuセットアップに移行しています。以前に/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
Ubuntuを使用しているので、netplanとrouting-policyセクションを使用する必要があるようです。具体的には、私は使用できるはずだと思う:
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: yes
dhcp6: yes
routing-policy:
- table: 201
fwmark: 1
/etc/iproute2/rt_table
のtable.tunnelは201です。 fwmarkは、17.10に含まれるnetplanバージョンで利用可能として文書化されていないため、Ubuntu 18.04にアップグレードしました。
構成を適用しようとすると、次のエラーが表示されます。
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
(ルーティングではなく)routing-policyにto/fromが必要であることが間違っているようです。これは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.
ランダムにアドレスを指定しても、不明なキーfwmarkがスローされます(これはマニュアルページに記載されていますが)。
誰もが考えを持っていますか?
これはネットプランのバグであることが判明しました。これをアップストリームバグレポートとしてここに報告しました。 https://bugs.launchpad.net/netplan/+bug/1767955