ポリシーベースのルーティングのためのIPルートとIPルールの設定を維持する(iproute2)

ポリシーベースのルーティングのためのIPルートとIPルールの設定を維持する(iproute2)

私は現在Fedora Server 23で実行されており、次のコマンドを保存する正しい方法を探しています。

ip route add default via 10.0.2.1 dev ens32 table EXAMPLE_TABLE
ip rule add from 10.1.2.50 lookup EXAMPLE_TABLE prio 1000

nmcliを介して(理想的に)または他の同様の手段を介して合理的な方法。

同様の例を見たことがあります。路線名ファイルにありますが、デフォルトのルールが正しく適用されないようです。

再起動後に実行すると、ip route show table EXAMPLE_TABLE少なくとも私の経験ではしがみつかないことがわかります。

これに対する洞察力は興味深いでしょう。ありがとうございます。

答え1

私が知っている限り、デフォルトパスを維持する最も簡単な方法は、デフォルトパスターゲットを/etc/sysconfig/network-scripts/ifcfg-<device>GATEWAY値としてファイルに追加することです。このデフォルトパスはインターフェイスが起動されるたびに生成され、他のパスはroute-<device>同じディレクトリ内のファイルを介して保持されます。

答え2

保存するアイテムはrules次の場所に保管する必要があります。

/etc/sysconfig/network-scripts/rule-lo

保存するアイテムはroutes次の場所に保管する必要があります。

/etc/sysconfig/network-scripts/route-lo

ルールを使用することをお勧めします。ルオそしてパス -ルオその設定を保存するデバイスに関係なく、ファイルはループバックインターフェイスのルールとパスであるかのように保存されます。しばらく前に、CentOS 7.8では、おそらくここで観察されたのと同じ問題を観察しました。ここで、各正しいデバイスファイルに保存されているPBRルールは無視されていますが、* -に保存されているすべてのルールは次のとおりです。ルオ尊敬します。この問題の原因をさらに明らかにしたかったのですが、当時はもう調査していませんでした。一部のログは、NetworkManagerスケジューラが担当していることを示します。

完全な回答のために、ルーティングテーブルはテーブル番号で識別されます。名前でルーティングテーブルを参照するには、名前マップを作成する必要があります。たとえば、「EXAMPLE_TABLE」という名前のテーブル番号 100 を参照します。

echo '100 EXAMPLE_TABLE' | sudo tee -a /etc/iproute2/rt_tables

関連情報