同じネットワークセグメントでWi-FiとLANを同時に動作させるには?

同じネットワークセグメントでWi-FiとLANを同時に動作させるには?

私のオペレーティングシステムはLinux + QTを使用しています。

これが私が直面した問題です。

私のLAN IPアドレスはで、172.16.120.17Wi-Fi IPアドレスはです172.16.120.20

だから私は彼らが同じネットワークセグメントにあると思います。

次に、eth0を使用してそのアドレスをpingします。

そしてそれは完璧に動作します。

しかし、以下のコマンドのようにwlan0を使ってpingすると。

ping -I wlan0 xxx.xxx.xxx.xxx

そのアドレスにpingを送信できません。

いくつかのテストの後、eth0をオフにすると、期待どおりにWi-Fi pingが発生することがわかりました。 (私は以下の命令を使用しています)

ifconfig eth0 down

Wi-FiとLANが異なるネットワークセグメントにある場合は、Wi-FiとLANの両方が期待どおりにpingできます。

なぜこれが起こり、どのように解決するのですか?

それともこれは正常ですか?

まず、ありがとうございます!

答え1

インターフェイスを指定するだけでは十分ではなく、ソースIPも指定する必要があります。 ping のマニュアルページを参照してください。

インターフェイスはアドレスまたはインターフェイス名です。インターフェイスがアドレスの場合は、ソースアドレスを指定されたインターフェイスアドレスに設定します。インターフェイスがインターフェイス名にある場合のソース設定

あなたのpingはeth0のソースIPから来る可能性が高く、これは混乱を招く可能性があります。

関連情報