Raspberry Piはイーサネット経由でUbuntu 14.04マシン(eth0の192.168.1.0/24)に接続されています。
このマシンは、Fritz Box WLANルーター(wlan0の192.168.0.0/24)を介してインターネットに接続されています。
ネットワークトポロジ図:
Raspberryでインターネットにアクセスするために、UbuntuマシンでIP転送(net.ipv4.ip_forward)を正常に有効化し、raspberryのデフォルトゲートウェイとしてeth0 IP 192.168.1.1を構成しました。 Fritz Boxで、ゲートウェイ192.168.0.2を介して192.168.1.0/24に静的IPルートを追加してサブネットを登録しました( http://en.avm.de/nc/service/fritzbox/fritzbox- 7390/knowledge-base/publication/show/581_Configuring-a-static-IP-route-in-the-FRITZ-Box / )。 Fritz BoxはDHCPサーバーを実行していますが、Ubuntuサーバーに常に同じIPを提供するように構成されています。
Ubuntuマシンとraspberryから、すべて(ping、インターネット、ラップトップ、Fritz Box)にアクセスできます。しかし、ラップトップやWLANの他のデバイスからは、ラズベリーにアクセスできません。
ラズベリーのルーティングテーブル:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Ubuntuマシンのルーティングテーブル:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 wlan0
192.168.0.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
ラップトップ(および他のWLANクライアント)のルーティングテーブル:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 1024 0 0 wlp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 wlp2s0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
tracepath 192.168.1.2
(ラズベリー)はラップトップから返されます:
1?: [LOCALHOST] pmtu 1500
1: 192.168.0.2 5.174ms
1: 192.168.0.2 4.743ms
2: no reply
3: no reply
4: no reply
^C
ping 192.168.1.1
(eth0上のUbuntuサーバー)は正常に動作します。
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=2.72 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=3.72 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=3.54 ms
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 2.724/3.329/3.720/0.439 ms
したがって、実際には正しい方法で実行されますが、Ubuntuマシンにはまります。
私はすでにNATルールを設定しようとしましたが、私の意見では、iptablesはすべてを許可するように設定されているので、ブロックファイアウォールはすでにFritzボックスで実行されています)とIP転送両方のインターフェースでproxy_arpを有効にしようとしても成功しませんでした。
さらに、wlan0とeth0をブリッジするツールparprouted
を見つけましたが、それを実行すると無効なARP応答(ラズベリーIPアドレス用の2つのMACアドレス)が得られました-Wiresharkでトレースされました。
WLANネットワークからラズベリーにアクセスできないのはなぜですか?
すでに問題を解決しましたか??
あなたのubuntuマシンでこのルートを試してください:
192.168.1.0 192.168.1.1 255.255.255.0 U 1 0 0 eth0
の代わりに
192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
そのマシンにルートループがあるかもしれないと思う...;)
ベスト、
JB
これにより、ボックスでポート転送が設定されますが、iptablesを使用するだけでよい場合があります。
echo 1 > /proc/sys/net/ipv4/ip_forward