5 votes

Android peut-il être utilisé dans les réseaux exclusivement IPv6 ? Quel niveau de falsification de l'IPv4 est nécessaire ?

J'utilise plusieurs appareils Android 6.0.x et 6.0.1, que je souhaite utiliser dans un réseau îloté ("privé") IPv6. Les appareils Android sont soit attachés à un pont WiFi-to-Ethernet, soit certaines tablettes acceptent même les dongles Ethernet USB 2.0 à l'aide de câbles OTG. Le réseau IPv6 dispose de RAs signalant le préfixe IPv6 à utiliser, ainsi que l'adresse du serveur DNS IPv6, et éventuellement quelques routes IPv6 plus spécifiques. Il n'y a pas de serveurs DHCPv6 ou DHCPv4 disponibles. Il y a bien des serveurs DHCPv6 dans ce réseau, mais ils ne répondent qu'avec des préfixes délégués.

Malheureusement, je ne peux pas connecter de manière fiable mes appareils Android à ce réseau. Pour vérifier, un Pi ordinaire équipé de Linux Raspbian se connecte immédiatement et fonctionne correctement, en utilisant le DNS et en obtenant des adresses correctes.

Même lorsque je définis une adresse IPv4 statique, mes appareils Android ne se connectent souvent pas correctement, car ils n'utilisent pas le DNS IPv6, bien qu'il soit annoncé (RFC 5006). Je dois définir de fausses adresses de serveur DNS IPv4 pour pouvoir définir les paramètres IPv4 statiques. Mais même dans ce cas, les appareils Android ne fonctionnent pas correctement, ils n'utilisent pas correctement le DNS ou sont déconnectés après quelques secondes.

Quel type de connectivité IPv4 les appareils Android attendent-ils ?

5voto

TheDiveO Points 251

Ainsi, après quelques tests supplémentaires, à l'aide d'un Brouter spécialement conçu et utilisant un Raspberry Pi Zero W, je sais maintenant, d'après mes tests, que Android 5.x, 6.0/6.1 et 7.0 prennent effectivement en charge les réseaux exclusivement IPv6. . Toutefois, la mise en garde est que dès qu'Android n'obtient ni une adresse IPv4 ni une adresse globale IPv6, le gestionnaire du réseau déclarera ce réseau inutilisable et s'en déconnectera.

La raison de ces déconnexions est que je connectais mes appareils Android à un réseau de test, où j'arrêtais le routeur local de temps en temps pour le réparer, et ne le redémarrais qu'après un certain temps. Et pendant ces périodes sans RAs IPv6 annonçant des préfixes globaux et sans IPv4, Android a déclaré mon réseau mort et déconnecté.

Quelques informations de base supplémentaires acquises au fil du temps :

  • Certaines versions d'Android sont allergique aux adresses des serveurs DNS de l'ULA et ne considèrent que les GUA comme appropriés. Cependant, les mêmes versions d'Android acceptent volontiers ULA préfixes. Le symptôme est alors que ces appareils Android restent connectés à un réseau IPv6 en utilisant des ULA, mais ne peut résoudre aucun nom DNS après quelques secondes. En utilisant l'une des meilleures applications de diagnostic, je remarque que ces versions d'Android apprennent d'abord l'adresse du serveur DNS, puis la suppriment après environ 15-30 secondes. Il semble que les nouvelles versions Android 7.x soient moins rigides dans leurs attentes pour le moment.

  • Certaines versions d'Android réagissent allergiques aux adresses documentaires, c'est-à-dire les 2001:db8::/32 plage d'adresses . Ils ignorent ces adresses, notamment pour les serveurs DNS. Les versions Android 7.x plus récentes semblent tolérer l'utilisation du bloc d'adresses documentaires dans les réseaux.

En fin de compte, le côté sûr est le suivant, sauf si vous pouvez éviter surtout Android 5.x, mais aussi certaines versions 6.x à coup sûr :

  • ULAs fc00::/7 sont diaboliques ;) Veuillez noter que cela inclut le fd00::/8 souvent enseignée comme "meilleure pratique" dans les cours sur l'IPv6, alors soyez prudent.
  • adresses IPv6 documentaires 2001:db8::/32 sont mauvais aussi.
  • s'en tenir à des adresses mondiales réelles, même si elles sont fausses.

0voto

Depuis Android 5.0 IPv6-only avec RFC 5006(8106) devrait fonctionner complètement sans ipv4. Avez-vous implémenté dns64/NAT64 ? Android essaie de lancer 464xlat en interne (clat). Cela échoue sans dns64/NAT64.

0voto

Pawka Points 1150

MacOS offre une méthode complète pour tester ipv6 avec le partage internet NAT64. - https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW16

Mais j'ai constaté que tous mes téléphones Android (Nexus5 avec Android 8.1.0, LG V30 avec Android 9) ont réussi à se connecter. connecté mais n'a pas réussi à communiquer sur l'internet. L'iPhone fonctionne bien.

Trois IPv6 ont été attribués à un téléphone ; deux 2001:2::/48 (gamme à but d'étalonnage) et une ff0x adresse locale de liaison.

Comme l'a dit @TheDiveO, il semble vrai qu'Android lui-même bloque le DNS ULA ou un réseau local de liaison.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X