web-dev-qa-db-ja.com

ラズベリーpiはwifiブリッジ経由でルーターまたはインターネットアドレスにpingできません

私は最近、DD-WRTを実行しているWNR2000v3ルーターを一種のリピーターブリッジとしてセットアップしました このチュートリアル (これを「ルーター2」と呼びます)を使用して、Medialinkを繰り返します。ワイヤレスNルーター(これを「ルーター1」と呼びます)。これは私のAndroid電話とWindowsコンピューターでwifi経由とイーサネット経由で直接接続した場合の両方で完全に機能しますが、Raspbian(wheezy)またはRaspbmcを実行しているときにRaspberry Piを接続すると、ローカルネットワークの外部に接続できません。

Raspberry Piは、ローカルサブネット上の他の任意のデバイスにping(およびping)できます。これには、直接接続されている「ルーター2」が含まれ、ルーター1からDHCPを取得できますが、ルータ1にpingを実行すると、「Destination Host Unreachable」が表示され、google.com、superuser.comなどのインターネット上でpingを実行すると、同様に「Destination Host Unreachable」が表示されます。

これがネットワーク上の別のコンピュータです。

ping 192.168.0.100
PING 192.168.0.100 (192.168.0.100) 56(84) bytes of data.
64 bytes from 192.168.0.100: icmp_req=1 ttl=127 time=38.7 ms
64 bytes from 192.168.0.100: icmp_req=2 ttl=127 time=1.67 ms
64 bytes from 192.168.0.100: icmp_req=3 ttl=127 time=1.73 ms
64 bytes from 192.168.0.100: icmp_req=4 ttl=127 time=3.56 ms
--- 192.168.0.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 1.672/11.418/38.705/15.772 ms

これがルーター1です。

ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
From 192.168.0.107 icmp_seq=1 Destination Host Unreachable
From 192.168.0.107 icmp_seq=2 Destination Host Unreachable
From 192.168.0.107 icmp_seq=3 Destination Host Unreachable
From 192.168.0.107 icmp_seq=4 Destination Host Unreachable
From 192.168.0.107 icmp_seq=5 Destination Host Unreachable
From 192.168.0.107 icmp_seq=6 Destination Host Unreachable
--- 192.168.0.1 ping statistics ---
8 packets transmitted, 0 received, +6 errors, 100% packet loss, time 7007ms
pipe 3

192.168.0.107はRaspberry Piのアドレスです。

ifconfig
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:db:c9
          inet addr:192.168.0.107  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3753 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1262 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:595127 (581.1 KiB)  TX bytes:112407 (109.7 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:285 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:27703 (27.0 KiB)  TX bytes:27703 (27.0 KiB)

ルーティングテーブルは次のとおりです。

Sudo route -n
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 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

DHCPリクエストは次のとおりです。

Sudo dhclient -v eth0
Internet Systems Consortium DHCP Client 4.2.2
Copyright 2004-2011 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/xx:xx:xx:xx:db:c9
Sending on   LPF/eth0/xx:xx:xx:xx:db:c9
Sending on   Socket/fallback
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
RTNETLINK answers: File exists
bound to 192.168.0.107 -- renewal in 274691 seconds.

他はすべて正常に動作しますが、2つの異なるイメージ(Raspbmcおよびraspbian)と2つの異なるラズベリーpisを使用してこのrapsberry piを試しましたが、構成は機能しません。 raspbianイメージは、ルーター1に直接接続したときに動作することがテストされています。この問題は、2年前の この未回答の質問 に非常に似ていますが、その場合、彼はwifiを使用していたようです接続に失敗したデバイスで、実際には断続的に接続されていました。また、デバイスからではなく、ルーターからのping応答がありました。この問題の原因は何ですか?

編集:また、2つの異なるラズベリーpisには異なるIPアドレスがあり、そのうちの1つはIP-MACバインドであり、IPの衝突はなかったことにも注意してください。 DHCPテーブルで見たものですが、それぞれに同じ問題があります。

更新:私は1つの潜在的に興味深いことを決定しました。それは、MACアドレスの複製がオフにされると、リピーターブリッジが機能しなくなることです。 Raspberry Piはルーター2にpingできます。Windowsマシンを含め、ルーター2にのみ接続されているものからは接続(またはルーター1へのアクセス)はありません。ただし、クローンされるMACアドレスは、ルーター2のインターフェイスで実際に使用されるMACアドレスと同じです(「ステータス」ページによると)。ルータ1とルータ2の両方の電源を2回入れ直しましたが、違いはありません。ここでMACアドレスの複製が関連する理由がわかりません。 MACアドレスの複製をオフにして、ルータ自体にSSH接続すると、ルータはRaspberry Piにpingを送信できますが、ルータ1はpingできません。

もう1つの小さなことは、MACアドレスの複製がオンになっていて、ネットワーク上の他のコンピューターに実際にpingを実行できる場合、arpingはpingに応答するすべてのデバイスに対して同じMACアドレスを返します。

Update 2:Syslog値を確認したところ、MACアドレスに関連する次のエラーメッセージがあることがわかりました。

Jan  1 00:00:08 Router 2 kern.err kernel: [    6.770000] ath: eeprom contains invalid mac address: ff:ff:ff:ff:ff:ff
Jan  1 00:00:08 Router 2 kern.err kernel: [    6.780000] ath: random mac address will be used: fa:55:da:33:19:a9

どうやらこれは 既知の問題 であり、人々はMACアドレスの複製を使用して解決しています。ランダムなMACアドレスが問題である理由、およびMACアドレスのクローン作成が他にどのような結果をもたらすのか、正確にはわかりません。

10
Paul

詳細な問題の説明については+1。

Raspberry Pi で開いたスレッドで提案したように、メインルーターがRPiのarpテーブルにリストされているかどうかを確認できます:_arp -n_またはiproute2がインストールされているかどうか:_ip neigh_。

必要に応じて、次のコマンドでarpキャッシュにルーターを追加できます:_arp -s <ROUTER_IP> <ROUTER_MAC>_で、問題が解決するかどうかを確認します

すべてのARPパケットをスニッフィングすることで、RPiが期待どおりにARP要求を送信するかどうかを確認することもできます。 RPiで、次を実行します:_tcpdump arp_

DD-WRTリピーターとルーター1に接続されている他のホストで同じコマンドを実行することもできます。ARP要求がブロードキャストされると、LAN全体に表示されるはずです。

1
ripat

新しいWifiリピーターをインストールするときにも同じ問題が発生しました。妥協されたソリューションは、Raspberry Piの静的IPを設定することです。

1
Lam Do

もちろん、システムが正しく構成されているように見えるため、これは診断が難しいものです。したがって、チェックオプションの長いリストを調べるのではなく、テストするためのアイデアをいくつか紹介します。

私が試みる1つのことは、デフォルトゲートウェイをルーター1ではなくルーター2に変更することです。

もう1つは、pingをインターフェイスeth0にバインドすることです。

 ping -I 192.168.0.107 192.168.0.1
 ping -I eth0          192.168.0.1

これらの2つのコマンドは少し異なります。両方を試してください。うまくいけば、それらは異なる出力を提供し、それは障害の指標となるでしょう。

次に、/ etc/network/interfacesを確認します。次のような行がいくつか含まれていますか

  auto eth0
  iface eth0 inet dhcp

次に、インターフェイスを再起動してみます。

  ifdown eth0
  ifup eth0

そして再びdhclient。

すべてを言い終えたら、ソフトウェアの問題である必要はないことを覚えておく必要があります。 このWebページ にアクセスすると、次の体験を読むことができます。

私は別のRaspberry Piを注文して、sdカードのイメージを再作成し、そのカードで起動したところ、インターネットは正常に機能しました。私はsdカードを取り出し、それを古いRaspberry Piに入れて、まったく同じケーブルとイーサネットコードを接続しましたが、それでも機能しませんでした。

また、ケーブルに問題がある可能性があることにも注意してください。ケーブルが機能していない/機能していないオブジェクト。 RXまたはTXの問題により、多くのフレームがドロップされたり、信号品質が限界に達したりすることがあります。この場合、TCPのようなプロトコルは、ターゲットが受信していないパケットを再送信するため、ICMPやUDPよりも適切に動作し、接続が適切に機能しているという誤った印象を与えます。もちろん、接続速度を測定するまで印象は続きます。

0
MariusMatutiae