La Fibre

Télécom => Réseau => reseau IPv6 => Discussion démarrée par: tivoli le 21 février 2016 à 08:52:50

Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: tivoli le 21 février 2016 à 08:52:50
J'ouvre le sujet vu que la bonne idée a été proposée sur un autre post, a vos contributions ;-)

J'imagine aussi que ce ne sera pas IPv6 pour les nuls donc je me tate a ouvrir un autre post
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 21 février 2016 à 13:17:54
La premiere subtilité est qu'une adresse IPv6 peut devenir 'obsolete' tout en continuant a fonctionner pour les connexions déjà ouvertes.

On peut donc se retrouver dans une situation ou une machine a 2 IPv6 différentes vers le meme service/serveur.

exemple:

Je lance un gros téléchargement avec Chrome depuis le site S, ca démarre avec l'IPv6 actuelle (IP1) du poste et le restera pendant toute la durée du téléchargement.
Quelques minutes apres, IP1 expire et devient 'obsolete' (deprecated). La machine se configure (ou obtient) une nouvelle IPv6 (IP2).
J'accede au site S avec Chrome: vu du serveur web S, j'utilise IP2 bien que j'ai toujours un téléchargement en cours avec IP1.


Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: raf le 22 février 2016 à 22:12:50
Subtilite aleatoire #1 : utilisation des RA pour s'annoncer en tant que routeur sur le reseau
Subtilite aleatoire #1.1 : DHCPv6 n'envoie pas (ne supporte pas) la passerelle par default. Il faut utiliser les RA.

Subtilite aleatoire #2 : le flag "on-link" (ou plutot sa negation : not on-link). Sur un subnet qui est annonce comme "not on-link", les machines envoyent au(x) routeur(s) les paquets destines aux autres machines dans le meme subnet.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 22 février 2016 à 22:24:18
oui la grosse subtilité c'est que

 DHCP = RA + DHCPv6
et pas
 DHCP = DHCPv6

(comprendre "=" comme "equivalent" quand on passe d'IPv4 a IPv6)

DHCPv6 est une 'option' de RA: c'est RA qui indique s'il faut ou pas faire une requête DHCPv6. De base, RA configure la gateway et le prefix.
DHCPv6 configure les autres options comme les serveurs DNS par exemple (stateless) et/ou l'IPv6 elle meme (statefull).
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: raf le 22 février 2016 à 22:30:43
Subtilite aleatoire #3 : dans 99.9% des cas, un subnet c'est en /64. Les cas restants (que certains gurus contestent vigoureusement) sont :
 - les point-a-point : on peut configurer un /126 voire meme un/127, mais il est reccomande de provisionner un /64 entier.
 - les loopbacks : si pour un loopback il faut provisionner, voire pire, configurer un /64, alors il faut arreter les drogues dures.

Faut par contre bien se mettre en tete que certains routeurs/switch ne prennent en compte que maximum 64 bits pour un routage "wire-speed".
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: raf le 22 février 2016 à 22:33:14
Subtilite aleatoire #4 : tres mechante d'ailleurs dans certaines conditions : le ND (RA compris) utilise du multicast non pas du broadcast. Il faut de preparer intellectuellement, sinon douleur et souffrance. OK, c'est du multicast niveau 2, mais quand-meme.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 22 février 2016 à 22:45:54
autre subtilité:

Contrairement a IPv4, toute machine en IPv6 s'auto-configure une adresse IPv6 unique sur le lien local, adresse commancant par "FE80" dit link-local.

Donc 2 machines ou plus, connectées au meme réseau local vont automatiquement pouvoir discuter entre elles en IPv6 sans absolument rien faire. Meme si il n'y a pas de routeur. Un simple cable réseau suffit par exemple.

Conséquence: si on ajoute une machine IPv6 sur un réseau connecté a Internet (via un routeur par exemple), on n'a pas besoin de la configurer plus si on ne veut l'utiliser que localement.
Par exemple une imprimante réseau ou un webcam réseau. Il est meme mieux de désactiver son auto-configuration par RA et elle n'obtiendra pas d'IP public. Elle restera utilisable via son IP link-local et ne pourra être accéder de l’extérieur. Ca bat tout les firewall du monde.

2eme conséquence: si on transite par un ou plusieurs routeurs pour atteindre Internet il n'est pas nécessaire de configurer des IP public a ces routeurs , le routage 'next-hop' et 'default gateway' peut se faire en utilisant les IP link-local des routeurs :

PC (IPv6 public) --- (IPv6 -linklocal)routeur(IPv6-linklocal) --- .... -- Internet IPv6

(en pratique un admin configurera une IP publique dans le routeur pour pouvoir l'administrer a distance mais ca n'a rien d'obligatoire).
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 22 février 2016 à 23:42:50
suite des IP link-local et de la difficulté de taper les adresses IPv6 et donc de l’intérêt d'avoir de la résolution de nom locale.

En l'absence de serveur DNS bien configuré ou meme de routeur et meme d'IP publique, des machines peuvent se joindre en IPv6 via leurs addresses link-local en utilisant leurs noms d'hote directement (bien plus pratique que de saisir une IPv6).

Mais comme ce n'est pas dans la norme d'IPv6 ce n'est donc pas obligatoire dans les OS et bien sur "ils" ne se sont pas mis d'accord sur le meme...

Les machines Windows utilisent LLMNR (https://en.wikipedia.org/wiki/Link-Local_Multicast_Name_Resolution)
Les machines MacOs et Linux mDNS  (https://en.wikipedia.org/wiki/Multicast_DNS)

Donc si, depuis une machine Windows,  vous arrivez a 'ping MachineWindows2' mais pas 'ping MachineLinux' ou 'ping MachineMac' c'est le plus souvent normal ! (ou c'est que votre serveur DNS local est mal foutu cf post suivant).
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 22 février 2016 à 23:43:41
Donc pour pouvoir avoir de la résolution d’hôte entre tout les machines localement il faut:

- que toutes les machines 'parlent' le meme protocol de résolution locale (LLMBR ou mDNS). Les machines peuvent alors se joindre en IPv6 (link-local) via leurs noms d'hote

ou

- qu'un serveur DNS local soit configuré et dynamiquement mis a jour par les machines locales avec leur noms ("Host Registration in DNS").  Les machines peuvent alors se joindre en IPv6 (globale) via leurs noms d'hote.

C'est plus important qu'en IPv4 d'avoir ceci car il est bien plus pratique de taper un nom d'hote qu'une IPv6. Ce n'est donc pas a négliger meme sur un réseau domestique. Une 'box' d'opérateur (CPE) bien concue doit prendre cela en charge. La Livebox d'Orange s'en sort pas trop mal: son serveur DNS est dynamique et couplé avec son serveur DHCPv6 (stateless) (faisable avec "dnsmasq" en configuration "ra-stateless + ra-names"). On peut donc accéder en IPv6 a toutes les machines du LAN en utilisant leurs noms d’hôte.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: tivoli le 23 février 2016 à 08:38:45
Il est meme mieux de désactiver son auto-configuration par RA et elle n'obtiendra pas d'IP public. Elle restera utilisable via son IP link-local et ne pourra être accéder de l’extérieur. Ca bat tout les firewall du monde.

Ca se fait en GUI dans windows ?
J'ai l'impression que non et que ca se fait en netsh, j'ai trouve facilement comment activer le RA pour le windows mais plutot la partie "serveur" que client donc je suis preneur de ta methode
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 23 février 2016 à 13:17:49
Ca se fait en GUI dans windows ?
J'ai l'impression que non et que ca se fait en netsh, j'ai trouve facilement comment activer le RA pour le windows mais plutot la partie "serveur" que client donc je suis preneur de ta methode

pas en GUI non.

1. afficher les interfaces IPv6:
netsh interface ipv6 show interface
noter le numéro (idx) de l'interface qui t’intéresse (exemple 10)
2. puis
netsh interface ipv6 set interface 10 routerdiscovery=disabled
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: tivoli le 23 février 2016 à 13:41:40
Merci
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: corrector le 23 février 2016 à 16:32:11
autre subtilité:

Contrairement a IPv4, toute machine en IPv6 s'auto-configure une adresse IPv6 unique sur le lien local, adresse commancant par "FE80" dit link-local.
Existe en IPv4 : appelé "adresse APIPA" sous Windows et "Bonjour" chez Apple.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: David75 le 23 février 2016 à 16:40:37
Personnellement, je n'ai toujours pas compris comment faire pour voir un équipement réseau IPV6 depuis l'extérieur. Si je prend la freebox comme exemple, j'ai bien l'IPV6 locale, mais connaître l'IPV6 à utiliser de l'extérieur je sais pas... j'ai bien lu la règle à appliquer, mais ça semble compliqué. Et pour le moment, je ne pense pas que les box opérateur mentionnent l'IPV6 à utiliser depuis l'extérieur pour chaque équipement réseau compatible IPV6 connecté.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: corrector le 23 février 2016 à 16:42:36
Depuis l'extérieur tu utilises n'importe quelle adresse globalement unique, donc n'importe quelle adresse qui marche sur ton PC qui n'est pas :
- une adresse lien locale
- l'adresse loopback
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: David75 le 23 février 2016 à 17:45:59
Ok, donc si je reste sur l'exemple freebox, j'ai cru comprendre que l'adresse en qui commence par FE80 est une adresse locale. Pour l'adresse utilisable depuis l'extérieur, il faut utiliser la règle (ou peut-être un script quelconque pour faciliter). Bref, pour le moment je trouve ça encore un peu compliqué par manque de pratique pour un utilisateur pas compétent dans mon cas.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: raf le 23 février 2016 à 17:56:02
Depuis l'extérieur tu utilises n'importe quelle adresse globalement unique, donc n'importe quelle adresse qui marche sur ton PC qui n'est pas :
- une adresse lien locale
- l'adresse loopback
Aussi eviter de preference les adresses temporaires. Ca marche seulement jusqu'a l'expiration de l'adresse et le fin de la connexion.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: raf le 23 février 2016 à 17:57:17
Existe en IPv4 : appelé "adresse APIPA" sous Windows et "Bonjour" chez Apple.
Modulo que ces adresses s'activent generalement uniquement quand il n'y a ni config statique ni DHCP. Alors qu'en v6, les link-local existent toujours, des link-up.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 23 février 2016 à 18:04:40
Existe en IPv4 : appelé "adresse APIPA" sous Windows et "Bonjour" chez Apple.

La grande différence c'est qu'en IPv6 c'est inclus dans la norme IPv6: n'importe quel appareil qui supporte IPv6 aura une @ link-local du plus petit des objets connectés au plus grand des serveurs.

La rfc3927 sur l'autoconf en IPv4 n'est pas obligatoire et date de bien après IPv4.
Les link-local IPv6 sont non seulement obligatoires en IPv6 mais nécessaires au fonctionnement de toute le reste car il n'y a pas d'ARP. C'est la base sur laquelle IPv6 s'appuie.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: corrector le 23 février 2016 à 18:12:29
Aussi eviter de preference les adresses temporaires. Ca marche seulement jusqu'a l'expiration de l'adresse et le fin de la connexion.
Tout dépend ce qu'on essaie de faire.

Si c'est pour faire un test de pare-feu en ligne peu importe.
Si c'est pour renseigner un DNS, mieux vaut configurer une adresse fixe.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: corrector le 23 février 2016 à 18:16:55
La grande différence c'est qu'en IPv6 c'est inclus dans la norme IPv6: n'importe quel appareil qui supporte IPv6 aura une @ link-local du plus petit des objets connectés au plus grand des serveurs.

La rfc3927 sur l'autoconf en IPv4 n'est pas obligatoire et date de bien après IPv4.
Les link-local IPv6 sont non seulement obligatoires en IPv6 mais nécessaires au fonctionnement de toute le reste car il n'y a pas d'ARP. C'est la base sur laquelle IPv6 s'appuie.
Pas d'ARP mais des ICMP qui font très exactement la même chose.
Titre: description synthétique des pièges et des principales subtilités de IPv6
Posté par: kgersen le 23 février 2016 à 18:33:50
Pas d'ARP mais des ICMP qui font très exactement la même chose.
oui mais un ICMP a besoin d'une IP pour fonctionner d'ou la presence des link-local. les ICMPv6 font bien plus qu'ARP d'ailleurs.

Et surtout ca ne casse pas la séparation des couches ISO. ARP c'est entre 2 et 3.

par exemple: en IPv4 pour ecrire un client DHCP il faut ouvrir des raw sockets spéciaux car on ne peut envoyer de l'UDP sans adresse source valide. Ca nécessite donc des droits particuliers (root) et ca bypass les filtres et autres firewall locaux.
En IPv6 c'est nettement plus "clean". Un client DHCPv6 est un service au dessus d'IPv6 comme un autre.