私のオペレーティングシステムはLinux + QTを使用しています。
これが私が直面した問題です。
私のLAN IPアドレスはで、172.16.120.17
Wi-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から来る可能性が高く、これは混乱を招く可能性があります。