la chèvre et le choux… Mais la tortue qui bouge !
Tous les sites sérieux sont aujourd'hui accessibles en IPv6.
Enfin presque tous (on a passé les 30% en 2023)
manquent github.com, www.univ-amu.fr et caf.fr …
D'après google, en france 75% des accès sont en IPv6 (janvier 2024)
Au moins un tiers des sites "les plus consultés"© sont accessibles en IPv6… pas le tien ? 😱
Question SSI toute bête: ok, tu ne gères pas IPv6… si j'annonce un routeur IPv6 sur un LAN il se passe quoi ?
Encore plus rigolo: un routeur IPv6-only avec un DNS "DNS64" dans l'annonce et l'option "prefer64" ?
(Oui, il existe du ra-guard, dhcpv6-snooping, nd-snooping… mais pas activé ça ne sert à rien)
Sauf que ça ajoute un niveau 3 à gérer
Pas (encore) partout… mais c'est assez simple
A connaître:
sysctl net/ipv6/bindv6only #=0?
sysctl net.inet6.ip6.v6only #=1
Java:
-Djava.net.preferIPv4Stack=false -Djava.net.preferIPv6addresses=true
En fait un serveur c'est un peu aussi un client parfois …
utilise framagit ! 😈
On utilise deux techniques
github.com (140.82.121.3) devient PREFIXE::8c52:7903
le DNS ajoute donc un enregistrement AAAA s'il n'existe pas, qui embarque l'IP contenue dans le A
Le routeur va «reconnaitre» le préfix dédié et extraire l'IPv4 des 32 derniers bits
Le très vieux: Ben on va lui laisser de l'IPv4 !
Comme il ne va pas demander l'option DHCP 108 "IPv6-only prefered", il va prendre une IPv4.
… on y revient dans 2 slides ;)
pour le cas de l'appli qui ouvre un socket IPv4 explicitement… (elle sont plusieurs)
C'est une autre façon d'utiliser notre «préfixe 64» (ou un autre d'ailleurs)
ping 8.8.8.8
C'est le kit «IPv6-Mostly»:
La seule vraie réponse pour ipv4only.arpa. est 192.0.0.170 (c000:00aa) et 192.0.0.171 (c000:00ab)
(drill -t AAAA ipv4only.arpa.)> 2001:db8:64::c000:aa
(-t PTR 2001:db8:64::c000:aa)> dns64.example.com
(-t AAAA dns64.example.com.)> 2001:db8:64::c000:aa # préfixe validé
(-t A dns64.example.com)> 192.0.2.80 # IPv4 pour test connectivité
unbound.conf
module-config: "dns64 validator iterator"
#dns64-prefix: 64:ff9b::/96 # well-known prefix (default)
#local-zone: "ipv4only.arpa." static
#local-data: "ipv4only.arpa. IN AAAA 2a01:e0a:c21:64::c000:ab"
#local-data: "ipv4only.arpa. IN AAAA 2a01:e0a:c21:64::c000:aa"
option option-108 00:00:0e:10; # rfc8925 - 3600s en hex
pass in quick inet6 from $myv6net to 64:ff9b::/96 af-to inet from ($ext_if)# rfc6146
nat64 prefix 64:ff9b::/96 # rfc8781
pkg_add gelatod
man gelatod
https://ripe87.ripe.net/presentations/8-IPv6-mostly_on_OpenWRT.pdf