Difference between revisions of "MOOC:Compagnon Act41-s7"

From Livre IPv6

(Définition du plan d’adressage réseau avec IPv6)
(Définition du plan d’adressage réseau avec IPv6)
Line 134: Line 134:
 
* utiliser le numéro de VLAN, ce qui est tout à fait possible puisque le VLAN ID n’occupe que 12 bits. Cette méthode permet d’eviter de mémoriser plusieurs niveaux de numérotation.
 
* utiliser le numéro de VLAN, ce qui est tout à fait possible puisque le VLAN ID n’occupe que 12 bits. Cette méthode permet d’eviter de mémoriser plusieurs niveaux de numérotation.
 
* séparer les types de réseaux et utiliser les chiffres de gauche pour les désigner. Cette technique permet de faciliter les règles de filtrage, tout en utilisant des règles appropriées à la gestion de ces sous-réseaux pour la partie de droite. À titre d'exemple, le tableau suivant contient le plan de numérotation d'une université localisée sur plusieurs sites prenant en compte les différentes communautés d'utilisateurs :
 
* séparer les types de réseaux et utiliser les chiffres de gauche pour les désigner. Cette technique permet de faciliter les règles de filtrage, tout en utilisant des règles appropriées à la gestion de ces sous-réseaux pour la partie de droite. À titre d'exemple, le tableau suivant contient le plan de numérotation d'une université localisée sur plusieurs sites prenant en compte les différentes communautés d'utilisateurs :
 +
 +
 +
{| class="wikitable centre" width="80%"
 +
|+ Tableau
 +
|-
 +
! scope=col | Communauté
 +
! scope=col | 4 bits
 +
! scope=col | 8 bits
 +
! scope=col | 4 bits
 +
|-
 +
| width="33%" |
 +
Contenu 1
 +
| width="34%" |
 +
Contenu 2
 +
| width="33%" |
 +
Contenu 5
 +
| width="33%" |
 +
Contenu 5
 +
|-
 +
| width="33%" |
 +
Contenu 3
 +
| width="34%" |
 +
Contenu 4
 +
| width="34%" |
 +
Contenu 4
 +
| width="34%" |
 +
Contenu 4
 +
|-
 +
| align="center" colspan="3" |
 +
Ligne 1
 +
|}

Revision as of 13:46, 3 June 2015

Objectif

L’utilisation paralèlle des piles IPv4 et IPv6 présentée par le RFC 4213 doit permettre l’intégration de IPv6 tout en assurant aux noeuds en double pile une compatibilité parfaite avec le réseau IPv4 existant. Lorsqu’un service est accessible via IPv6, le client en double pile utilise en priorité IPv6. Le protocole IPv4 n’est utilisé que si la tentative échoue en IPv6 ou si le service n’est pas disponible sous IPv6. Il était envisagé qu’une fois que la majorité des services auraient été porté sur IPv6, la croissance de l’internet aurait pu se poursuivre tout en respectant du principe de bout en bout c’est à dire sans équipement de type NAT pour palier à la pénurie d’adresses IPv4.

Contexte de déploiement

En fonction du contexte de déploiement de la double pile, les enjeux et contraintes ne seront pas les mêmes. En effet, lors du déploiement au sein d’un réseau domestique, les problématiques sont liées à la configuration des équipements terminaux, au déploiement des services de résolution de nom et configuration d’adresse ainsi qu’aux performances perçues par l’utilisateur. Dans les équipements terminaux, ce mécanisme de transition a été largement employé dès le début de la standardisation d'IPv6. Il consiste à dôter chaque équipement d'une double pile protocolaire et d'affecter une adresse IPv4 et/ou IPv6 à chaque interface réseau. Cela ne résoud pas le problème de la pénurie d'adresses IPv4, mais permet dans un premier temps d’utiliser indifférement IPv4 ou IPv6. Les problèmes inhérants à IPv6 peuvent donc être identifié et les utilisateurs pourront accéder aux sevices existants uniquement sous IPv6.

Dans le cas d’un réseau d’entreprise, il faudra y ajouter les problématiques d’obtention du prefix IPv6, la structuration de l’espace d’adressage, la gestion du routage IPv6 en parallèle de IPv4. Les réseaux d’entreprises hébergent de nombreux services tels que le DNS, la messagerie, les serveurs web et autres logiciels. L’intégration d’IPv6 dans ces services et leur supervision sont également des taches chronophages qui doivent être adréssées. Pour ce qui est de l’administration des équipements réseaux en double pile, cela demande clairement un double travail de configuration. Notons qu’un réseau peut être entièrement en double pile ou partiellement, à condition que les segments non v6 soient masqués par des tunnels dans lesquels IPv6 est encapsulé dans IPv4. Tous les équipementiers de coeur de réseaux supportent ces mécanismes, ce qui permet rapidement d'acheminer du trafic IPv6 dans une infrastructure IPv4 existante. Lorsque le déploiement est partiel, une attention particulière doit être portée au protocole de routage utilisé, l'activation de fonctions permettant de gérer plusieurs topologies (v4 et v6) pouvant s'avérer nécessaire (cf. ISIS).

Malgré la disponibilité des équipements supportant le double pile, les acteurs des réseaux tels que les FAI, les fournisseurs de services et les administrateurs de sites n’ont pas perçu l’urgence d’integrer IPv6 dans leur services et leur connectivité. Les doubles piles déployées sur les hotes et équipements de l’internet restent donc largement inutilisées. Notons que la croissance de l’Internet s’est néanmoins poursuivi avec plusieurs conséquences nefastes :

  • [figure] le besoin de connecter de nouveaux sites a ammené au partitionnement des blocs d’adresses existants avec une augmentation du nombre de routes.
  • [figure] l’augmentation du coût pour les ISPs qui ont recours à un adressage privé necessitant le deploiement de NAT à grande échelle pour l’ensemble des clients des ISP. Ces NAT connus sous le terme de Carrier Grade Nat (CGN) ou NAT444 ont un coût non négligeable pour ces derniers.
  • [figure] l’augmentation du coût de developpement des applications : les clients de l’internet, censés avoir des adresses publiques ont maintenant des adresses privées derrière le NAT de leur routeur ADSL (NAT44) qui est lui même potentiellement derrière un CGN (NAT444). On est loin du principe de bout en bout tel que celui qui a permis la croissance des applications réseaux et de l’internet. La mise en oeuvre des applications s’est donc complexifiée necessitant par exemple le deploiement de serveurs STUN/ICE pour ces applications. Il est de plus en plus compliqué pour les utilisateurs d’héberger des services et du contenu chez eux et ils ne sont plus que des clients.

En dépis de cet attentisme, de plus en plus de services sont accessibles en IPv6 et d’avantages d’herbergeurs proposent IPv6. Certains FAI fournissent directement une connectivité IPv6 à leurs clients et ceux qui n’ont pas cette chance peuvent se rabattre sur un accès IPv6 via des tunnels. Ces derniers sont souvent gratuits[REF], ils ont fortement amélioré leurs performances et les délais ont été réduits grace à la multiplication des points de présence (PoP). Un grand nombre d’applications (Mail, spam, supervision, Firewall...) intégre desormais IPv6.

Il est donc désormais beaucoup plus aisé d’integrer IPv6 dans son réseau. Il vaut mieux le faire aussi tôt que possible de manière à traiter progressivement et sereinement les inévitables bugs logiciels et erreurs de configuration qui surviendront. Une fois la transition achevée vous pourrez apprecier les avantages que procure le principe de bout en bout dans la conception de vos applications et vous éviterez surtout une transition precipitée et houleuse lorsque l’espace d’adressage d’IPv6 sera pour vous indispensable.

La suite de ce document décrit les principaux éléments relatifs à l’activation d’une double pile. Dans un premier temps, les problématiques d’adressage et de configuration. Ensuite le deploiement des principales applications réseaux (DHCP, DNS, parefeu, supervision). Enfin, les problèmes induits par l’utilisation de la double pile et comment les contourner.

Notons que au délà de sa configuration, une des difficultés consiste à avoir une connection à l’internet IPv6. Nous ferons simplement l’hypothèse que l’utilisateur double pile a un moyen de se connecter à l‘internet IPv6. Cette connection peut se faire de manière native, via un tunnel, via un operateur qui utilise 6to4, 6rd ou autre. Ce problème et ceux qui en découlent seront traités dans les activités suivantes.

Support d’IPv6 sur les équipements réseau & terminaux

Les principaux OS et logiciels réseaux intègrent déjà IPv6. La machine depuis laquelle vous lisez ce texte supporte déjà IPv6 (iOS > 6, Android > 5, Linux, Unix, Windows, OSX...) .

Comment obtenir un préfixe IPv6 (Opérateur ou ULA, le pb de connectivité est abordé ensuite)

Lorsque vous listez les interfaces disponibles sur vos machines, vous verrez que des adresses IPv6 sont déjà configurées.

MacOSX 10.9.2

ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 14:10:9f:f0:60:46
    inet6 fe80::1610:9fff:fef0:6046%en0 prefixlen 64 scopeid 0x4
    inet 192.168.1.143 netmask 0xffffff00 broadcast 192.168.1.255
    nd6 options=1<PERFORMNUD>
    media: autoselect
    status: active

Linux 2.6.32 :

ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 60:eb:69:9b:87:97  
          inet addr:195.154.87.139  Bcast:195.154.87.255  Mask:255.255.255.0
          inet6 addr: fe80::62eb:69ff:fe9b:8797/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:75115704 errors:5 dropped:0 overruns:0 frame:5
          TX packets:17934141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6583563265 (6.5 GB)  TX bytes:5944865545 (5.9 GB)
          Memory:feae0000-feb00000

Windows :

c:\> ipconfig
Windows IP Configuration
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : 
IPv6 Address. . . . . . . . . . . :  2001:db8:21da:7:713e:a426:d167:37ab
Temporary IPv6 Address. . . . . . : 2001:db8:21da:7:5099:ba54:9881:2e54
Link-local IPv6 Address . . . . . : fe80::713e:a426:d167:37ab%6
IPv4 Address. . . . . . . . . . . : 157.60.14.11
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : fe80::20a:42ff:feb0:5400%6
IPv4 Default Gateway  . . . . . . : 157.60.14.1
Tunnel adapter Local Area Connection* 6:
Connection-specific DNS Suffix . :
IPv6 Address. . . . . . . . . . . : 2001:db8:908c:f70f:0:5efe:157.60.14.11
Link-local IPv6 Address . . . . . : fe80::5efe:157.60.14.11%9
Site-local IPv6 Address . . . . . : fec0::6ab4:0:5efe:157.60.14.11%1
Default Gateway . . . . . . . . . : fe80::5efe:131.107.25.1%9
fe80::5efe:131.107.25.2%9
Tunnel adapter Local Area Connection* 7:
Media State . . . . . . . . . . . : Media disconnected
Connection-specific DNS Suffix . :

Ces adresses sont dites lien local [RFC3927]. Elles sont utilisées pour le mécanisme de découverte de voisins [RFC4861] ainsi que pour la composition du DUID du DHCPv6. Elle ne sont valides que sur un lien et ne sont donc clairement pas utilisables pour assurer la connectivité IPv6 de l’utilisateur.

Il faut donc fournir à l’utilisateur une adresse unicast qui soit routable, au moins au sein d’un site. Il existe deux types d’adresses qui répondent à ce critère : les adresses unicast locales ULA [RFC ] et les adresses globales GUA [RFC]. Pour rappel, les différences majeures entre ces deux types d’ adresses sont les suivantes :

  • Portée: comme leur nom l’indique, les adresses GUA sont globales, une adresse GUA est utilisé par au plus une machine de l’internet à un instant donné. Les adresses ULA sont uniques au sein d’un site mais il peut y avoir plusieurs machines dans le monde qui utilisent une même adresse ULA.
  • Routage: Les adresses GUA peuvent être routées dans l’internet. Les adresses ULA doivent être filtrées par les routeurs en bordure de site. Les prefixes ULA ne doivent pas être annoncés ni accepté par les routeurs inter AS.
  • Obtention: Les adresses ULA peuvent être générées de manière arbitraire par l’administrateur du site auquel impute la responsabilité de maintenir ces adresses uniques au sein du site. Dans le cas des GUA, le site fait la demande à son ISP un préfix unique dans l’internet. Notez qu’il est possible de demander un prefix independant des ISPs i.e. lorsque le site change d’ISP, il pourra garder son prefix; il pourra également être multi-domicilié.
  • Gestion du plan d’adressage : Pour les ULA, le GID (40bits) est généré par l’administrateur pour créer un préfixe de 48bits. Pour les GUA le GID est fixé par l’ISP qui fournit généralement au client un préfixe de 48bit. Les SID (16 bits restant pour former des préfixes de 64 bits) sont gérés par l’administrateur pour la structuration de l’espace d’adressage interne.


ULA ou GUA ? cas d’utilisation :

Il faut tout d’abord noter que même lorsque qu’un site obtient un prefix /48, il peut avoir 2^16 sous réseaux différents et 2^64 hôtes dans chacun de ces réseaux. Certains ISP délivrent à leur clients des adresses /64. Même dans ce cas, le nombre d’adresses administrables par l’utilisateur dépasse par plusieurs ordre de grandeur le nombre d’interfaces qu’il peut d’y avoir dans un réseau.

ULA pour gerer la carence d’adresse IP publique ? Dans l’internet IPv4, la motivation principale pour l’utilisation des adresses privées est que l’espace d’adressage publique obtenu n’est pas suffisant pour l’ensemble des machines. Dans le cas d’IPv6, cette motivation n’a clairement plus lieu d’être.

ULA pour accroitre le niveau de sécurité ? L’utilisation des adresses privée dans IPv4 induits que les machines situées derrière un NAT sont plus difficilement accéssibles de l’exterieur. Cela la rend les attaques plus difficiles à réaliser. Cet effet de bord des adresses privées leur vaut la réputation d’être plus sécurisée que des adresses publiques. Certains estiment donc que les adresses GUA exposent les machines directement aux attaquant de l’internet et qu’il faut donc maintenir l’utilisation d’adresse privée au sein des sites et chez les clients. En pratique, même avec une adresse privé, il faut malgré tout utiliser un pare feu pour prévenir les attaques, filtrer le trafic entrant et sortant, restreindre les applications utilisables par les utilisateurs (...). Un simple règle sur un pare feu peut interdire l’ouverture de connection depuis l’exterieur et donc fournir le même niveau de sécurité qu’un NAT.

ULA plus facile à deployer ? Pour utiliser des adresses ULA et fournir un accès internet à vos utilisateurs il vous faudra un NAT66 pour la translation d’adresses ULA en GUA. Cet équipement devra être acheté et maintenu par l’administrateur. De plus il vous faudra néanmoins demander une adresse publique ou un prefixe /48 à votre ISP. Un réseau basé sur les adresses ULA necessite donc plus de travail qu’un équivalent GUA.

Les seuls cas où l’utilisation des adresses ULA est réellement motivé sont les réseaux de tests (TPs, testbeds, déploiements prototype) et les réseaux necessitant un niveau de sécurité très élevé et dont les équipements n’ont pas à être connecté à l’internet (réseaux tactiques, hopitaux ...). Dans tous les autres cas, les adresses GUA sont plus faciles à deployer et à administrer.

Obtention de préfixes ULA

La première tache à effectuer par l’administrateur et de generer son prefix /48. Les 8 premiers bit servant à identifier le type d’adresse, seul 40bit sont spécifiques à ce site. Afin de mettre en évidence le fait que ces blocs d’adresse ne peuvent pas être aggregé et donc routé sur l’internet, les 40bits du GID sont générés aléatoirement. Notons qu’avec cet assignement aléatoire sur un espace aussi large, la probabilité que deux sites aient le même GID est quasi nulle. Cette propriété est particuliérement appreciable lorsque deux sites doivent fusionner.

La RFC 4193 suggère d’utiliser une fonction de hash (i.e.. SHA-1) du timestamp et de l’EUI-64 de la machine executant l’algorithme. Le script, sous licence libre GPL, développé par Hartmut Goebel, disponible à l'URL 3, peut vous générer une série de préfixes conforme en utilisant une des adresses MAC ethernet de votre poste de travail.

Obtention de préfixes GUA

Votre préfixe global peut vous être alloué par votre ISP, par un Local Internet Registery ou par un RIR. Il y a plusieurs cas à distinguer : si vous representez un organisme, on parlera d’assignement de site, si votre site est multidomicilié il vous faudra des prefix dits “provider independent” et enfin le cas où vous souhaitez obtenir un prefix pour votre usage personnel.

Internet Registery, des acteurs structurés : Pour rappel, les prefixes d’adresses IPv6 global unicast sont gérés par l’IANA qui délégue aux Regional Internet Registry (RIR). Les RIRs deleguent aux National Internet Registery (NIR) puis aux Local Internet Registery (LIR) et/ou aux ISP. En Europe, le RIR est le RIPE-NCC. Il delegue directement aux ISP/LIR sans passer par des NIR. Les LIR et certains ISP se voient déleguer des prefixes de longueur 32. Ils ont obligation d’allouer les blocs IPv6 à des utilisateurs finaux tels que des organismes ou des ISP. Le RIPE-NCC ne prévoit pas de recommandation sur la taille des prefixes alloués par les LIRs aux ISPs.

Assignement de site : Les ISP/LIR font des assignements de site aux utilisateurs. Le bloc d’adresse associé est donc spécifique à un site et associe un organisme à un ISP qui assure les services suivant : l’ISP assigne le bloc d’adresse à l’organisme; assure un service de transit entre l’utilisateur et les autres sites; transporte le trafic de l’utilisateur et annonce un prefix BGP dans lequel est inclu celui de l’utlisateur. Les prefixes alloués sont au maxmimum sur 64 bits. Si un utilisateur souhaite avoir un prefix de moins de 48 bit pour son site, sa demande doit être motivée.

Multidomiciliation - Provider Independent prefix : Comme pour IPv4, si vous souhaitez que votre site soit multidomicilié ou si vous souhaitez changer d’ISP sans changer d’adresses, vous aurez besoin de prefix dits “Provider Independent”. La demande doit être faite directement à RIPE-NCC qui assignera un prefix /48 ou un prefix de longueur inferieur si la demande est motivée. Il faudra que votre organisation soit membre de RIPE ou que votre demande soit parainée par un ISP/LIR membre de RIPE. Il est ensuite necessaire que vos ISP annoncent et routent votre préfix.


Client d’un ISP : Si vous êtes client d’un ISP qui propose IPv6, vous recevrez par défaut un prefix sur 64bit. Votre routeur ADSL sera configuré avec cette adresse et c’est ensuite à vous de configurer vos autres équipements (e.g. routeurs WiFi ..) pour permettre la configuration des machines, via RADV ou DCHPv6. Si votre ISP ne propose pas IPv6, il vous faudra utiliser un service de tunnels. Certains d’entre eux (e.g. hurricane electric) vous proposent l’assignement gratuit de prefixes sur 48 bit lors de l’etablissement de votre tunnel.

Définition du plan d’adressage réseau avec IPv6

Une fois votre préfixe obtenu pour votre site, il vous reste sans doute de nombreux bits pour gerer vos sous réseaux. Si tel n’est pas le cas e.g. si vous avez un prefix /64, deux solutions s’offrent à vous :

  • mettre en place un adressage privé avec un NAT66 pour faire la conversion. Cette solution vient avec le double inconvénient de necessiter un équipement supplémentaire et de rompre le principe de bout en bout.
  • mettre en place des sous réseaux avec des prefixes de plus de 64 bits. La RFC7421 décrit les avantages et inconvenients de cette pratique. Il en ressort que même si les protocoles de routage et la pile protocolaire des hôtes supportent jusqu’à des prefixes de 128 bits, ce cas de figure n’est pas prévu par IPv6 qui indique clairement que le IID doit faire 64 bits. La RFC7368 considère même que le cas ou il n’y a pas suffisamment de bits pour l’adressage interne comme “une erreur”, le site devant à minima recevoir 16 bits pour le SID.

Si on fait l’hypothèse que le site s’est vu alloué un /48, le SID alors de 16 bits, ce qui est a priori suffisant pour structurer le routage interne. Plusieurs solutions s’offrent à nous :

  • reproduire le schema IPv4 déjà déployé : Le bloc privée de classe A 10.0.0.0/8 offre 24 bit à l’administrateur pour la structuration des sous réseaux. En réalité, les plus petits sous réseaux ont rarement des prefixes >24, ce qui ne laisse que 16 bits pour la structuration. Dans la plupart des cas, il sera donc possible de reproduire le plan d’adressage privé IPv4 à l’aide des 16 bits du SID.
  • numéroter de manière incrémentale les sous réseaux (e.g. 0001,0002,0003…). Simple à mettre en oeuvre, cette technique peut cependant conduire à un adressage plat et difficile à mémoriser. Elle peut également complexifier l’écriture des règles de filtrage ainsi que l’agregation.
  • utiliser le numéro de VLAN, ce qui est tout à fait possible puisque le VLAN ID n’occupe que 12 bits. Cette méthode permet d’eviter de mémoriser plusieurs niveaux de numérotation.
  • séparer les types de réseaux et utiliser les chiffres de gauche pour les désigner. Cette technique permet de faciliter les règles de filtrage, tout en utilisant des règles appropriées à la gestion de ces sous-réseaux pour la partie de droite. À titre d'exemple, le tableau suivant contient le plan de numérotation d'une université localisée sur plusieurs sites prenant en compte les différentes communautés d'utilisateurs :


Tableau
Communauté 4 bits 8 bits 4 bits

Contenu 1

Contenu 2

Contenu 5

Contenu 5

Contenu 3

Contenu 4

Contenu 4

Contenu 4

Ligne 1

Personal tools