Auteur Sujet: Comment activer l'IPv6 sur son serveur dédié chez OneProvider (Ubuntu 18.04) ?  (Lu 9563 fois)

0 Membres et 1 Invité sur ce sujet

nephthys

  • Abonné Free fibre
  • *
  • Messages: 130
  • Var (83)
Hello,

J'ai depuis peu un serveur dédié chez OneProvider / Online, installé sous Ubuntu 18.04.3 LTS. J'ai demandé à OneProvider si c'est possible d'avoir une adresse IPv6, ils m'ont dit oui mais qu'ils ne proposent pas "de délégation DNS et que les rDNS ne sont pas personnalisables".

Bref, ils m'ont envoyé ce genre d'infos :
2001:bc8:XXXX:YYY::
DUID: 00:03:00:01:42:XX:XX:XX:XX:XX
Netmask: /64

Ils m'ont envoyé ce lien de la documentation Online mais ça reste assez abstrait pour moi d'utiliser DHCPv6. Je dois mettre quelle adresse IPv6 dans "address" du fichier /etc/network/interfaces ? 2001:bc8:XXXX:YYY::1 ?

Autant sur un serveur récent commandé chez Online directement, l'IPv6 est configurée automatiquement avec SLAAC, autant ici chez OneProvider, il faut mettre les mains dans le cambouis et quand on est pas un spécialiste réseau comme moi, on est vite perdu ;)

Merci d'avance pour votre aide.

EDIT : la solution est ici (plus bas dans ce sujet).
« Modifié: 28 novembre 2019 à 20:02:15 par nephthys »

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Il faut faire du DHCPv6-PD (a ne pas confondre avec le DHCP traditionnel en IPv4): ca consiste a envoyé le DUID indiqué via un requete DHCPv6 speciale de type PD = Prefix Delegation. Si le DUID est valide le bloc IPv6 indiqué va être routé vers le serveur.

Mais ca c'est juste l'établissement de la route.

Ensuite il faut configurer sur le serveur un ou des IPv6 de ce bloc.

Apres Ubuntu utilises Netplan qui ne supporte pas DHCPv6-PD : https://bugs.launchpad.net/netplan/+bug/1771886 (a noter que c'est ouvert et confirmé depuis mai 2018 mais depuis silence radio...).

Du coup il faut bidouillé un peu...

on en parle déja ici: https://lafibre.info/scaleway/configurer-une-ipv6-sur-un-serveur-dedibox-avec-ubuntu-18-04/


vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
J'ai déplacé dans la section Online by Scaleway.

A noter un autre sujet (en plus de celui mentionné par kgersen) sur l'IPv6 sur Ubuntu 18.04 chez Online / Scaleway : https://lafibre.info/scaleway/configurer-une-ipv6-online-net-sur-ubuntu-18-04/

nephthys

  • Abonné Free fibre
  • *
  • Messages: 130
  • Var (83)
Il faut faire du DHCPv6-PD (a ne pas confondre avec le DHCP traditionnel en IPv4): ca consiste a envoyé le DUID indiqué via un requete DHCPv6 speciale de type PD = Prefix Delegation. Si le DUID est valide le bloc IPv6 indiqué va être routé vers le serveur.

Mais ca c'est juste l'établissement de la route.

Ensuite il faut configurer sur le serveur un ou des IPv6 de ce bloc.

Apres Ubuntu utilises Netplan qui ne supporte pas DHCPv6-PD : https://bugs.launchpad.net/netplan/+bug/1771886 (a noter que c'est ouvert et confirmé depuis mai 2018 mais depuis silence radio...).

Du coup il faut bidouillé un peu...

on en parle déja ici: https://lafibre.info/scaleway/configurer-une-ipv6-sur-un-serveur-dedibox-avec-ubuntu-18-04/
Okay merci, j'avais bien compris l'utilisation du DUID mais c'est vrai qu'en pratique c'est autre chose...

J'avais vu le sujet en question mais je crois que Netplan n'est pas non plus vraiment recommandé. Il n'y a pas une autre solution ? Quitte à passer sous Debian 9 ou 10 ? Sinon je suis censé utiliser quelle adresse sur mon "bloc" IPv6 ?

J'ai déplacé dans la section Online by Scaleway.

A noter un autre sujet (en plus de celui mentionné par kgersen) sur l'IPv6 sur Ubuntu 18.04 chez Online / Scaleway : https://lafibre.info/scaleway/configurer-une-ipv6-online-net-sur-ubuntu-18-04/
Merci. J'avais vu ce sujet aussi mais j'ai pas tout compris et j'ai préféré parler de mon cas personnel dans un nouveau sujet  ;)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
J'avais vu le sujet en question mais je crois que Netplan n'est pas non plus vraiment recommandé. Il n'y a pas une autre solution ? Quitte à passer sous Debian 9 ou 10 ? Sinon je suis censé utiliser quelle adresse sur mon "bloc" IPv6 ?

j'ai une Debian chez Online.

j'utilise cette conf service systemd, pas testé avec Ubuntu donc je ne sais l'interaction avec Netplan mais si t'as aucun conf IPv6 ca ne devrait pas interagir.

creer /etc/systemd/system/dhclientv6-pd.service avec dedans (ajuster "enp1s0" au nom de ton interface) :
[Unit]
Description=dhclient for sending DUID IPv6
After=network-online.target
Wants=network-online.target

[Service]
Type=forking
ExecStart=/sbin/dhclient -cf /etc/dhcp/dhclient6.conf -6 -P -v enp1s0

[Install]
WantedBy=multi-user.target

puis creer /etc/dhcp/dhclient6.conf avec dedans (donc le duid fournit):
interface "enp1s0" {
   send dhcp6.client-id 00:03:00:xx:xx:xx:xx:xx:xx:xx;
}

activer le service:
sudo systemctl daemon-reload
sudo systemctl enable dhclientv6-pd.service

le demarrer (il demarrera tout seul au boot):
sudo systemctl start dhclientv6-pd.service
voir ce qui se passe:

sudo systemctl status dhclientv6-pdet
sudo journalctl -t dhclientv6-pd
il va te manquer la route par défaut, elle est en principe fournit par RA (router advertissment)

je l'active comme suit:
creer un fichier /etc/sysctl.d/01-ipv6-networking.conf (ajuster "enp1s0" comme avant):
# activate routing
net.ipv6.conf.all.forwarding=1
# online ipv6: disable slaac but allow default route
net.ipv6.conf.enp1s0.autoconf=0
net.ipv6.conf.enp1s0.accept_ra=2
pour l'activer sans reboot:
sudo sysctl --system
a partir de la tu devrais avoir:
- une route IPv6 par défaut (visible avec "ip -6 route")
- un bail DHCPv6  (visible dans "/var/lib/dhcp/dhclient6.leases")

de la il suffit d'ajouter une IPv6 a ton interface "enp1s0". Tu peux utiliser n'importe quelle adresse du bloc (visible dans le bail DHCPv6) :

sudo ip a add 2001:bc8:xxx:xxx::1/64 dev enp1s0
un bug/feature de "dhclient" empêche de mettre c'est config au boot car a l'obtiention du bail, dhclient vire cette IP de l'interface ...j'ai pas encore trouvé de solution a cela (j'ai pas reboot le serveur depuis 229 jours mais s'il reboot je doit remettre cette IPv6 a la main). C'est dans ma todo list mais en basse prio car je n'utilise quasi pas l'ipv6 de cette interface (j'utilise un autre block /64 du /56 pour Docker)... je pense qu'un script ou un hook (dans /etc/dhcp/dhclient-exit-hooks.d/..) devrait faire l'affaire.


nephthys

  • Abonné Free fibre
  • *
  • Messages: 130
  • Var (83)
Merci pour les (précieuses) infos kgersen, ça parait bien plus clair :) Reste à savoir si ça va fonctionner sur Ubuntu 18.04 ^^

Donc on ne touche pas au fichier /etc/network/interfaces ici (c'est pour ça que l'IPv6 n'est pas "persistante") ? L'IPv6 est configurée avec ta dernière commande "sudo ip a add [..]", si je comprends bien.

Si ça ne fonctionne pas sur Ubuntu, je tenterai d'installer Debian 10 mais c'est un peu laborieux chez OneProvider car ils ne proposent pas du tout Debian dans les choix d'OS pour ce serveur (et ils se limitent à Ubuntu... 14 !). Il faudrait utiliser IPMI pour installer l'ISO de Debian 10, mais bon on en est pas encore là. J'avais un autre serveur et ils proposaient pourtant Debian. Étrange...

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Si l'on souhaite ne plus utiliser Netplan avec Ubuntu 18.04 et revenir à l'ancienne méthode de configuration, il suffit d'installer le paquet ifupdown.

sudo apt install ifupdown

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)

Donc on ne touche pas au fichier /etc/network/interfaces ici (c'est pour ça que l'IPv6 n'est pas "persistante") ? L'IPv6 est configurée avec ta dernière commande "sudo ip a add [..]", si je comprends bien.


oui quand je mets l'ipv6 dans /etc/network/interfaces, facon canonique de faire sur Debian, l'IPv6 monte au boot mais dégage quasi de suite. C'est dhclient qui la supprime pour une raison qui m'est inconnue (je pense que dhclient cherche a trop en faire et considere qu'il doit aussi gerer les IPv6 de cette interface et pas seulement le prefix delegation sur cette interface).

nephthys

  • Abonné Free fibre
  • *
  • Messages: 130
  • Var (83)
oui quand je mets l'ipv6 dans /etc/network/interfaces, facon canonique de faire sur Debian, l'IPv6 monte au boot mais dégage quasi de suite. C'est dhclient qui la supprime pour une raison qui m'est inconnue (je pense que dhclient cherche a trop en faire et considere qu'il doit aussi gerer les IPv6 de cette interface et pas seulement le prefix delegation sur cette interface).
Ah c'est moche. J'ai trouvé un code sympa sur les forums Scaleway : https://community.scaleway.com/t/ipv6-stability-on-dedicated-servers-with-and-without-virtualisation/7284/5

Ça a l'air d'être un mélange de ta solution avec le service systemd et de l'ajout de l'interface IPv6 directement dans ce dernier. Au premier abord, on dirait que ça fonctionne chez moi :

# ping6 ip.lafibre.info
PING ip.lafibre.info(lafibre.info (2a01:6e00:10:410::2)) 56 data bytes
64 bytes from lafibre.info (2a01:6e00:10:410::2): icmp_seq=1 ttl=59 time=6.01 ms
64 bytes from lafibre.info (2a01:6e00:10:410::2): icmp_seq=2 ttl=59 time=6.02 ms
64 bytes from lafibre.info (2a01:6e00:10:410::2): icmp_seq=3 ttl=59 time=5.94 ms
^C
--- ip.lafibre.info ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 5.948/5.997/6.027/0.072 ms

Je vais faire pointer un nom de domaine dessus et continuer mes quelques tests mais ça va dans le bonne direction. Encore merci !  :)

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
oui cette config  est pas  mal car complete au niveau 'systemd' (voir trop mais c'est une question de gout :))

le code important est:

Type=forking
ExecStart=/sbin/dhclient -1 -v -pf /run/dhclient6.pid -cf /etc/dhcp/dhclient6.conf -lf /var/lib/dhcp/dhclient6.leases -6 -P ${DH6IF}
ExecStartPost=/sbin/ip -6 addr add ${DH6IP}/${DH6PF} dev ${DH6IF}

ca lance dhclient en mode forking ce qui déclenche ExecStartPost donc 'ip add' quasi toute de suite apres. Ca peut marcher mais c'est de la bibouille niveau timing...si l'obtiention du bail prend trop de temps, dhclient risque de supprimer l'ip configurée dans l'ExecStartPost .


La méthode 'propre' serait de toute facon de faire un hook dhclient, un script qui est appelé quand un bail est reçu/renouvelé/supprimé. et c'est dans ca hook qu'on fait l'ip add ou ip del. En plus ca permet de ne pas mettre en dur le prefix mais d'utiliser la valeur recu par DHCPv6-PD.
Faut juste que quelqu'un mette ce script au point...moi j'ai pas trop de temps pour ca. Dommage qu'Online s'en tape quand meme.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 078
  • Paris (75)
Comment activer l'IPv6 sur son serveur dédié chez OneProvider (Ubuntu 18.04) ?
« Réponse #10 le: 28 novembre 2019 à 18:04:30 »
errata: ah je n'avais pas vu le '-1' donc ca peut être bon niveau timing. dhclient attend d'avoir une bail pour passer en mode background (forking) donc ca garantie que le bail est la quand ExecStartPost est lancé.

C'est une bonne config donc. manque l'aspect dynamique d'un hook mais c'est mieux que rien.

nephthys

  • Abonné Free fibre
  • *
  • Messages: 130
  • Var (83)
Comment activer l'IPv6 sur son serveur dédié chez OneProvider (Ubuntu 18.04) ?
« Réponse #11 le: 28 novembre 2019 à 18:16:40 »
errata: ah je n'avais pas vu le '-1' donc ca peut être bon niveau timing. dhclient attend d'avoir une bail pour passer en mode background (forking) donc ca garantie que le bail est la quand ExecStartPost est lancé.

C'est une bonne config donc. manque l'aspect dynamique d'un hook mais c'est mieux que rien.
Oui ça a l'air très correct au premier abord, en tout cas c'est simple à mettre en place et ça doit fonctionner sans problème lors d'un reboot (il faut que je teste quand même ^^).

En attendant mieux, je vais me contenter de ça. Comme tu dis, c'est dommage qu'Online se moque du problème. Quand tu vois l'état de la documentation, tu comprends vite qu'il va falloir chercher la solution tout seul. C'est bête car je pense qu'une des missions d'un hébergeur est de faciliter le déploiement de nouvelles technologies, en l'occurence ici l'IPv6. Pourtant la maison mère Free est l'opérateur français qui déploie le plus ses clients fixes en IPv6, donc c'est un peu paradoxal...