
2 台のラップトップとルーターを使用。OS は Ubuntu。
最初のラップトップは、ゲートウェイが eth0 192.168.10.1 のイーサネット ケーブル経由でルーターに接続され、IP 10.10.10.5 の wlan でアドホック ワイヤレスに接続されています。
設定済み:
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
2 番目の 10.10.10.4 はアドホック ワイヤレスで 10.10.10.5 に接続されており、ルート -n のゲートウェイも 10.10.10.5 UG です。
sudo ip route add default via 10.10.10.5
マシン 10.10.10.4 から 8.8.8.8 に ping すると、時間がかかり、ping の結果が表示されません。
しかし、最初のラップトップからイーサネットが取り外されると、10.10.10.5 からの「宛先ネットに到達できません」というメッセージが表示されます。
10.10.10.5 からは直接アクセスできます。
答え1
試すことができること:
- tcpdump を使用して、パケットが実際に送受信されているかどうかを確認します。Ubuntu では、tcpdump をインストールして「tcpdump -v icmp」で起動し、ping パケットを確認します。-i オプションでインターフェイスを指定できます。これにより、パケットが eth0 で受信され、wlan0 で送信されているかどうかがわかります。デバイスの種類によっては、10.10.10.5 ホストでもこれを行うことができます。
- 「iptables -t nat -nvL」を試して、パケット カウンターとバイト カウンターを含む iptables ルールを確認し、ルールが実際に適用されているかどうかを確認します。
どちらも、パケットが到着する場所と到着しない場所についてより詳しい情報を提供し、問題の発生場所を絞り込むことができます。