手動ルートは、カーネルが送信インターフェースと次ホップを選ぶ方法を変えます。誤るとホストが切断されたり、機密性の高いトラフィックが別経路へ向けられたりするため、状態を変える前に有効なルート、設定の管理主体、復旧経路を確認してください。
ネットワーク設定 · レッスン 2
ルート
`ip` を使って Linux のルートを調査、追加、置換、削除し、安全に検証する方法を学びます。
現在の判断を調べる
関連するルートを記録し、現在どのように宛先へ到達するかをカーネルに問い合わせます。
$ ip -4 route show
$ ip route get 192.168.2.25
ポリシールールや別テーブルがある場合は、それらも確認します。ルート検索はローカルの判断を示すだけで、トラフィックを送信しません。
ルート変更前に ip route get DESTINATION を実行するのはなぜですか?
ルートを追加または置換する
到達可能な次ホップを通る正規化されたプレフィックスへのルートを追加します。
$ sudo ip route add 192.168.2.0/23 via 10.11.12.3 dev enp1s0
ゲートウェイは、該当リンクまたは明示された有効なオンリンク設計を通じて到達可能でなければなりません。同等のルートがすでにあると add は失敗します。replace はルートを作成または変更するため、冪等な設定には便利ですが、動作中の状態を上書きする可能性があります。対象を正確に確認してから使ってください。
既存ルートを対象に ip route add を実行すると、通常どうなりますか?
正確に削除する
候補やテーブルが複数あり得る場合は、ルート属性を正確に指定して削除します。
$ sudo ip route del 192.168.2.0/23 via 10.11.12.3 dev enp1s0
宛先だけを指定した削除は、意図より広く一致したり、曖昧になったりすることがあります。削除前に、元のルートを復元するコマンドを記録してください。
ルート削除時に次ホップとデバイスも指定するのはなぜですか?
永続化とリモート操作の安全性
ip route コマンドが変更するのは、現在のカーネル状態だけです。NetworkManager、systemd-networkd、netplan、ifupdown、DHCP、ルーティングデーモン、オーケストレーションが後で置き換える場合があります。実行時の動作をテストしてから、稼働中の管理主体へルートを保存してください。
リモートホストでは独立したコンソールを確保し、変更対象のルートに依存しないロールバックを用意します。その後、ルート検索、近隣状態、双方向のトラフィック、実際のサービスを検証します。
ネットワークマネージャーを再読み込みした後、手動追加したルートはどうなる可能性がありますか?
レッスン完了
ルート を完了しました
これで、範囲を限定し、復旧可能な手順で Linux のルートを変更できます。
現在のルート、ルール、有効な検索結果を記録する。
正規化されたプレフィックスと到達可能な次ホップを使う。
追加と意図的な置換を区別する。
正確なルートを削除し、復元コマンドを残す。
稼働中の管理主体で永続化し、双方向を検証する。