Après avoir un peu bataillé pour mettre en place le protocole IpV6 sur mon serveur dédié OVH, j’ai décidé de faire un petit récapitulatif des étapes importantes nécessaires à la configuration IPv6…
Pour quelques informations de bases sur l’IpV6, je vous invite à relire cet ancien article qui présente brièvement les fondements de ce protocole. Quelques mots sur l’IPv6
Vérification du noyau
Si le titre stipule un serveur OVH, n’importe quel serveur booté sur un kernel IpV6 devrait faire l’affaire. Je ne m’attarderais donc pas ici sur la compilation d’un noyau supportant l’IpV6. Pour le reste, les étapes seront similaires sur la plupart des systèmes Debian de base.
Dans la plupart des cas, le noyau peut vous renseigner sur la potentielle prise en charge. la commande suivante vous permet de récupérer le nom du noyau booté:
1 |
uname -a |
devrait retourner une réponse de la forme suivante:
Linux ns.domain.com 3.2.13-grsec-xxxx-grs-ipv6-64 #1 SMP Thu Mar 29 09:48:59 UTC 2012 x86_64 GNU/Linux
Dans ce cas, on devine bien que le Kernel supporte l’IpV6…
Récupération du préfixe IpV6
Il vous est alors nécessaire de connaître le bloc d’adresse qui vous est attribué par votre hébergeur. Si votre serveur est hébergé chez OVH, vous trouverez celle-ci dans le manager rubrique « Récapitulatif »
OVH (tout comme la plupart des autres hébergeur) vous fourni un bloc du type 2001:41d0:xxxx:xxxx::/64
Les informations ci-dessous sont à décrypter de la façon suivante:
la première partie (4 fois 4 chiffres) est votre préfixe Ipv6. Le /64 correspond à la longueur du préfixe soit, dans notre cas 64 bits. Une adresse IpV6 étant codée sur 128 bits, il vous reste donc 64 bits disponibles pour votre sous-réseau soit 2^64 combinaisons. Si l’on se rappelle qu’une adresse IpV4 se code sur 32 bits et n’offre donc (au total) que 2^32 combinaisons, vous devez commencer à saisir la force de l’Ipv6…
Choix d’une adresse et configuration
Vous pouvez maintenant choisir une ou plusieurs adresses à configurer pour votre serveur. On peut par exemple choisir l’adresse suivante:
1 |
<span style="color: #ff0000;">2001:41d0:xxxx:xxxx</span>::1 |
La partie en rouge est la partie fixée par votre hébergeur (que vous ne pouvez donc pas changer.) Vous êtes ensuite libre de faire ce que vous souhaitez.
Un petit rappel, les notations suivantes sont équivalentes:
1 2 3 |
2001:41d0:xxxx:xxxx:0000:0000:0000:0001 2001:41d0:xxxx:xxxx::0001 2001:41d0:xxxx:xxxx::1 |
L’ajout de votre première adresse se fait en insérant les lignes suivantes dans le fichier /etc/network/interfaces
1 2 3 |
iface eth0 inet6 static address 2001:41D0:xxxx:xxxx::1 netmask 64 |
Pour chaque IP supplémentaire, ajouter les lignes suivantes à la fin du même fichier
1 2 |
post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:1:218a::2/64 pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:1:218a::2/64 |
Après cette opération, un simple redémarrage du réseau fera l’affaire.
1 |
/etc/init.d/networking restart |
Attention, si vous êtes connecté en ssh sur votre serveur, effectuez bien un restart et non un stop suivi d’un start. Vous risqueriez alors de perdre votre connexion réseau donc votre seul accès au serveur…
Et voilà, à ce stade vous devriez avoir une connectivité IpV6. Pour le vérifier, vous pouvez soit effectuer un test de ping vers votre serveur ou bien l’inverse. Par exemple:
1 |
ping6 ipv6.google.com |
Problèmes de Gateway
Dans certains cas, il est possible que vous n’arriviez pas à vous connecter en IpV6 ou que la connectivité se coupe après un certain temps. Il peut s’agir d’un problème de gateway mal configurée. Il vous faut alors manuellement reconfigurer la porte par défaut à l’aide de la commande suivante:
1 |
route -A inet6 add default gw 2001:41d0:xxxx:xxFF:FF:FF:FF:FF dev eth0 |
Si votre serveur est hébergé chez OVH, la gateway est toujours de la forme suivante:
2001:41d0:xxxx:xxFF:FF:FF:FF:FF (soit le début du préfixe IpV6 + 5 fois FF)
Ainsi, le préfixe 2001:41d0:3a:96a::/64 aura pour gateway 2001:41d0:3a:9FF:FF:FF:FF:FF
N’hésitez pas à demander de l’aide…
Voici donc qui conclu ce post. J’espère avoir été clair pour la plupart. Si malgré tout, vous n’arrivez toujours pas à configurer votre IpV6, n’hésitez pas à laisser un commentaire, je pourrais peut-être préciser certains points et si nécessaire mettre ce post à jour.
Pour aller plus loin :
Pour quelques informations supplémentaires à propos du protocole IPv6 et de sa configuration, n’hésitez pas à vous rendre sur les sites suivants:
http://fr.wikipedia.org/wiki/IPv6
http://wiki.debian.org/DebianIPv6
http://guides.ovh.com/Ipv4Ipv6
8 commentaires à “Configuration IPV6 sur un serveur Debian OVH”
Désolé, les commentaire sont désactivés pour l'instant.
Bonjour
Impossible d’avoir une connexion IPV6
Fichier INTERFACES
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth2
iface eth2 inet static
address 51.255.64.111
netmask 255.255.255.0
network 51.255.64.0
broadcast 51.255.64.255
gateway 51.255.64.254
iface eth2 inet6 static
address 2001:41d0:1008:0c6f::2
netmask 64
post-up /sbin/ip -f inet6 route add 2001:41d0:1008:0c6f::1 dev eth2
post-up /sbin/ip -f inet6 route add default via 2001:41d0:1008:0c6f::1
pre-down /sbin/ip -f inet6 route del 2001:41d0:1008:0c6f::1 dev eth2
pre-down /sbin/ip -f inet6 route del default via 2001:41d0:1008:0c6f::1
# post-up /sbin/ip -f inet6 route add 2001:41d0:1008:0cff:ff:ff:ff:ff dev eth2
# post-up /sbin/ip -f inet6 route add default via 2001:41d0:1008:0cff:ff:ff:ff:ff
# pre-down /sbin/ip -f inet6 route del 2001:41d0:1008:0cff:ff:ff:ff:ff dev eth2
# pre-down /sbin/ip -f inet6 route del default via 2001:41d0:1008:0cff:ff:ff:ff:ff
# post-up /sbin/ip -family inet6 route add 2001:41d0:0c33:0cff:ff:ff:ff:ff dev eth2
# post-up /sbin/ip -family inet6 route add default via 2001:41d0:0c33:0cff:ff:ff:ff:ff
# pre-down /sbin/ip -family inet6 route del default via 2001:41d0:0c33:0cff:ff:ff:ff:ff
# pre-down /sbin/ip -family inet6 route del 2001:41d0:0c33:0cff:ff:ff:ff:ff dev eth2
# post-up /sbin/ip -6 addr add 2001:41d0:0c33:0c33::1/64 dev eth2
# pre-down /sbin/ip -6 addr del 2001:41d0:0c33:0c33::1/64 dev eth2
————————————————————–
print-on-plexi.be
ns3024854.ip-51-255-64.eu
Ip : 51.255.64.111 Gérer
Ipv6 : 2001:41d0:1008:0c6f::/64
————————————————————–
root@print-on-plexi:/etc# ping6 -c 4 2001:41d0:1008:0c6f::2
PING 2001:41d0:1008:0c6f::2(2001:41d0:1008:c6f::2) 56 data bytes
From 2001:41d0:1008:c6f:: icmp_seq=1 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=2 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=3 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=4 Destination unreachable: Address unreachable
— 2001:41d0:1008:0c6f::2 ping statistics —
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3016ms
root@print-on-plexi:/etc# ping6 -c 4 2001:41d0:1008:0c6f::1
PING 2001:41d0:1008:0c6f::1(2001:41d0:1008:c6f::1) 56 data bytes
From 2001:41d0:1008:c6f:: icmp_seq=1 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=2 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=3 Destination unreachable: Address unreachable
From 2001:41d0:1008:c6f:: icmp_seq=4 Destination unreachable: Address unreachable
— 2001:41d0:1008:0c6f::1 ping statistics —
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3015ms
INTERFACE OVH
Adresse IP Pays Reverse MAC virtuelle Mitigation Firewall Firewall Game Alertes
2001:41d0:1008:c6f::/64 –
2001:41d0:1008:c6f::2 – print-on-plexi.be.
Ceci est peut etre utile aussi
root@print-on-plexi:/etc# ip -6 addr show eth2
8: eth2: mtu 1500 qlen 1000
inet6 2001:41d0:1008:c6f::/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::ec4:7aff:fe7b:5eca/64 scope link
valid_lft forever preferred_lft forever
root@print-on-plexi:/etc#
root@print-on-plexi:/etc# dig print-on-plexi.be AAAA
; <> DiG 9.9.5-9+deb8u12-Debian <> print-on-plexi.be AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43024
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;print-on-plexi.be. IN AAAA
;; ANSWER SECTION:
print-on-plexi.be. 86400 IN AAAA 2001:41d0:1008:c6f::2
;; AUTHORITY SECTION:
print-on-plexi.be. 3600 IN NS ns1.print-on-plexi.be.
print-on-plexi.be. 3600 IN NS sdns2.ovh.net.
;; ADDITIONAL SECTION:
sdns2.ovh.net. 28 IN A 213.251.188.141
;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 10 20:55:31 CEST 2017
;; MSG SIZE rcvd: 135
root@print-on-plexi:/etc#
root@print-on-plexi:/etc# dig -x 2001:41d0:1008:c6f:: ANY
; <> DiG 9.9.5-9+deb8u12-Debian <> -x 2001:41d0:1008:c6f:: ANY
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 39419
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.f.6.c.0.8.0.0.1.0.d.1.4.1.0.0.2.ip6.arpa. IN ANY
;; Query time: 4002 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Jul 10 20:58:28 CEST 2017
;; MSG SIZE rcvd: 101
root@print-on-plexi:/etc#
root@print-on-plexi:/etc# netstat -lnptu |grep "named\W*$"
tcp 0 0 178.32.102.179:53 0.0.0.0 LISTEN 1052/named
tcp 0 0 10.8.0.1:53 0.0.0.0 LISTEN 1052/named
tcp 0 0 178.32.42.185:53 0.0.0.0 LISTEN 1052/named
tcp 0 0 51.255.64.111:53 0.0.0.0 LISTEN 1052/named
tcp 0 0 127.0.0.1:53 0.0.0.0 LISTEN 1052/named
tcp 0 0 127.0.0.1:953 0.0.0.0 LISTEN 1052/named
tcp6 0 0 :::53 :: LISTEN 1052/named
tcp6 0 0 ::1:953 :: LISTEN 1052/named
udp 0 0 178.32.102.179:53 0.0.0.0 1052/named
udp 0 0 10.8.0.1:53 0.0.0.0 1052/named
udp 0 0 178.32.42.185:53 0.0.0.0 1052/named
udp 0 0 51.255.64.111:53 0.0.0.0 1052/named
udp 0 0 127.0.0.1:53 0.0.0.0 1052/named
udp6 0 0 :::53 :: 1052/named
root@print-on-plexi:/etc#
root@print-on-plexi:/etc/bind# route -6
Kernel IPv6 routing table
Destination Next Hop Flag Met Ref Use If
::1/128 :: U 256 0 0 lo
2001:41d0:c33:cff:ff:ff:ff:ff/128 :: U 1024 0 1 eth2
2001:41d0:1008:c6f::/64 :: U 256 1 0 eth2
2001:41d0:1008:cff:ff:ff:ff:ff/128 :: U 1024 0 20 eth2
fe80::/64 :: U 256 0 0 eth2
::/0 2001:41d0:1008:cff:ff:ff:ff:ff UG 1024 11 0 eth2
::/0 :: !n -1 1 24834 lo
::1/128 :: Un 0 1 5949 lo
2001:41d0:1008:c6f::/128 :: Un 0 1 72523 lo
fe80::ec4:7aff:fe7b:5eca/128 :: Un 0 1 728 lo
ff00::/8 :: U 256 1 0 eth2
::/0 :: !n -1 1 24834 lo
root@print-on-plexi:/etc/bind#
Fichier /etc/host
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
51.255.64.111 print-on-plexi.be print-on-plexi.be
51.255.64.111 print-on-plexi.be print-on-plexi
51.255.64.111 Server1 Server1
2001:41d0:1008:0c6f::2 print-on-plexi.be print-on-plexi.be
2001:41d0:1008:0c6f::2 print-on-plexi.be print-on-plexi
# The following lines are desirable for IPv6 capable hosts
#(added automatically by netbase upgrade)
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
Merci de votre aide car cela est un casse tete ce truc d'IPV6.
j’ai suivi la procedure indique mais apres un certain delay je perd l ipv6 je doit a chaque fois ajouter la route
Bonjour,
Avez vous bien effectué la dernière étape? Quel est le délai à partir duquel l’IpV6 est perdue? (Est-ce que cela se passe après un redémarrage du serveur?)
Cordialement,
Bonjour,
J’ai suivi ta procédure et je ne vois pas ma nouvelle adresse ipv6 avec ifconfig et elle ne répond pas au ping6
Ci-dessius mon interfaces je suis chez so you start:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 188.165.226.65
netmask 255.255.255.0
network 188.165.226.0
broadcast 188.165.226.255
gateway 188.165.226.254
iface eth0 inet6 static
address 2001:41D0:2:AD41::1
netmask 64
route -A inet6 add default gw 2001:41D0:2:ADff:ff:ff:ff:ff dev eth0
post-up /sbin/ip -family inet6 route add 2001:41D0:2:ADff:ff:ff:ff:ff dev eth0
post-up /sbin/ip -family inet6 route add default via 2001:41D0:2:ADff:ff:ff:ff:ff
pre-down /sbin/ip -family inet6 route del default via 2001:41D0:2:ADff:ff:ff:ff:ff
pre-down /sbin/ip -family inet6 route del 2001:41D0:2:ADff:ff:ff:ff:ff dev eth0
post-up /sbin/ifconfig eth0 inet6 add 2001:41D0:2:AD41::2/64
pre-down /sbin/ifconfig eth0 inet6 del 2001:41D0:2:AD41::2/64
As-tu une idée, une piste ça fait 3 jours que je cherche.
Merci d’avance
Patrick
Bonjour, sur quelle adresse essayez vous le ping? Avez vous tester d’accéder a la page de Google en ipv6?
Merci pour votre réponse.
En fait si je tape dans la console la ligne de commande :
/sbin/ifconfig eth0 inet6 del 2001:41D0:2:AD41::2/64
Ca fonctionne et je trouve mon adresse ipv6 dans ifconfig. Mais si je mets la ligne de commande dans le fichier interfaces, ça ne fonctionne pas.j’ai pouratnt fait un /etc/init.d/networking restart
ci dessous la ligne dans le fichier interfqces
post-up /sbin/ip -6 addr add 2001:41D0:2:AD41::2/64 dev eth0
pre-down /sbin/ip -6 addr del 2001:41D0:2:AD41::2/64 dev eth0
Merci pour ton tutorial un peu plus explicite que celui d’OVH 😉
De rien. Ravi que ça puisse servir à d’autres que moi 🙂