Linux Routeでは、「linkdown」と「onlink」とはどういう意味ですか?

Linux Routeでは、「linkdown」と「onlink」とはどういう意味ですか?

私が入力したときip route showIPパスの表示

実際にはどういうlinkdown意味ですか?時にはまだ見ることができますonlink。私もそれが何を意味するのか知りたいですonlink

ルーティングの優先順位に影響しますか?たとえば、図の2つの基本パスは、

答え1

linkdownテーブルに表示され、その状態のインターフェイスを通過するルート用に設定されている状態DOWN。以下を実行してこれを確認できます。

ip a

インターフェイスの状態を探します。私のラップトップでWiFiをオンにしてイーサネットアダプタを外すと、次のようになります。

wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
enp0s25: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000

私のルーティングテーブルには多くのルートがありますが、いくつかのジャンクルートを追加できます。

sudo ip route add 192.168.123.0/24 dev enp0s25
sudo ip route add 192.168.124.0/24 dev wlp3s0

linkdownこれにより、マイテーブルにイーサネットパスが表示されます。

 192.168.123.0/24 dev enp0s25 scope link linkdown 
 192.168.124.0/24 dev wlp3s0 scope link 

onlinkこれは、パスが「インターフェイスプレフィックスと一致しない場合でも、ネクストホップがこのリンクに直接接続されていると仮定する」ことを意味します。したがって、私たちは偽のテーブルを1つにすることもできます:

sudo ip route add 192.168.125.0/24 via 192.168.123.111 dev wlp3s0 onlink

これで、ルーティングテーブルに次のものが表示されます。

192.168.123.0/24 dev enp0s25 scope link linkdown 
192.168.124.0/24 dev wlp3s0 scope link 
192.168.125.0/24 via 192.168.123.111 dev wlp3s0 onlink 

ダウンストリームインターフェイスに接続すると、クールになり、両方を持つことができます。

192.168.126.0/24 via 192.168.123.111 dev enp0s25 onlink linkdown

答え2

linkdownテーブルに表示され、その状態のインターフェイスを通過するルート用に設定されている状態DOWN

onlinkこのオプションが実際に何をしているのかを見てみましょう。

eth0コンピュータでIPアドレス/マスクを設定しました:192.168.0.1/24

何らかの理由で、eth0実際のLANで一貫していない構成のゲートウェイを使用しようとしています。アドレスが10.0.10.1/24であると仮定します。これは、コンピュータに提供した192.168.0.1/24構成と一致しません。

あなたが言うなら:

ip route add default dev eth0 via 10.0.10.1

その後、エラー応答(ネットワークに接続できないなど)が届きます。

なぜ? (厳密には)eth0コンピュータにこのLANのネットワークアドレスが192.168.0.0/24と指定されているため、10.0.10.1 LANにコンピュータを置くことは意味がありません。

onlinkしかし、次のような結果が出ます。次のようにコマンドに追加すると、

ip route add default dev eth0 via 10.0.10.1 onlink

これでパスが承認されます。

onlinkしかし、もう別の問題が発生しました。パケットがこのゲートウェイにルーティングされる必要がある場合、カーネルは何をしますか?

(実験的に)確認した結果は次のとおりです。カーネルは、ユーザーが設定したゲートウェイeth0「10.0.10.1を持つ人」を要求するLANからarp要求を送信します。onlink応答を受け取ると、カーネルはMACアドレスパケットを送信してルーティングを実行できます。

つまり、ゲートウェイアドレスがシステムのLAN構成と一致しない場合()ステートメントにeth0追加して、カーネルにこのゲートウェイを使用するように強制することができます。onlink

この機能を使用する必要がある場合はほとんどないようです。オンラインリンクオプションが必要な状況は、ほとんどがネットワーク設計が悪いためです。一般的なトンネル設定にも必要ないと思いますonlink

回答ソース:ここ

関連情報