Auteur Sujet: Tutoriel pour activer IPv6 sur Android  (Lu 50678 fois)

0 Membres et 1 Invité sur ce sujet

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 447
  • Lyon (69) / St-Bernard (01)
    • Twitter
Tutoriel pour activer IPv6 sur Android
« Réponse #72 le: 14 avril 2021 à 09:28:26 »
CLAT s’utilise forcément avec NAT64 coté Backbone

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
Tutoriel pour activer IPv6 sur Android
« Réponse #73 le: 14 avril 2021 à 09:46:23 »
Si c'était le cas, prendre un DNS64 tiers (cf DNS64 alternatifs (ex: dns64.cloudflare-dns.com)) avec une abonnement Free Mobile en mode IPv6 only (Free ne fournit pas de DNS64) devrait fonctionner.

Or il me semble que ce n'est pas le cas.

Peut-être une problématique de préfixe à utiliser.

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
Tutoriel pour activer IPv6 sur Android
« Réponse #74 le: 14 avril 2021 à 11:26:27 »
Voici une capture Free mobile sur le site Ameli, site qui n'est disponible qu'en IPv4.

La requête AAAA effectuée par le terminal n'obtient aucune IPv6. Il est obligé de partir en IPv4 via 464XLAT.

L'IPv4 d'Ameli, 31.15.27.86 est transformée en hexadécimal (1f0f:1b56) comme pour le DNS64/NAT64.

La différence, c'est le préfixe :
- Le DNS64 utilise le préfixe 64:ff9b
- Le 464XLAT de Free utilise le préfixe 2a0d:e487:ffff, qui est issue du bloc 2a0d:e480::/29 annoncé par AS51207, l'AS de Free mobile.



Requête DNS64 sur le DNS de Cloudflare :


Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 447
  • Lyon (69) / St-Bernard (01)
    • Twitter
Tutoriel pour activer IPv6 sur Android
« Réponse #75 le: 14 avril 2021 à 11:48:03 »
Non non, tu choisis le préfixe que tu veux en NAT64 :

root@nat64:~# grep prefix /etc/tayga.conf
prefix 64:ff9b::/96


Il me semble que tu confonds deux choses là Vivien :

- CLAT (ou 464XLAT) c'est coté mobile, ça sert à faire la traduction littérale. Le mobile n'a *pas* d'IPv4, il ne peut donc traduire que vers de l'IPv6.
- Or, coté backbone, il faut bien quelque chose qui traduise cette IPv6 en IPv4, c'est le NAT64.


Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 447
  • Lyon (69) / St-Bernard (01)
    • Twitter
Tutoriel pour activer IPv6 sur Android
« Réponse #76 le: 14 avril 2021 à 11:51:23 »
Et peut-être une piste sur pourquoi Free n'utilise pas le well-known prefix pour le NAT64 :

Citation de: https://sites.google.com/site/tmoipv6/464xlat
For NAT64, network specific prefix is used for traffic engineering reasons.  The well known prefix is not used.
D'ailleurs, sur ce site, ils appuient mon raisonnement :
Citation de: https://sites.google.com/site/tmoipv6/464xlat
No changes were required to the existing T-Mobile USA IPv6-only + NAT64/DNS64 to support the 464XLAT architecture.  The stateless RFC6145 translation on the handset was the only modification needed.

eahlys

  • Expert
  • Abonné Free fibre
  • *
  • Messages: 1 100
  • Shadow AS64476 & AS396919
Tutoriel pour activer IPv6 sur Android
« Réponse #77 le: 14 avril 2021 à 11:56:59 »
Ooook donc si je comprends bien, sur un réseau comme Orange ou ByTel (IPv6 non dual stack), le DNS64 fait que le terminal va envoyer des paquets IPv6 avec comme IP DST une IPv6 utilisant le WKP 64:ff9b (si le site souhaité est IPv4 only évidemment sinon ben il envoit à la vraie IPv6 du site, pas de NAT64, merci au revoir)

Si une appli souhaite taper une IPv4 littérale (donc pas de DNS64), le smartphone la modifie en une IPv6 utilisant ce même WKP (c'est ça le CLAT/464XLAT) ? Et chez free on utilise un autre préfixe que le WKP ?

Et dans les deux cas, un NAT64 est présent sur le réseau de l'opérateur : la distinction vient du fait que le DNS64 permet au téléphone de ne rien NATer alors que sans DNS64 (ou impossible de l'utiliser car IPv4 littérale), alors le téléphone doit faire du NAT vers une IPv6 (qui utilise quel préfixe, là est ma question) qui sera à nouveau natée par le NAT64 de l'opérateur

Je trouve pas ça dingue d'utiliser un préfixe appartenant à l'opérateur plutôt que le WKP : ça donne l'impression que l'IP est routable sur internet et qu'elle appartient à l'opérateur... Au moins avec le WKP on reconnaît direct.
C'est quoi la diff concrète entre 464XLAT et CLAT ?
J'ai bon ? C'est complexe, pfiou

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
Tutoriel pour activer IPv6 sur Android
« Réponse #78 le: 14 avril 2021 à 12:00:29 »
Coté opérateur, on voit deux NAT64 :

- Le NAT64 qui est associé au DNS64, qui doit obligatoirement utiliser le préfixe normalisé 64:ff9b

- Le NAT64 pour le 464XLAT, qui utilise un autre préfixe (le well-known prefix ou un autre).

C'est pour cela que sur http://ip.lafibre.info/ l'IPv4 publique affichée pour une requête vers un nom de domaine IPv4 only peut être différente d'une requête vers une IPv4 littérale (utilisant le 464XLAT)



C'est quoi la diff concrète entre 464XLAT et CLAT ?
464XLAT c'est l'ensemble
CLAT, c'est l'opération coté mobile
PLAT, c'est l'opération coté réseau


eahlys

  • Expert
  • Abonné Free fibre
  • *
  • Messages: 1 100
  • Shadow AS64476 & AS396919
Tutoriel pour activer IPv6 sur Android
« Réponse #79 le: 14 avril 2021 à 12:06:23 »
Ok !
Donc on a du NAT64 dans les deux cas, la question étant "quel élément va 'berner' la couche applicative pour qu'elle puisse atteindre les sites IPv4 only" : soit c'est du DNS64 donc le terminal ne se rend compte de rien, soit c'est du 464XLAT et c'est le smartphone qui expose une "fausse" connectivité IPv4 aux applications, pour ensuite translater l'IPv4 demandée en une IPv6 (de manière stateless, pas de NAT) envoyée sur le réseau de l'opérateur

Ça pourrait se déployer à grande échelle sur des réseaux fixes aussi, ça ? En gros, ça serait un "genre" de 4rd (pas vraiment, je raccourcis l'idée parce que je suis sur mon téléphone) mais avec du DNS64 histoire d'éviter au maximum un 464XLAT côté client ?


EDIT : Ok je vois l'idée entre CLAT/PLAT/464XLAT ! Merci :)

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
Tutoriel pour activer IPv6 sur Android
« Réponse #80 le: 14 avril 2021 à 12:32:24 »
Les box peuvent faire du CLAT et donc annoncer de l'IPv4 sur le LAN sans en avoir sur le WAN, mais avec quelle performance en FttH ?

Pour le faire sur le terminal, il faut récupérer le préfixe.

Dans la RFC, ils parlent de créer une nouvelle option DHCPv6 :

Le CLAT doit connaître deux préfixes IPv6 pertinents.

Tout d'abord, CLAT doit connaître ses propres préfixes IPv6. Le CLAT doit acquérir un / 64 pour l'interface de liaison montante, un / 64 pour toutes les interfaces de liaison descendante et un préfixe dédié / 64 dans le but d'envoyer et de recevoir des paquets traduits sans état. Lorsqu'un préfixe dédié / 64 n'est pas disponible pour la traduction de DHCPv6-PD [RFC3633], le CLAT peut effectuer NAT44 pour tous les paquets LAN IPv4 de sorte que tous les paquets IPv4 provenant du LAN apparaissent à partir d'une seule adresse IPv4 et sont ensuite traduits sans état en une adresse IPv6 d'interface qui est revendiquée par le CLAT via le protocole de découverte de voisin (NDP) et défendue avec la détection d'adresse en double (DAD).

Deuxièmement, le CLAT doit découvrir le préfixe IPv6 de traduction côté PLAT utilisé comme destination du PLAT. Le CLAT utilisera ce préfixe comme destination de tous les paquets de traduction qui nécessitent une traduction avec état vers Internet IPv4. Il peut découvrir le préfixe de traduction côté PLAT en utilisant [Discovery-Heuristic]. À l'avenir, d'autres mécanismes, comme une nouvelle option DHCPv6, seront éventuellement définis pour communiquer le préfixe de traduction côté PLAT.


Source : RFC6877

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 447
  • Lyon (69) / St-Bernard (01)
    • Twitter
Tutoriel pour activer IPv6 sur Android
« Réponse #81 le: 14 avril 2021 à 12:52:52 »
- Le NAT64 qui est associé au DNS64, qui doit obligatoirement utiliser le préfixe normalisé 64:ff9b
Mais... non ! Justement, regarde le lien que j'ai mentionné, T-Mobile par exemple n'utilise pas le WKP.
La seule contrainte sera que sans WKP tu ne peux pas utiliser de DNS tiers.


eahlys

  • Expert
  • Abonné Free fibre
  • *
  • Messages: 1 100
  • Shadow AS64476 & AS396919
Tutoriel pour activer IPv6 sur Android
« Réponse #82 le: 14 avril 2021 à 14:29:32 »
Okay je vois ! Mais donc le préfixe DNS64 et 464XLAT peut être le même ce qui permet de n’utiliser qu’un seul NAT64 coté opérateur ?

vivien

  • Administrateur
  • *
  • Messages: 47 183
    • Twitter LaFibre.info
Tutoriel pour activer IPv6 sur Android
« Réponse #83 le: 14 avril 2021 à 14:56:13 »
Oui, cela doit être possible.

La seule contrainte sera que sans WKP tu ne peux pas utiliser de DNS tiers.
Pas top le fait de ne pas pouvoir utiliser de DNS tiers.



Je me demande si le fait d'avoir un préfixe particulier ne pourrait pas expliquer que certains mobile n'arrivent pas a activer le CLAT ou que ce soit lent :

Même soucis (Xiaomi Mi8) : si IPv4/IPv6 dans l'APN alors on a qu'une ipv4, si IPv6 dans l'APN on a qu'une ipv6 et les sites en ipv4 sont KO.
J'ai un MOTO G4 Play sous lineage 17.1 (android 10). Après avoir activé l'option sur le portail, quand je change le protocole de l'APN en IPV6, je perds la data. Marche pas :(
Je désactive toujours les données mobiles, sauf quand j'en ai besoin.
Or depuis que je suis en IPv6, la connexion Internet de mon téléphone mettait, de temps en temps, beaucoup plus de temps à être effective, bien que captais l'antenne de manière convenable, du moins à première vue.

Je suis revenu en IPv4, en désactivant l'option et en changeant l'APN, et je ne ressens plus cette lenteur (plusieurs longues secondes avant d'avoir la connexion effective).

Avez-vous constatez cela ? J'ai un S8 à jour.