ip route
からに切り替えると、「正しい」インターフェースを介して応答パケットを送信できませんnetplan
。
設定:
サーバー - 2つのインターフェイス
eth1
、VLAN 101、10.0.1.2/24、デフォルトルート、10.0.1.1ゲートウェイ
eth2
、VLAN 102、10.0.2.2/24
クライアント
eth0
VLAN 102、10.0.2.3/24、デフォルトルート、10.0.2.1ゲートウェイ
途中でVLAN間のトラフィックを許可するルータ(pfsense)があります。
再現段階
クライアントからサーバーへの接続を使用すると、すべて10.0.2.2
が期待どおりに機能します。
クライアントからサーバーに接続すると、10.0.1.2
接続が30秒間開いたままになってから通信が停止します。私はそのパスが「より良い」一致であるため、サーバーからの戻りパケットがインターフェイスをeth2
使用して送信されると思います。
この水勢の記事を見つけました。https://www.suse.com/support/kb/doc/?id=000016626私がそうする限り、これは私の場合には効果がありますip route
。たとえば、
ip route add 10.0.1.0/16 dev eth1 src 10.0.1.2 table T101
ip route add default via 10.0.1.1 dev eth1 src 10.0.1.2 table T101
ip rule add from 10.0.1.2 table T101 prio 1
ip route add 10.0.2.0/16 dev eth2 src 10.0.2.2 table T102
ip route add default via 10.0.2.1 dev eth2 src 10.0.2.2 table T102
ip rule add from 10.0.2.2 table T102 prio 1
質問
しかし、netplanを使用すると、同様の結果が得られません。
私のネットワーク計画の試み:
network:
ethernets:
eth0:
dhcp4: false
optional: true
vlans:
vlan101:
id: 101
link: eth0
addresses: [10.0.1.2/24]
routing-policy:
- from: 10.0.1.2
table: 101
priority: 1
routes:
- to: default
via: 10.0.1.1
scope: link
from: 10.0.1.2
table: 101
- to: default
via: 10.0.1.1
vlan102:
id: 102
link: eth0
addresses: [10.0.2.2/24]
macaddress: dc:a6:32:c7:09:15
routing-policy:
- from: 10.0.2.2
table: 102
priority: 1
routes:
- to: default
via: 10.0.2.1
scope: link
from: 10.0.2.2
table: 102
version: 2
答え1
私の考えでは、私が得たと思います。
network:
ethernets:
eth0:
dhcp4: false
optional: true
vlans:
vlan101: # primary vlan with the gatewau
id: 101
link: eth0
addresses: [10.0.1.2/24] # maybe good idea to add dns server 'nameservers'
routing-policy:
- from: 10.0.1.2
table: 101
priority: 1
routes:
- to: 10.0.1.0/16
from: 10.0.1.2
table: 101
- to: default
via: 10.0.1.1
scope: global
from: 10.0.1.2
table: 101
- to: default
via: 10.0.1.1
from: 10.0.1.2
vlan102: # you can have as many of those as you'd like
id: 102
link: eth0
addresses: [10.0.2.2/24]
macaddress: dc:a6:32:c7:09:15
routing-policy:
- from: 10.0.2.2
table: 102
priority: 1
routes:
- to: 10.0.2.0/16
from: 10.0.2.2
table: 102
- to: default
via: 10.0.2.1
scope: global
from: 10.0.2.2
table: 102
version: 2