Proxmoxにスタティックルートを設定する方法
自宅サーバで運用しているProxmoxにスタティックルートを設定しようとしたら、
Web GUIから追加する方法が分からなかったのでメモ。
結論を先に書くと、Web GUIから追加する事は出来ずCLIで設定を直接弄る必要があった。
筆者のProxmox環境では、各NICでサーバインスタンスのトラフィックを出しつつ、
ホストサーバにも接続出来る様にする必要があった為、
物理NIC→ブリッジ→管理I/Fの様に仮想NICを構成している。
この状態でセグメント毎に戻り通信を分散出来るようにスタティックルートを書きたかったのだが、
画像の通りWeb GUIではゲートウェイ(デフォルトルート)しか設定出来なかった。
同じ事を考えている人は多いと思うので調べてみたら次のフォーラムがヒットした。
- Proxmox VE: Networking and Firewall > up ip route add is ignored
要約すると、”/etc/network/interfaces”にスタティックルートを直記するのが唯一の手段らしい。
筆者はmgmt1の”OVS IntPort”にプライベートIP宛のルーティングを切りたかったので次の様にした。
$ cat /etc/network/interfaces
auto mgmt1
iface mgmt1 inet static
address 192.0.2.2/24
post-up route add -net 10.0.0.0/8 gw 192.0.2.1
post-up route add -net 172.16.0.0/12 gw 192.0.2.1
post-up route add -net 192.168.0.0/16 gw 192.0.2.1
ovs_type OVSIntPort
ovs_bridge vmbr1
|
細かく設定するならpost-downとルーティング削除も追加すべきだが、
そこまで厳密な制御は今回いらなかったので設定しなかった。
………
2022年末頃のProxmox VE 7.2までは”route add”で動いていたのだが、
Proxmox VE 7.3でバグってしまったので下記に変更した。
何回か再起動もしてみたが問題なく適用出来ている。
$ cat /etc/network/interfaces
auto mgmt1
iface mgmt1 inet static
address 192.0.2.2/24
post-up ip route add 10.0.0.0/8 via 192.0.2.1 dev ${IFACE}
post-up ip route add 172.16.0.0/12 via 192.0.2.1 dev ${IFACE}
post-up ip route add 192.168.0.0/16 via 192.0.2.1 dev ${IFACE}
pre-down ip route del 10.0.0.0/8 via 192.0.2.1 dev ${IFACE}
pre-down ip route del 172.16.0.0/12 via 192.0.2.1 dev ${IFACE}
pre-down ip route del 192.168.0.0/16 via 192.0.2.1 dev ${IFACE}
ovs_type OVSIntPort
ovs_bridge vmbr1
|
この設定でWeb GUIからmgmt1にデフォルトルートを切りなおしたり、
仮想NICのVLAN変更なども実施したが今の所問題なく動いている。
小技なのとDebian/Ubuntuに慣れた人ならお手の物だが、
RHEL使いやNetworkManagerを使っている人は意外と嵌るので備忘録としておく。