Auteur Sujet: [TUTO 464XLAT] Installer clatd sous Linux (connexion IPv6 only DNS64/NAT64)  (Lu 2767 fois)

0 Membres et 1 Invité sur ce sujet

Cryptage

  • Abonné Free fibre
  • *
  • Messages: 297
  • Dijon
Pour ceux qui souhaiteraient profiter du 464XLAT sous Linux, voici un moyen simple de le faire en installant clatd sur le client.
Il existe d'autres alternatives comme Jool qui ne seront pas abordées ici.

Il y a plusieurs prérequis à respecter :
- Il faut avoir de l'IPv6 sur le client.
- Il faut avoir Perl et certains modules réseaux associés.
- Il faut un DNS opérationnel capable d'assurer du DNS64/NAT64.
- Il faut des droits root.

L'exemple ci-dessous est pour Debian 10 mais il est possible d'utiliser d'autres distributions.

Éventuellement définir au préalable un serveur DNS fournissant du DNS64/NAT64 si celui de votre FAI ne le gère pas.
Ceux de Cloudflare (2606:4700:4700::64) ou de Google (2001:4860:4860::6464) conviennent parfaitement.

1- La première étape consiste à cloner le dépôt Git :
git clone https://github.com/toreanderson/clatd

2- La seconde à installer les prérequis Perl, Tayga, etc.
Pour Debian (certains paquets sont déjà probablement installés) : apt install make perl-base perl-modules libnet-ip-perl libnet-dns-perl libio-socket-inet6-perl iproute2 iptables tayga

A noter que dans le dépôt "clatd" il y a un Makefile qui peut s'utiliser de la manière suivante : make installdeps
Il supporte des distributions utilisant RPM/DNF (Fedora, CentOS...) ainsi que les distributions supportant APT (Debian, Ubuntu...) mais ce n'est pas forcément à jour.
--> Sur une Debian 10 par exemple il cherche un paquet "iproute" qui n'existe plus (remplacé par iproute2).

3- Installer clatd et le fichier pour le service.
Soit en faisant un make ou un make install dans le répertoire clatd (méthode conseillée si vous utilisez NetworkManager).
Soit en copiant manuellement le script "clatd" à l'endroit de votre choix ainsi que le fichier de service (systemd, init...) présent dans "scripts" (le modifier si nécessaire).

4- Activer le service, exemple pour Debian :
systemctl enable clatd

A partir de là, le reste se fait tout seul si vous avez la bonne configuration.

Sans clatd, voici ce qu'on obtient avec une config IPv6 + DNS64/NAT64 (j'ai flouté, car l'adresse est générée à partir de mon @MAC) :



A partir de là, vous pouvez lancer "clatd" (à la main dans un premier temps pour voir ce qui est fait). Normalement il se débrouille très bien.
Si cela fonctionne, il suffira de le lancer via le service.


Starting clatd v1.5 by Tore Anderson <tore@fud.no>
Performing DNS64-based PLAT prefix discovery (cf. RFC 7050)
Using PLAT (NAT64) prefix: 64:ff9b::/96
Device facing the PLAT: br10
Attempting to derive a CLAT IPv6 address from an IPv6 address on 'br10'
Using CLAT IPv4 address: 192.0.0.1
Using CLAT IPv6 address: 2001:db8::xxxx
Checking if this system already has IPv4 connectivity in 10 sec(s)
Enabling IPv6 forwarding
Enabling Proxy-ND for 2001:db8::xxxx on br10
Creating and configuring up CLAT device 'clat'
Created persistent tun device clat
Adding IPv4 default route via the CLAT
Starting up TAYGA, using config file '/tmp/kN_CcejYQT'

Si vous obtenez le message ci-dessous c'est que vous avez une passerelle par défaut opérationnelle en IPv4 : vous pouvez le vérifier avec la commande "ip route".
Il faudra la supprimer pour pouvoir lancer "clatd".


Starting clatd v1.5 by Tore Anderson <tore@fud.no>
...
This system already has IPv4 connectivity; no need for a CLAT.

Et à partir de ce moment, vous obtenez ceci :




Pour les intéressés, voici le contenu du fichier dans "/tmp" :


# Ephemeral TAYGA config file written by ./clatd
# This file may be safely deleted at any time.
tun-device clat
prefix 64:ff9b::/96
ipv4-addr 192.0.0.2
map 192.0.0.1 2001:db8::xxxx


Et la configuration IPv4 de l'interface clat :

21: clat: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    inet 192.0.0.1/32 scope global clat
       valid_lft forever preferred_lft forever

Profitez !

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
[TUTO 464XLAT] Installer clatd sous Linux (connexion IPv6 only DNS64/NAT64)
« Réponse #1 le: 08 janvier 2020 à 19:10:09 »
Merci !

Ce tutoriel est utile pour ceux qui ont une connexion IPv6 only, avec un FAI qui propose du NAT64 pour récupérer une IPv4.

Concrètement aujourd'hui cela concerne des clients mobile qui mettent une SIM provisionnée en IPv6 only dans un routeur 4G (peu de routeurs intègrent Clat, alors que c'est fourni systématiquement sous Android et iOS même en partage de connexion, ce qui fait qu'un périphérique connecté à un mobile IPv6 va recevoir une IPv4)