web-dev-qa-db-ja.com

Ubuntu 14.04でサブネット要求をwlan0からeth0にルーティングします

Raspberry Piはイーサネット経由でUbuntu 14.04マシン(eth0の192.168.1.0/24)に接続されています。
このマシンは、Fritz Box WLANルーター(wlan0の192.168.0.0/24)を介してインターネットに接続されています。

ネットワークトポロジ図:

enter image description here

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ネットワークからラズベリーにアクセスできないのはなぜですか?

1

すでに問題を解決しましたか??

あなたの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

1
Joao Brito

これにより、ボックスでポート転送が設定されますが、iptablesを使用するだけでよい場合があります。

echo 1 > /proc/sys/net/ipv4/ip_forward

0
argarevarg