Raspberry Pi kann keine Router- oder Internetadressen über die WLAN-Brücke anpingen

9

Ich habe kürzlich einen WNR2000v3-Router mit DD-WRT als eine Art Repeater-Bridge mit der "Atheros" -Version von eingerichtet dieses Tutorial (wir nennen dies "Router 2"), der einen Medialink Wireless-N-Router wiederholt (wir nennen dies "Router 1"). Dies funktioniert perfekt für mein Android-Telefon und Windows-Computer, sowohl über WLAN als auch bei direkter Verbindung über Ethernet. Wenn ich jedoch meinen Raspberry Pi einstecke, entweder mit Raspbian (wheezy) oder Raspbmc, kann ich keine Verbindung außerhalb des lokalen Netzwerks herstellen.

Das Himbeer-Pi kann jedes andere Gerät im lokalen Subnetz anpingen (und von ihm anpingen lassen), einschließlich "Router 2", mit dem es direkt verbunden ist, und es kann DHCP vom Router 1 beziehen, aber wenn ich und versuche Ping-Router 1: "Ziel-Host nicht erreichbar". Wenn ich versuche, einen Ping-Befehl im Internet (z. B. google.com, superuser.com) auszuführen, wird "Ziel-Host nicht erreichbar" angezeigt.

Hier ist ein weiterer Computer im Netzwerk:

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

Hier ist Router 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 ist die Adresse des 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)

Hier ist die Routing-Tabelle:

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

Und hier ist die DHCP-Anfrage:

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.

Alles andere funktioniert gut, aber ich habe versucht, diese Himbeer-Pi mit zwei verschiedenen Bildern (Raspbmc und Raspbian) und zwei verschiedenen Himbeer-Pis und keine Konfiguration funktioniert. Das Raspbian-Image wurde als funktionierend getestet, wenn es direkt mit Router 1 verbunden ist. Dieses Problem scheint sehr ähnlich zu sein diese unbeantwortete Frage vor zwei Jahren, mit der Ausnahme, dass er in diesem Fall anscheinend WLAN für das Gerät verwendet hat, bei dem keine Verbindung hergestellt werden konnte, und tatsächlich eine zeitweise Verbindung hergestellt wurde. Auch die dortige Ping-Antwort kam vom Router, nicht vom Gerät. Was könnte dieses Problem verursachen?

Bearbeiten: Ich sollte auch beachten, dass die zwei verschiedenen Himbeer-Pis unterschiedliche IP-Adressen hatten, von denen eine IP-MAC-gebunden war, und es keine IP-Kollisionen gab, die ich in der DHCP-Tabelle sah, aber auf jedem das gleiche Problem.

Aktualisieren : Ich habe ein potenziell interessantes Problem festgestellt: Wenn das Klonen von MAC-Adressen deaktiviert ist, funktioniert die Repeater-Bridge nicht mehr. Das einzige, was den Himbeer-Pi anpingen kann, ist Router 2, und es besteht keine Konnektivität (oder kein Zugriff auf Router 1) ) von allem, was nur mit Router 2 verbunden ist - einschließlich der Windows-Maschine. Die MAC-Adresse, die geklont wird, ist jedoch die gleiche MAC-Adresse, die ohnehin von den Schnittstellen von Router 2 verwendet wird (gemäß der Seite "Status"). Ich habe Router 1 und Router 2 zweimal aus- und wieder eingeschaltet und es macht keinen Unterschied. Ich verstehe nicht, warum das Klonen von MAC-Adressen hier relevant ist. Wenn das Klonen der MAC-Adresse deaktiviert ist und ich in den Router selbst ssh, kann der Router das Raspberry-Pi anpingen, nicht jedoch Router 1.

Eine weitere Kleinigkeit ist, dass wenn das Klonen von MAC-Adressen aktiviert ist und ich andere Computer im Netzwerk anpingen kann, arping für jedes Gerät, das auf Pings antwortet, dieselbe Mac-Adresse zurückgibt.

Update 2: Bei der Überprüfung der Syslog-Werte stellte ich fest, dass die folgende Fehlermeldung in Bezug auf die MAC-Adresse angezeigt wurde:

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

Anscheinend ist dies ein bekanntes Problem diese Leute lösen mit MAC-Adresse Klonen. Ich bin nicht genau sicher, warum die zufälligen MAC-Adressen ein Problem sind und welche anderen Konsequenzen das Klonen von MAC-Adressen hat.

Paul
quelle
Wenn Sie einen WLAN-Client für Router 2 haben, können Sie von der Himbeere zum WLAN-Client pingen?
MariusMatutiae
Ja. Sie können die Himbeere von einem drahtlosen Client auf Router 1 oder Router 2 aus anpingen.
Paul
Haben Sie auf Router 1 DHCP oder DNSMASQ aktiviert?
MariusMatutiae
DHCP ja, ich weiß nicht über DNSMASQ. Es gibt keine Einstellung dafür in der Web-Benutzeroberfläche auf Router 1.
Paul
Aus diesem Grund ist NAT zum Kotzen. Sie sollten stattdessen WDS verwenden. (Offenbar hat jedes Gerät die gleiche MAC-Adresse, da NAT verwendet wird, um den Zugriffspunkt davon zu überzeugen, dass er mit seinem Client spricht.)
David Schwartz

Antworten:

1

+1 für die detaillierte Problembeschreibung.

Wie ich auf dem Thread vorgeschlagen habe, in dem Sie geöffnet haben Himbeer-pi können Sie überprüfen, ob Ihr Hauptrouter in der RPi-Arptabelle aufgeführt ist: arp -n oder wenn du den iproute2 installiert hast: ip neigh.

Bei Bedarf können Sie den Router mit dem folgenden Befehl im Arp-Cache hinzufügen: arp -s <ROUTER_IP> <ROUTER_MAC> und sehen, ob Sie immer noch das Problem haben

Sie können auch überprüfen, ob Ihr RPi die ARP-Anforderung wie erwartet sendet, indem Sie alle ARP-Pakete abhören. Führen Sie auf Ihrem RPi Folgendes aus: tcpdump arp

Sie können denselben Befehl auch auf dem DD-WRT-Repeater und auf jedem anderen Host ausführen, der an Router 1 angeschlossen ist. Wenn die ARP-Anforderungen rundgesendet werden, sollten Sie sie in Ihrem LAN sehen.

ripat
quelle
1

Ich hatte das gleiche Problem beim Installieren eines neuen Wifi-Repeaters. Die kompromittierte Lösung ist die statische IP für Raspberry Pi eingestellt.

Lam Do
quelle
0

Dies ist schwierig zu diagnostizieren, da Ihr System natürlich korrekt konfiguriert zu sein scheint. Anstatt eine lange Liste von Überprüfungsoptionen durchzugehen, gebe ich Ihnen einige Ideen für zu testende Dinge.

Eine Sache, die ich versuchen würde, ist, das Standardgateway zum Fräser 2, anstatt zum Fräser 1 zu ändern.

Eine andere Sache ist, Ping zu zwingen, sich an die Schnittstelle eth0 zu binden:

 ping -I 192.168.0.107 192.168.0.1
 ping -I eth0          192.168.0.1

Diese beiden Befehle unterscheiden sich geringfügig. Beide sollten ausprobiert werden. Hoffentlich geben sie unterschiedliche Ausgaben aus, was ein Hinweis auf einen Fehler wäre.

Dann würde ich / etc / network / interfaces überprüfen: Enthält es ein paar Zeilen wie

  auto eth0
  iface eth0 inet dhcp

Dann würde ich versuchen, das Interface neu zu starten:

  ifdown eth0
  ifup eth0

und dann wieder dhclient.

Wenn alles gesagt und getan ist, sollte man daran denken Es muss kein Softwareproblem sein. Wenn du nach ... gehst diese Webseite Sie können die folgende Erfahrung lesen:

Ich hatte einen weiteren Himbeer-Pi bestellt und die SD-Karte nur neu abgebildet, in dieser gebootet, und das Internet funktionierte einwandfrei. Ich nahm die SD-Karte heraus und steckte sie in die alte Himbeer-Pi und schloss die gleichen exakten Kabel und Ethernet-Kabel an, aber es funktionierte immer noch nicht ...

Beachten Sie außerdem, dass möglicherweise ein Problem mit dem Kabel vorliegt. Kabel funktionieren nicht / Objekte funktionieren nicht. Ein Problem in RX oder TX kann dazu führen, dass viele Frames verworfen werden, die Signalqualität marginal ist und so weiter. In diesem Fall verhalten sich Protokolle wie TCP besser als ICMP oder UDP, da sie Pakete, die nicht vom Ziel empfangen wurden, erneut übertragen und Ihnen den falschen Eindruck einer ordnungsgemäß funktionierenden Verbindung vermitteln. Dieser falsche Eindruck bleibt natürlich bestehen, bis Sie die Verbindungsgeschwindigkeit messen.

MariusMatutiae
quelle
Es gibt keinen Unterschied zwischen der Antwort auf die beiden Ping-Befehle. Das gleiche, was ich oben eingefügt habe. Die Datei / etc / network / interfaces ist im Fall raspbmc leer, im Fall raspbian "auto lo" "iface lo inet loopback" "iface eth0 inet dhcp". Ein Neustart der Schnittstelle führt in beiden Fällen zu nichts. Es ist definitiv kein Problem mit dem Himbeer-Pi, weil ich zwei verschiedene Himbeer-Pi habe, von denen keines funktioniert, wenn sie in Router 2 eingesteckt sind, aber beide funktionieren, wenn sie direkt in Router 1 eingesteckt sind.
Paul
-1

Ähnliches Problem hatte ich vor einiger Zeit. Meine Lösung war die Bearbeitung /etc/resolv.conf Datei durch Hinzufügen nameserver 8.8.4.4und durch Neustarten der Schnittstellen mit /etc/init.d/networking restart. Für mich geht das.

Mubin
quelle
OP erwähnt Destination Host Unreachable als Fehler, was darauf hindeutet, dass DNS gut funktioniert. Ein DNS-Fehler hätte so etwas ergeben cannot resolve oder Unknown host.
jornane