Thread dual stack modell (12 answers)
Opened by enzo at 2011-07-16 16:24

Dubu
 2011-07-18 09:43
#150494 #150494
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ob es mit nur einem Socket funktioniert hängt davon ab, welches OS und welche IP-Stack-Konfiguration genutzt wird. Debian hat vor einiger Zeit (zu Squeeze) auf die Sysctl-Option net.ipv6.bindv6only=1 umgestellt, d.h. IPv6-Sockets lauschen nicht auf IPv4. Es müssen explizit zwei Socket geöffnet werden, wenn man IPv6 und IPv4 haben möchte. Das ist wohl schon länger das Default-Verhalten auf allen Systemen außer Linux und MacOS X. Wenn man andererseits auf einem System ohne bindv6only zwei Sockets öffnet, muss man auf dem IPv6-Socket explizit die Socket-Option IPV6_V6ONLY setzen, sonst gibt es eine Fehlermeldung, weil der v6-Socket direkt auch auf v4-Verbindungen lauschen möchte. Ubuntu hat die Umstellung nicht gemacht, dort gilt immer noch net.ipv6.bindv6only=0.
Korrektes Verhalten wäre also, einen IPv6-Socket mit IPV6_V6ONLY zu öffnen und einen separaten IPv4-Socket.

Die Umstellung in Squeeze führt übrigens dazu, dass ein nicht unübliches Framework auf Rechnern mit valider IPv6-Adresse nicht mehr funktioniert: Java. Das hat nämlich seit Ewigkeiten einen Bug in der Richtung.

Siehe zu dem Ganzen die Diskussion auf der debian-devel-Liste.
Last edited: 2011-07-18 09:45:05 +0200 (CEST)

View full thread dual stack modell