Linux ルーターの 1 つのインターフェースをルーターの別のインターフェースに ping

Linux ルーターの 1 つのインターフェースをルーターの別のインターフェースに ping

ネットワークネームスペースとvethペアで構成される次のトポロジがあります。

------                           ------                            ------
| a1 |                           | r1 |                            | r2 |
|    | a1-eth0-----------r1-eth0 |    |r1-eth1--------------r2-eth1|    |
-----(11.0.0.1/30)   (11.0.0.2/30)----(11.0.0.9/30)   (11.0.0.10/30)----- 

のためr1net.ipv4.ip_forward is 1

次のコマンドを使用して正常にpingできますr2a1

ping -I a1-eth0 -c1 11.0.0.10

インターフェイスとコマンドを使用してr2正常にpingすることもできます。r1r1-eth1

ping -I r1-eth1 -c1 11.0.0.10

では、なぜインターフェースを使用してpingを実行できないのですかr2?わかりました。r1r1-eth0宛先ホストに接続できません。:

ping -I r1-eth0 -c1 11.0.0.10
PING 11.0.0.10 (11.0.0.10) from 11.0.0.2 r1-eth0: 56(84) bytes of data.
From 11.0.0.2 icmp_seq=1 Destination Host Unreachable

--- 11.0.0.10 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

同様に、ルーターr1の1つのインターフェースは、そのルーターの他のインターフェースを介してpingできません。

# here I get Destination Host Unreachable again:
ping -I r1-eth0 -c1 11.0.0.9

# here I get Redirect Host(New nexthop: 11.0.0.9):
ping -I r1-eth1 -c1 11.0.0.2

これは r1 のデフォルトのルーティングテーブルです。

ip route
default via 11.0.0.10 dev r1-eth1 
11.0.0.0/30 dev r1-eth0  proto kernel  scope link  src 11.0.0.2 
11.0.0.8/30 dev r1-eth1  proto kernel  scope link  src 11.0.0.9

r1だから私はビューにはルータのインターフェイスが互いに通信できないという問題があるようです。ただし、r1トラフィックは通常との間で転送されます。a1r2

興味を持ってくれてありがとう!

修正する:

問題を解決するには、上記の問題を解決する必要があります。tcpdump 履歴に Tc qdisc 遅延が表示されない。この問題の解決策を見つけ、リンクと一緒に投稿しました。したがって、この問題は不要になったため閉じます。読んで参加してくださった皆さんに感謝します!

ベストアンサー1

間違ったインターフェイス、つまり接続しようとしているネットワークに接続されていないインターフェイスを使用してパケットを送信するのはなぜですか?それは間違ったプラットフォームで地下鉄に乗るのと同じです。インターフェイス間通信はなく、ホスト間通信があります。ホストはネットワークを介して他のホストと通信します。インターフェイスの選択は、ルーティングテーブルエントリに基づいて行われます。私が知っている限り、-Iこれらのオプションを完全に削除すると、pingコマンドが機能します。

おすすめ記事