À force de réflexion, j'ai enfin trouvé une solution propre pour le CLAT : Je laisse faire le routeur pour l'ipv6 puis au lieu de faire un micmac avec 2 interfaces réseaux sur la debian, je lui fout une seule interface en ipv4 fixe + ipv6 en SLAAC. Puis DHCPv4 sur celle-ci :
root@CLAT:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:16:99:1d brd ff:ff:ff:ff:ff:ff
inet 192.168.50.1/24 brd 192.168.50.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fda2:9477:cf10:8f00:a00:27ff:fe16:991d/64 scope global dynamic mngtmpaddr
valid_lft 6983sec preferred_lft 3383sec
inet6 2a04:cec0:1063:503a:a00:27ff:fe16:991d/64 scope global dynamic mngtmpaddr
valid_lft 6983sec preferred_lft 3383sec
inet6 fe80::a00:27ff:fe16:991d/64 scope link
valid_lft forever preferred_lft forever
3: clat: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
link/none
inet 192.0.0.1/32 scope global clat
valid_lft forever preferred_lft forever
inet6 fe80::feab:1c9f:a9ad:eb00/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Seul prérequis : désactiver le DHCP sur le routeur (radvd reste actif). Cette solution a en plus l'avantage de pourvoir traiter tout le réseau y compris le wifi, on peut donc embarquer la solution sur un raspberry par exemple.
EDIT : Petit tip : Pour éviter d'être embêté par l'erreur : This system already has IPv4 connectivity; no need for a CLAT. Car le système a une ipv4 fixe et donc une route par défaut, il suffit simplement de commenter la partie du script qui en est responsable. Pour vérifier que ça fonctionne : systemctl stop clatd / systemctl start clatd et l'interface doit se créer dans tous les cas.
# Step 1: Detect if there is an IPv4 default route on the system from before.
# If so we have no need for 464XLAT, and we can just exit straight away
#
if(cfgbool("v4-conncheck-enable") and !cfgbool("v4-defaultroute-replace")) {
my $delay = cfgint("v4-conncheck-delay");
p("Checking if this system already has IPv4 connectivity ",
$delay ? "in $delay sec(s)" : "now");
sleep($delay);
open(my $fd, '-|', cfg("cmd-ip"), qw(-4 route list default))
or err("'", cfg("cmd-ip"), " -4 route list default' failed to execute");
while(<$fd>) {
if(/^default /) {
p("This system already has IPv4 connectivity; no need for a CLAT.");
cleanup_and_exit(0);
}
}
close($fd) or err("cmd(ip -4 route list default) failed");
} else {
d("Skipping IPv4 connectivity check at user request");
}
Tip n°2 : Il est aussi possible de mettre la debian sur le même sous réseau mais en .254 par ex. De cette manière on a accès directement à l'interface du routeur. Plus pratique également pour les logiciels de gestion comme LTEinspecteur ou LTE-H Monitor.