パスを追加すると
ip route add 172.10.1.0/24 via 10.0.0.100 dev eth0
その後、パスがすでに存在するため、同じコマンドを2回目に実行すると失敗します。
この動作はどこにも文書化されていません。この動作に頼るのは安全ですか?それとも、他の/将来のバージョンのLinuxで冗長ルーティングを許可しますか?
はい
ルーティングテーブルを構成するbashスクリプトを作成しています。スクリプトを何度も実行しても安全にしたいです。
2つのオプションがあります。
コマンドをrunステートメントに入れて、
ip route add
正規表現を使用してパスが正しいことを確認してください。if
ip route list
ただ実行してください。
ip route add
パスがすでに存在するため、失敗した場合は無視してください。
最初は依存する必要があるため、あまり強力には見えませんip route list
。 2番目は文書化されていない動作に依存しているようです。
答え1
ip route replace
代わりに使用できますadd
。
add
これは同じパラメータを使用しますが、パスが現在存在しても失敗しません。
man ip-route
私たちに言ったように
IP ルート交換の
変更または新規追加
パスがまだ設定されていない場合は、自動的にパスを追加し、指定したパスに「変更」(交換)します。