Warum erhalte ich einen Paketverlust, wenn ich Himbeer-Pis im Subnetz anpinge?

721
Matt

Ich habe drei Himbeer-Pis in einem Subnetz über einen Hub verbunden. Ich habe ihnen alle statischen IPs gegeben und ich benutze ein Haupt-Pi, um die beiden anderen Pis anzupingen.

Hier ist mein Setup: pic of setup

Sobald der Haupt-Pi ein anderes Pi anpingt, kehrt jeder Ping vollständig zurück. Wenn ich den Ping anfangs starte, kann es jedoch etwa 5 Sekunden dauern, bis die erste Antwort zurückkommt. Dies führt zu einem Paketverlust von über 30% oder mehr. Dies führt dazu, dass beim Ausführen von Skripts häufig Nachrichten nicht gesendet werden, weil Timeouts versuchen, eine Verbindung herzustellen.

Hier ist ein Foto des Paketverlusts, wenn ein Pi und dann das andere ping ist:

enter image description here

Ich bin sehr neu im Networking, also lassen Sie mich wissen, welche Informationen ich zur besseren Diagnose des Problems liefern kann.

Ich habe versucht, die Himbeer-Pis, die Ethernet-Kabel und den Hub zu ersetzen, aber bis jetzt kein Glück. Ich frage mich, ob das Pis Im nicht bekannt ist oder ob es sich um ein fehlerhaftes Hardwareproblem bei meinem Hub-Lieferanten handelt.

EDIT: Ich lief IP neighbor showmit den folgenden Ergebnissen

pi@raspberrypi:~ $ ip neighbor show 192.168.2.1 dev wlan0 lladdr 40:c7:29:4e:4d:f8 STALE 192.168.3.32 dev enxb827eb9c0ecf lladdr 00:e0:4c:53:44:58 STALE 192.168.2.131 dev wlan0 lladdr 02:0f:b5:87:93:39 REACHABLE 192.168.3.37 dev enxb827eb9c0ecf lladdr 00:e0:4c:53:44:58 STALE 

Der Grund, warum zwei unterschiedliche Netzwerke gezeigt werden, ist, dass ich über WLAN im 192.168.2Netzwerk mit dem Internet verbunden bin . Und ich bin über Ethernet mit den anderen 2 Pis verbunden 192.168.3. Beide Pis IPs können als dort gesehen werden .3.37und .3.32sind.

EDIT2: Ich habe es aus dem Spiel bemerkt IP neighbor show, wenn ich ein Pi anpinge und dann laufe IP neighbor show, heißt es REACHABLEneben dem Pi. Wenn ich dann das andere Pi anpinge, wird das erste Pi, das ich anpingte, angezeigt STALEund das neue wird REACHABLEjedes Mal angezeigt, wenn ich das andere Pi anpinge .

2
Warum verwenden Sie einen Hub und keinen Ethernet-Switch? grawity vor 6 Jahren 0
Weil Hubs billiger sind: P. Ich habe heute einen Schalter gekauft, um es auszuprobieren, und hatte genau das gleiche Problem Matt vor 6 Jahren 0
Je nach Symptomen haben Sie tatsächlich einen Switch anstelle eines Hubs, da ein Switch eine Zuordnung der MAC-Adresse zum Port aufrechterhält, ein Hub jedoch den gesamten Verkehr rundsendet. Sie würden nicht den Verlust von MAC-Adresskonflikten erhalten, wenn es sich um einen Hub handelt. Ferrybig vor 6 Jahren 1
@Ferrybig du bist der Mann. Vielen Dank, dass Sie meine Beiträge überprüft haben Matt vor 6 Jahren 0
Ich wusste gar nicht, dass ich beide Posts überprüft habe. Es ist nur so, dass Sie das sagen. Ich sage nur eine Frage mit einem interessanten Titel in dem entsprechenden Abschnitt Ferrybig vor 6 Jahren 1
Beide Kommentare haben mir etwas beigebracht, was ich nicht wusste, also danke ich dir trotzdem Matt vor 6 Jahren 0

2 Antworten auf die Frage

2
Stanley Yu

Das Problem rührt von der Tatsache her, dass beide Himbeer-Pis dieselbe MAC-Adresse haben. Wir können dies an der Ausgabe von ip neighbor showwo beide sehen 3.32und 3.37haben die MAC-Adresse 00:e0:4c:53:44:58. Sie werden nicht nur das erleben, was Sie bereits mit den Pings erlebt haben, sondern auch die gleichzeitige Kommunikation zwischen Ihrem Haupt-Pi und den beiden anderen Pi ist problematisch.

Dies sollte nicht der Fall sein, da MAC-Adressen global eindeutig sein sollen, aber leider sind wir hier. Um dies zu beheben, müssen Sie einen Weg finden, die MAC-Adresse von Hand zu ändern. Dieser Post aus den Pi-Foren scheint eine Möglichkeit zu sein, dies zu tun:

Erstellen Sie im Wesentlichen eine Datei "/etc/systemd/network/00-default.link" mit dem Inhalt:

[Match] MACAddress=current MAC address  [Link] MACAddress=new MAC address 

Dann sudo ifdown und ifup das Interface und es sollte seine neue MAC-Adresse haben, und die Änderung bleibt durch Neustarts erhalten.

MAC-Adressnummern sind 12 Hexadezimalzeichen (0-9, af). Sie werden normalerweise alle zwei Zeichen durch Doppelpunkte oder Bindestriche getrennt. Diese sind jedoch nicht Teil der Adresse. Zum Beispiel:

01:23:45:ab:cd:ef 

Ja, benutze einfach ein paar zufällige Zeichen. Wir brauchen nur etwas Einzigartiges.

Alter, ich versuche das jetzt, aber das macht durchaus Sinn. Vielen Dank so sehr. Ich habe versucht, das seit 36 ​​Stunden zu beheben. Ich kann dir absolut nicht genug danken Matt vor 6 Jahren 0
Ich brauche es, um Neustarts zu überleben, aber ich erinnere mich, dass ich irgendwo gelesen habe, dass `/ etc / nework / interfaces` veraltet ist, und jetzt alle Änderungen durch` / etc / dhcpcd.conf` vorzunehmen, nehme ich an, dass dies in Bezug auf MAC noch gelten sollte Adressänderungen Was ist auch das Format für MAC-Adressnummern? Ich sehe, dass einige Buchstaben enthalten - kann ich nur zufällige Buchstaben / Zahlen im Format xx: xx: xx: xx: xx: xx auswählen? Matt vor 6 Jahren 0
Ich habe die Methode zum Ändern der MAC-Adresse aktualisiert und die Formatierung der MAC-Adresse etwas erweitert. Stanley Yu vor 6 Jahren 1
Diese Methode hat heute zufällig aufgehört, für mich zu arbeiten - ich habe einen neuen Beitrag darüber geschrieben [hier] (https://superuser.com/questions/1366349/why-isnt-my-forced-mac-address-change-working-working- Himbeer-Pi) Matt vor 6 Jahren 0
1
Winnie Tigger

Wenn Sie den ersten Ping starten, geben Sie den folgenden Befehl ein:

ip neighbor show

Dies zeigt den ARP-Cache an und gibt einen Hinweis, ob eine ARP-Auflösung stattgefunden hat oder nicht.

Bearbeiten Sie einfach Ihre Frage, legen Sie die Ausgabe dort ab und fügen Sie auch die IPs der Ziel-RasPIs hinzu.

Ich habe den Befehl ausgeführt und meinen Beitrag aktualisiert Matt vor 6 Jahren 0