Forum: PC Hard- und Software DHCP geht, Ping nicht. Wtf?


von Frank K. (fchk)


Lesenswert?

Hallo!

Gegen ist:
- ein Olimex A20-SOM204-EVB 
(https://www.olimex.com/Products/SOM204/A20-SOM204-EVB/)
- darauf ein frisch installiertes Debian Image vom hier: 
https://images.olimex.com/release/a20/ (und hier das Base Image)
1
root@a20-olinuxino:~# uname -a
2
Linux a20-olinuxino 5.10.105-olimex #090538 SMP Wed Apr 13 09:06:56 UTC 2022 armv7l GNU/Linux
3
root@a20-olinuxino:~# cat /etc/debian_version
4
11.3

Problem:
1. Ethernet Link ist da.
1
root@a20-olinuxino:~# ethtool eth0
2
Settings for eth0:
3
        Supported ports: [ TP    MII ]
4
        Supported link modes:   10baseT/Half 10baseT/Full
5
                                100baseT/Half 100baseT/Full
6
        Supported pause frame use: Symmetric Receive-only
7
        Supports auto-negotiation: Yes
8
        Supported FEC modes: Not reported
9
        Advertised link modes:  10baseT/Half 10baseT/Full
10
                                100baseT/Half 100baseT/Full
11
        Advertised pause frame use: No
12
        Advertised auto-negotiation: Yes
13
        Advertised FEC modes: Not reported
14
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
15
                                             100baseT/Half 100baseT/Full
16
        Link partner advertised pause frame use: No
17
        Link partner advertised auto-negotiation: Yes
18
        Link partner advertised FEC modes: Not reported
19
        Speed: 100Mb/s
20
        Duplex: Full
21
        Auto-negotiation: on
22
        Port: MII
23
        PHYAD: 1
24
        Transceiver: external
25
        Current message level: 0x00000000 (0)
26
27
        Link detected: yes

2. DHCP funktioniert:
1
root@a20-olinuxino:~# cat /etc/network/interfaces.d/eth0
2
allow-hotplug eth0
3
iface eth0 inet dhcp
4
root@a20-olinuxino:~# ifconfig eth0
5
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
6
        ether 76:77:ca:dd:2f:ad  txqueuelen 1000  (Ethernet)
7
        RX packets 195  bytes 39501 (38.5 KiB)
8
        RX errors 0  dropped 0  overruns 0  frame 0
9
        TX packets 0  bytes 0 (0.0 B)
10
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
11
        device interrupt 37  base 0x6000
12
13
root@a20-olinuxino:~# dhclient eth0
14
root@a20-olinuxino:~# ifconfig eth0
15
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
16
        inet 192.168.235.242  netmask 255.255.255.0  broadcast 192.168.235.255
17
        ether 76:77:ca:dd:2f:ad  txqueuelen 1000  (Ethernet)
18
        RX packets 382  bytes 76806 (75.0 KiB)
19
        RX errors 0  dropped 0  overruns 0  frame 0
20
        TX packets 17  bytes 2759 (2.6 KiB)
21
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
22
        device interrupt 37  base 0x6000
23
24
root@a20-olinuxino:~# netstat -rn
25
Kernel IP routing table
26
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
27
0.0.0.0         192.168.235.2   0.0.0.0         UG        0 0          0 eth0
28
192.168.235.0   0.0.0.0         255.255.255.0   U         0 0          0 eth0

Er bekommt also IP-Adresse und Default Gateway. Im Prinzip muss das 
Netzwerk funktionieren.

3. Tut es aber nicht. Kein Ping, kein nichts.
1
root@a20-olinuxino:~# ping 192.168.235.2
2
PING 192.168.235.2 (192.168.235.2) 56(84) bytes of data.
3
From 192.168.235.242 icmp_seq=1 Destination Host Unreachable
4
From 192.168.235.242 icmp_seq=5 Destination Host Unreachable
5
From 192.168.235.242 icmp_seq=8 Destination Host Unreachable
6
^C
7
--- 192.168.235.2 ping statistics ---
8
12 packets transmitted, 0 received, +3 errors, 100% packet loss, time 11250ms

Das ist eine Fritzbox, das geht von woanders.

Auch Ping von außen auf die Kiste geht nicht.

iptables sind leer.
1
root@a20-olinuxino:~# iptables -L
2
Chain INPUT (policy ACCEPT)
3
target     prot opt source               destination
4
5
Chain FORWARD (policy ACCEPT)
6
target     prot opt source               destination
7
8
Chain OUTPUT (policy ACCEPT)
9
target     prot opt source               destination

WTF. Was kann das sein?

fchk

von Hmmm (Gast)


Lesenswert?

Frank K. schrieb:
> eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
>         ether 76:77:ca:dd:2f:ad  txqueuelen 1000  (Ethernet)

Ist es gewollt, dass das Interface nur eine lokale MAC-Adresse hat? Wenn 
ja, ist die in Deinem Netz eindeutig?

Frank K. schrieb:
>         RX packets 382  bytes 76806 (75.0 KiB)
>         TX packets 17  bytes 2759 (2.6 KiB)

Auf jeden Fall gingen schonmal Pakete rein und raus.

Frank K. schrieb:
> PING 192.168.235.2 (192.168.235.2) 56(84) bytes of data.
> From 192.168.235.242 icmp_seq=1 Destination Host Unreachable

Klingt danach, dass der ARP-Request schiefgeht. Wie sieht die ARP-Table 
aus, und was siehst Du mit tcpdump?

von Frank K. (fchk)


Lesenswert?

Hmmm schrieb:
> Frank K. schrieb:
>> eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
>>         ether 76:77:ca:dd:2f:ad  txqueuelen 1000  (Ethernet)
>
> Ist es gewollt, dass das Interface nur eine lokale MAC-Adresse hat? Wenn
> ja, ist die in Deinem Netz eindeutig?

Keine Ahnung, wo die herkommt. Im Uboot steht eine andere. Die hab ich 
auch mal übernommen (mit hwaddress ether ....), hat aber nichts 
geändert.

> Klingt danach, dass der ARP-Request schiefgeht. Wie sieht die ARP-Table
> aus, und was siehst Du mit tcpdump?

root@a20-olinuxino:/etc# arp -an
? (192.168.235.2) at <incomplete> on eth0
? (192.168.235.1) at <incomplete> on eth0

tcpdump ist auf dem System nicht vorhanden, und ohne Netz tu ich mich 
auch etwas schwer, da was nachzuinstallieren.

fchk

von Thomas W. (Gast)


Lesenswert?

ein
1
  arp -s fritte 11:22:33:44:55:66
koennte Dir helfen. Das schreibt Dir einen Host in die Arp-Tabelle. Die 
MAC-Adresse der Fritzbox natuerlich einsetzen.

Gruesse

Th.

von c-hater (Gast)


Lesenswert?

Frank K. schrieb:

> root@a20-olinuxino:/etc# arp -an
> ? (192.168.235.2) at <incomplete> on eth0
> ? (192.168.235.1) at <incomplete> on eth0

Ja, es klemmt also ganz klar an arp. Allerdings: so ein Fehlerbild habe 
ich noch niemals gesehen. Das wird vermutlich schwierig.

> tcpdump ist auf dem System nicht vorhanden, und ohne Netz tu ich mich
> auch etwas schwer, da was nachzuinstallieren.

Dann hast du noch zwei Chancen (die allerdings beide einen weiteren 
Rechner benötigen):

1) Monitorport am Switch einrichten und Rechner als Sniffer für den 
ausgeleiteten Traffic.
2) Rechner mit zwei NICs als Bridge zwischen diesem Olimex-Teil und dem 
Switch als Sniffer.


BTW: Vor allem anderen würde ich erstmal ein anderes Patchkabel 
probieren. Nicht dass ein beschädigtes Kabel die Ursache des Spuks ist.

von oszi40 (Gast)


Lesenswert?

Wenn es kein krankes Patchkabel war, würde ich auch mal ICMP prüfen ob 
ein. https://de.wikipedia.org/wiki/Internet_Control_Message_Protocol

von c-hater (Gast)


Lesenswert?

oszi40 schrieb:

> würde ich auch mal ICMP prüfen ob
> ein.

ICMP prüfen ergibt keinen Sinn, wenn schon ARP nachweislich nicht geht. 
ICMP ist schließlich zwingend auf ARP angewiesen, um funktionieren zu 
können.

von oszi40 (Gast)


Lesenswert?

Sorry, so genau habe ich nicht gelesen. Dafür bin ich schon öfter von 
abgestelltem ICMP überlistet worden. ping 127.0.0.1 wäre auch 
interessant.

von Frank K. (fchk)


Lesenswert?

Das Kabel ist nachweislich in Ordnung. Ich hatte noch einen 100M 
USB-Ethernet-Adapter, und damit konnte ich erstmal Pakete 
nachinstallieren. Das scheint mir irgendeine Treibersache zu sein. Keine 
Ahnung. Ich muss mal Olimex fragen.

fchk

von Hmmm (Gast)


Lesenswert?

Frank K. schrieb:
> tcpdump ist auf dem System nicht vorhanden, und ohne Netz tu ich mich
> auch etwas schwer, da was nachzuinstallieren.

Dann lass tcpdump auf dem angepingten System laufen.

Der ARP-Request geht sowieso als Broadcast raus, wäre also für jedes 
System im gleichen Netz sichtbar, und wenn tcpdump auf dem angepingten 
System läuft, siehst Du auch noch den Rest.

c-hater schrieb:
> BTW: Vor allem anderen würde ich erstmal ein anderes Patchkabel
> probieren. Nicht dass ein beschädigtes Kabel die Ursache des Spuks ist.

Wäre einen Versuch wert. Passt zwar nur teilweise zu den Symptomen, weil 
DHCP funktioniert, aber sporadische Ausfälle und Murphy's Law machen es 
durchaus denkbar.

von c-hater (Gast)


Lesenswert?

Frank K. schrieb:

> Das Kabel ist nachweislich in Ordnung.

Gut, wenn man das erstmal sicher weiß ;o)

> Das scheint mir irgendeine Treibersache zu sein.

Nun ja, der Netzwerk-Stack funktioniert ja nachweislich in vielen 
Millionen Geräten. Da bleiben dann eigentlich nur die Treiber oder 
defekte Hardware.

von foobar (Gast)


Lesenswert?

Oder die 192.168.235.2 ist (warum auch immer) verkehrt.  Ist das 
tatsächlich die IP des Ethernetports der Fritzbox?  Mal nen Ping auf die 
Broadcastadresse gemacht (ping -b 192.168.235.255)?

Beitrag #7051011 wurde vom Autor gelöscht.
von Manfred (Gast)


Lesenswert?

Du kannst Dich mal bei mir ans Gastenetz klemmen: Du bekommst per DHCP 
eine IP samt Gateway zugewiesen und kannst gerne auf p0rnoslon.ru nackte 
xxx angucken, aber bekommst auf Ping weder vom Router noch von anderen 
lokalen Maschinen eine Antwort.

Im vertrauenswürdig lokalen Netz sind die natürlich erlaubt.

Guckst Du mal ptbtime3.ptb.de, der liefert zuverlässig die Uhrzeit, aber 
Ping versickert im Timeout.

Es kann also gewollt sein, Ping nicht zu beantworten, ohne dass ein 
Fehler vorliegt.

Wenn das nicht vorsätzlich so eingerichtet ist, kommt immer noch eine 
fehlende Route in Frage, das Ziel kennt den Rückweg nicht.

von (prx) A. K. (prx)


Lesenswert?

Manfred schrieb:
> aber bekommst auf Ping weder vom Router noch von anderen
> lokalen Maschinen eine Antwort.

Es ist eine Sache, auf Ping keine Antwort zu erhalten (timeout). Eine 
andere aber, den Frame überhaupt nicht in Netz zu kriegen (unreachable).

von Manfred (Gast)


Lesenswert?

(prx) A. K. schrieb:
> Es ist eine Sache, auf Ping keine Antwort zu erhalten (timeout). Eine
> andere aber, den Frame überhaupt nicht in Netz zu kriegen (unreachable).

"unreachable" würde ich interpretieren, dass das Ziel in einem anderen 
Netz liegt und das Gateway fehlt.

von Markus M. (adrock)


Lesenswert?

Manfred schrieb:
> (prx) A. K. schrieb:
>> Es ist eine Sache, auf Ping keine Antwort zu erhalten (timeout). Eine
>> andere aber, den Frame überhaupt nicht in Netz zu kriegen (unreachable).
>
> "unreachable" würde ich interpretieren, dass das Ziel in einem anderen
> Netz liegt und das Gateway fehlt.

Ja, oder eben im gleichen Subnetz und arp funktioniert nicht. Genau das 
ist hier der Fall (siehe oben, arp incomplete). Das hat nichts mit 
geblocktem ICMP echo-request o.ä. zu tun.

von (prx) A. K. (prx)


Lesenswert?

Manfred schrieb:
> "unreachable" würde ich interpretieren, dass das Ziel in einem anderen
> Netz liegt und das Gateway fehlt.

Dann gibts nicht "destination host unreachable" wie hier, sondern 
"network is unreachable".

Probier es aus: Pinge ein existierendes Gerät an, und während das läuft, 
schalte es aus oder zieh es aus dem Netz. Das läuft auf 2 Varianten 
raus, gleich oder mit der Zeit:

ARP Eintrag existiert => timeout
ARP Eintrag incomplete => host unreachable

Deshalb haben hier schon einige Leute zurecht auf ARP Problem erkannt.

: Bearbeitet durch User
von foobar (Gast)


Lesenswert?

> Ja, oder eben im gleichen Subnetz und arp funktioniert nicht.

Oder halt eben auch, wenn es den Rechner/die IP einfach nicht gibt.

Genau die gleiche Meldung, die gleichen ARP-Einträge gibt es, wenn er 
z.B. den (nicht existierenden) 192.168.235.66 anpingen würde.

Deshalb die Frage: ist 192.168.235.2 die korrekte Adresse des 
Ethernetports der Fritzbox?  Kannst du die von einer anderen Kiste aus 
mit der Adresse anpingen?

von (prx) A. K. (prx)


Lesenswert?

foobar schrieb:
> Deshalb die Frage: ist 192.168.235.2 die korrekte Adresse des
> Ethernetports der Fritzbox?

Er arbeitet mit DHCP und im Startbeitrag steht die daraus abgeleitete 
Default-Route auf .2. Um das falsch zu machen muss man schon mit Absicht 
Mist bauen.

von (prx) A. K. (prx)


Lesenswert?

Hmmm schrieb:
> Ist es gewollt, dass das Interface nur eine lokale MAC-Adresse hat? Wenn
> ja, ist die in Deinem Netz eindeutig?

Yep, hier wird es interessant. Lokale Adresse heisst, die ist selbst 
vergeben, nicht offiziell definiert. Bei Bastelkram mit µC ist das nicht 
ungewöhnlich. Aber wehe man verwendet die gleiche mehrfach.

von (prx) A. K. (prx)


Lesenswert?

c-hater schrieb:
> Monitorport am Switch einrichten

Wird bei den Fritzbox-Ports schwierig. Und wer hat privat schon Switches 
mit Mirrorport? Vielleicht hat man aber im Karton mit Hardware-Schrott 
noch einen 10- oder 100-Mbit Hub liegen.

: Bearbeitet durch User
von DPA (Gast)


Lesenswert?

Versuche mal sämtliches checksum offloading auszuschalten: "ethtool -K 
eth0 tx off rx off"

https://linux.die.net/man/8/ethtool

Vielleicht ist das in der Karte ja kaputt.

von c-hater (Gast)


Lesenswert?

foobar schrieb:

> Oder halt eben auch, wenn es den Rechner/die IP einfach nicht gibt.

Das stimmt, das Ergebnis bei arp -a sieht dann genauso aus.

> Deshalb die Frage: ist 192.168.235.2 die korrekte Adresse des
> Ethernetports der Fritzbox?  Kannst du die von einer anderen Kiste aus
> mit der Adresse anpingen?

Das sollte man auf jeden Fall probieren/überprüfen. Es gibt nämlich ein 
Szenario, bei dem das Gezeigte passieren könnte ganz ohne Hardware- oder 
Treiberprobleme. Das wäre ein "parasitärer" DHCP-Server im Netz, 
zusätzlich zu dem der Fritzbox, z.B. einer, der auf der Olimex-Kiste 
selber läuft...

Da der DHCP-Offer ein Broadcast ist, könnte man das auf jedem Rechner im 
Netz problemlos mit tcpdump sehen, also ohne jede Bastelmaßnahme.

von PC-Freak (Gast)


Lesenswert?

Manfred schrieb:
> Es kann also gewollt sein, Ping nicht zu beantworten, ohne dass ein
> Fehler vorliegt.

Das schimpft sich dann 'stealth modus'. Und kann man einstellen im 
Router.

von (prx) A. K. (prx)


Lesenswert?

Ist hier aber nicht anwendbar. Ein (IP-) Router, der auf ARP nicht 
reagiert, der ist derart stealthy, dass er ohne manuellem ARP auch nicht 
routet, sondern nur unnütz Strom verbraucht.

Ein Gerät, das auf ARP reagiert, aber nicht auf PING, ergibt kein "host 
not reachable", sondern timeouts.

NB: Mindestens in Linux gibts auch ein "arping", eine Version von 
"ping", die nicht nur über ICMP, sondern auch über ARP arbeiten kann.

: Bearbeitet durch User
von Michael W. (dbru61)


Lesenswert?

Auf der Fritzbox kann man unter der Adresse 
ip-Adresse-der-Fritzbox/html/capture.html Packetmitschnitte machen.
Vielleicht hilfts ja bei der Fehlersuche.

Viel Erfolg

von oszi40 (Gast)


Lesenswert?

Es muß ja nicht immer eine Fritzbox sein.
Er könnte auch über ein Crosskabel zu einem 2.PC mit fester Nachbar-IP 
gehen um herauszubekommen ob das Übel evtl. an der Treiber-SW liegt und 
ob diese Karte grundsätzlich noch gesund ist?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.