私のLinuxシステムの出力には /sbin/route -n
言及されていません。127.xxxアドレス範囲はまったく言及されていませんルオ相互作用。それにもかかわらずping localhost
、そしてssh localhost
うまく動作します。
コンピュータはどのように到達するかを知ることができますか?127.0.0.1ルーティングテーブルにない場合はどうなりますか?
答え1
(からコピーhttps://serverfault.com/a/683542/68920)
このroute
コマンドは使用されなくなり、使用しないでください。
新しいアプローチは、ip
オブジェクトに沿って呼び出される iproute コマンドのセットを使用することです。たとえば、
$ ip route show
default via 192.168.1.254 dev eth0
192.168.0.0/23 dev eth0 proto kernel scope link src 192.168.1.27
今、これは基本的に同じメッセージであると言うのを聞きました。はい、しかしそれはすべてではありません。ルーティングテーブル(たとえば、複数形)の前にはルールテーブルがあります。
$ ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
前述のルーティングテーブルはmain
ルーティングテーブルです。あなたの質問は、local
ローカル接続に関連するすべてのルートを含むルーティングテーブルに関連しています。テーブルは次のとおりです。
$ ip ro sh table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.0.0 dev eth0 proto kernel scope link src 192.168.1.27
local 192.168.1.27 dev eth0 proto kernel scope host src 192.168.1.27
broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.27
ip
(オプション/引数はまだ一意であり、したがって同じ場合はip ro sh
省略できますip route show
。)
ここでループバックパスを見ることができます。
あなたはそれであらゆる種類の素晴らしい仕事をすることができますポリシーベースのルーティング、お読みくださいLinuxポリシールーティング著者:Matthew G. Marshは必要なすべての情報を提供します。