Tuesday, April 23, 2013

IPv6 sur VPS Hetzner / NetBSD

Ayant découvert il y a quelques mois que mon hébergeur (Hetzner) proposait IPv6 sur ses offres VPS, je me suis décidé à l'activer, pour avoir un aperçu de la configuration requise.

Configuration envoyée par Hetzner:
IPs: 2a01:4f8:d13:1d00:: /64
Gateway: 2a01:4f8:d13:1d00::1 /64
Useable IP addresses:
2a01:4f8:d13:1d00::2 to 2a01:4f8:d13:1d00:ffff:ffff:ffff:ffff


On ajoute la première adresse du pool IPv6 à l'interface réseau:
cat /etc/ifconfig.rtk0
inet 78.47.36.230 netmask 0xfffffff0
inet6 2a01:4f8:d13:1d00::2 prefixlen 64


et on définit la passerelle IPv6:
cat /etc/mygate6                                              
2a01:4f8:d13:1d00::1


Après avoir ajouté une entrée de type AAAA sur le registrar DNS (pour moi Gandi) on vérifie que cette entrée est bien accessible:
host -t AAAA libera.cc
libera.cc has IPv6 address 2a01:4f8:d13:1d00::2


Par défaut Apache httpd "écoute" seulement sur IPv4, il faut ajouter "Listen [::]:80" dans /usr/pkg/etc/httpd/httpd.conf:
grep ^Listen httpd.conf 
Listen 0.0.0.0:80
Listen [::]:80


Avons une socket ouverte en IPv6 sur le port 80 ?
sockstat -f inet6  -ln | grep 80
www      httpd      700    4 tcp6   *.80                  *.*
www      httpd      1958   4 tcp6   *.80                  *.*
www      httpd      1971   4 tcp6   *.80                  *.*
root     httpd      2100   4 tcp6   *.80

On peut donc tester depuis une machine cliente si Apache envoie répond bien sur IPv6:
curl -6 libera.cc


Computer says:

Computer says:

Hello World !



Business as usual ...