答え1
linkdown
テーブル内にあり、状態にあるインターフェースを介して送信されるように設定されているルートに対して表示されるステータスですDOWN
。これを確認するには、次のコマンドを実行します。
ip a
インターフェイスのステータスを確認します。私のラップトップでは Wi-Fi がオンで、イーサネット アダプターが接続されていないため、次のように表示されます。
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
ルーティングは、「たとえどのインターフェース プレフィックスにも一致しない場合でも、ネクストホップがこのリンクに直接接続されていると仮定する」必要があります。したがって、テーブル内にも偽のプレフィックスを作成できます。
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
何らかの理由で、一貫性のない構成を持つ物理 LAN 上のゲートウェイを使用したいとしますeth0
。ゲートウェイのアドレスが 10.0.10.1/24 であると仮定します。これは、自分のマシンに指定した 192.168.0.1/24 構成と一致しません。
あなたが言うなら:
ip route add default dev eth0 via 10.0.10.1
そうすると、エラー応答(ネットワークに到達できないなど)が返されます。
なぜでしょうか? (厳密に言えば) LAN 上にマシン 10.0.10.1 を置くのは意味がありませんeth0
。これは、この LAN のネットワーク アドレスが 192.168.0.0/24 であるとコンピュータに伝えているからです。
onlink
しかし、ここで問題が起こります。コマンドに次のように追加します。
ip route add default dev eth0 via 10.0.10.1 onlink
ルートは受け入れられます。
しかし、ここで別の疑問が生じます。パケットをこのonlink
ゲートウェイにルーティングする必要がある場合、カーネルはどのような処理を実行するのでしょうか。
実験で確認したところ、次のようになりました。カーネルはLAN上でeth0
「who-has 10.0.10.1」という、onlink
設定したゲートウェイを尋ねるARP要求を送信します。応答を受信すると、カーネルはMacアドレスパケットの送信先とルーティングが実行されます。
つまり、ゲートウェイのアドレスがコンピュータの LAN 構成 ( ) と一致しない場合、ステートメントに をeth0
追加することで、カーネルにこのゲートウェイを使用するように強制できます。onlink
この機能を使用しなければならない状況は非常にまれだと思います。onlink オプションが必要な状況は、ほとんどの場合、ネットワーク設計が不十分な場合です。平均的なトンネル設定ではonlink
どちらも必要ないと思います。
回答は次の通りですここ