ping6: connect: Network is unreachable
JanKarcher
Smart-Analyzer
Smart-Analyzer

Hallo zusammen,

ich habe gerade etwas Probleme mit meinem IPv6 setup.

Erstmal zu den Basics. Ich habe bei mir zwei PIs im Netz die beide IPv6 Adressen haben und von extern erreichbar sein sollen.

Das ging auch schon ohne Probleme. Durch Wartung und Updates habe ich die zwei rebootet und seit dem bestehen Probleme. Da die Symptome für beide identisch sind werde ich nur einen als Beispiel aufführen in der Hoffnung, dass mir jemand sagen kann wo ich falsch abgebogen bin:

 

Router-Daten: 

Typ: FRITZ!Box 6490 Cable

Connection: FRITZ!Box verwendet einen DS-Lite-Tunnel

Internet, IPv6 : 

IPv6-Adresse: 2a02:8070:a100::abf/64, Gültigkeit: 70905/27705s
IPv6-Präfix: 2a02:8070:a180:ffe0::/59, Gültigkeit: 70905/27705s
Entsprechend sieht man, dass ich eine valide IPv6-Adresse auf Router-Ebene habe.
 
Raspi-Daten:

 

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether {{ MAC-Addresse }} brd ff:ff:ff:ff:ff:ff
inet 192.168.178.38/24 brd 192.168.178.255 scope global dynamic noprefixroute wlan0
valid_lft 692570sec preferred_lft 584570sec
inet6 fd00::24a6:fe07:391f:c82f/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 6757sec preferred_lft 3157sec
inet6 2a02:8070:a180:ffe0:cc11:d537:57f0:4bfb/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 6757sec preferred_lft 3157sec
inet6 fe80::a9a0:542d:bebb:f5bf/64 scope link
valid_lft forever preferred_lft forever

 

Auch hier sieht man, dass der PI eine IPv6 hat. In dem Fall ist die 2a02:8070:a180:ffe0:cc11:d537:57f0:4bfb die globale IP die ich gerne freigeben möchte.

 

Konfiguration in der FritzBox:

JanKarcher_2-1703943519586.png

Hier ist die Freigabe für PING6 und die Freigabe der IPv6-Präfixe erteilt. Zusätzlich die zwei Ports die ich im Moment erreichen möchte.

Des weiteren sind die generellen IPv6 Einstellungen der Box die Folgenden:

JanKarcher_1-1703943375027.png

Wenn ich versuche die IPv6 zu pingen bekomme ich folgende Meldung:

 

~$ ping6 2a02:8070:a180:ffe0:cc11:d537:57f0:4bfb
ping6: connect: Network is unreachable

 

 bzw selbst wenn ich im Netz versuche die Link-Adresse zu pingen habe ich 100% package loss:

 

~$ ping6 -v fe80::a9a0:542d:bebb:f5bf
PING fe80::a9a0:542d:bebb:f5bf(fe80::a9a0:542d:bebb:f5bf) 56 data bytes
^C
--- fe80::a9a0:542d:bebb:f5bf ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2079ms

 

Das gleiche passiert auch wenn ich versuche die Adresse aus einem Anderen Netz zu erreichen.

So verzweifelt wie ich nun bin habe ich mir dann mal angeschaut was denn so im Layer passiert und mir einen Trace gezogen (über fritz.box/#cap ausgewertet in Wireshark). Ich will jetzt nicht den ganzen Trace hier veröffentlichen, was mir sofort ins Auge fällt ist, dass auf den SYN direkt ein RST, ACK folgt. 

JanKarcher_3-1703944127766.png

 

Ich glaube das sollten die wichtigesten Randdaten von dem Set-up sein. Bin für Pointer offen.

Vielen Dank schonmal.

 

15 Antworten 15
JanKarcher
Smart-Analyzer
Smart-Analyzer

Ja, WSL steht erstmal hinten an.

 

Ich habe einen nginx am laufen der Port 80 served. Aus Verzweiflung habe ich jetzt einen ganz normalen Apache am laufen:

sudo docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED         STATUS         PORTS                NAMES
45fb7ec1538b   apache_docker:latest   "/usr/sbin/httpd -D …"   5 seconds ago   Up 4 seconds   0.0.0.0:80->80/tcp   http_web

Den 80er Port forwarded auf meinen localhost:8080:

JanKarcher_0-1703956471121.png

NOTE: Das ist nicht nginx sondern ich habe einfach nur die nginx html in den Apache Container gepackt. 

 

 

thomasschaefer
Royal-Techie
Royal-Techie

Du hast das nicht allen Ernstes in docker laufen?

Deshalb nochmals die Frage, was siehst du auf os Ebene mit ss -tulpen |grep 80 ?

 

Naja mein Nginx läuft normalerweise auf dem Blech. Wollte jetzt nicht den Apache direkt laufen lassen also: Docker.

ss -tulpen |grep 80
udp   UNCONN 0      0                  *:39280            *:*
tcp   LISTEN 0      4096         0.0.0.0:80         0.0.0.0:*    ino:40321 sk:1 cgroup:/system.slice/docker.service <->

Wenn ich von dem zweiten PI den Portscan laufen lasse sagt der mir auch, dass 80 closed ist...

~ $ nmap -6 2a02:8070:a180:ffe0:da3a:ddff:fe12:c507
Starting Nmap 7.80 ( https://nmap.org ) at 2023-12-30 17:30 GMT
Nmap scan report for raspi-dev.fritz.box (2a02:8070:a180:ffe0:da3a:ddff:fe12:c507)
Host is up (0.0074s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   closed http
443/tcp  closed https
8080/tcp closed http-proxy
0.0.0.0:80

heißt, dein docker bedient nur IPv4. Deshalb klappen IPv6 Verbindungen nicht.

Sorry für die kaputte Reihenfolge der Antworten. Ich musste zwischendurch aufs Handy wechseln - da ist das Forum grausam zu bedienen. Aus meiner Sicht läuft dein Webdienst IPv4 only und ist deshalb nicht erreichbar.  Mein Support pausiert für die nächsten Stunden. Viel Erfolg!

Thomas,

vielen Dank für deine Hilfe und die investierte Zeit deinerseits!

Du hast Recht mit dem Fakt, dass nur IPv4 bedient wird. Normalerweise bedient ja mein Nginx die IPv6 Addressen und forwarded die dann auf die lokalen IPv4s. My bad!

Ich kann nun über IPv6 und Port 80 die Website aufrufen. Das heißt jetzt muss ich noch meine Nginx config aktualisieren, dass meine Domains wieder richtig bedient werden.

~ $ nmap -6 2a02:8070:a180:ffe0:da3a:ddff:fe12:c507
Starting Nmap 7.80 ( https://nmap.org ) at 2023-12-30 18:06 GMT
Nmap scan report for raspi-dev.fritz.box (2a02:8070:a180:ffe0:da3a:ddff:fe12:c507)
Host is up (0.0054s latency).
Not shown: 996 filtered ports
PORT     STATE  SERVICE
22/tcp   open   ssh
80/tcp   open   http