Inhaltsverzeichnis

Fallstricke

netcat

nc ::1 80

geht nur wenn man netcat6 installiert hat

listening sockets

Ist ein IPv6-Dienst inklusive IPv4?

Klassisches Beispiel: Apache2 ist listening auf ::: :80 und lässt sich sowohl über 127.0.0.1:80 als auch [::1]:80 ansprechen. Andere Dienste z.B. ssh öffenen beide Sockets.

Das bestimmt die Anwendung beim Öffnen des Sockets (IPV6_V6ONLY). Die Default-Einstellung steht unter

sysctl net.ipv6.bindv6only
net.ipv6.bindv6only = 0

Wird beim Einrichten eines Sockets IPV6_V6ONLY nicht gesetzt, wird der IPv4-Socket implizit über ::ffff:192.168.x.y geöffnet. Bug: Diese implizieten IPv4-Sockets werden aber in lsof und netstat nur als v6-Sockets angezeigt. Es ist also mit diesen Tools nicht feststellbar, ob ein Dienst IPv6 exclusiv läuft oder nicht.

Handhabung IPv6 Adressen im Skript

IPv6 Adressen in komprimierter Form nicht als Text vergleichen.

Bsp.: dreimal die selbe Adresse

* aaaa:0:0:bbbb:cccc:0:0:dddd

* aaaa::bbbb:cccc:0:0:dddd

* aaaa:0:0:bbbb:cccc::dddd