IPv6 : par où commencer dans un laboratoire du CNRS? Xavier Jeannin (CNRS/UREC), V0.16 : 8 janvier 2008 (dernière MAJ 26/11/08) Ce document est susceptible de commentaires et de suggestions qui contribueront à son amélioration. Résumé Ce document propose une méthode de déploiement d IPv6 dans les laboratoires du CNRS. Il propose des pointeurs explicatifs pour chacune des étapes. La méthode retenue est de déployer IPv6 au côté d IPv4 en utilisant des machines double piles, les systèmes d exploitation et les équipements réseaux récents sont désormais compatibles avec IPv6. Cette méthode permet de garantir le bon fonctionnement des services et applications sous IPv4, ce qui assure que les applications et les services, pour l instant incompatibles avec IPv6, resteront opérationnels. Les phases proposées pour un projet de déploiement d IPv6 sont : Vérifier les pré-requis : cela passe par la vérification que votre réseau de collecte fournisse le service de connectivité IPV6, par un inventaire de la compatibilité IPv6 des équipements réseaux et par une acquisition de compétences IPv6 (formation). Les préparatifs : après avoir obtenu un préfixe IPv6 auprès de RENATER, vous définissez un plan d adressage et votre stratégie de gestion du DNS, premier service nécessaire au déploiement d IPv6. La phase de test : elle consiste en la configuration sur une zone test des premières machines et routeur, puis vous permettez à votre DNS de répondre pour des enregistrements IPv6. La phase pilote : vous vous raccordez au réseau de collecte et paramétrez votre routage externe et interne. La sécurité doit être mise en place au travers de filtres comme en IPv4, mais avec quelques spécificités IPv6 qu il convient de prendre en compte La phase de déploiement des services : vous migrez progressivement vos services réseaux sous IPv6, la quasi-totalité des services TCP/IP classiques supportent IPv6 et sont faciles à mettre en place. La phase de déploiement au public : après avoir déterminé une stratégie pour l autoconfiguration, vous pouvez déployer IPv6 chez les utilisateurs. Des outils de supervision réseau sont disponibles. Le protocole IPv6 et ses implémentations sont aujourd hui matures et les exemples de déploiement réussis montrent que cette opération est bien maîtrisée. IPv6 : par où commencer dans un laboratoire du CNRS? 1
Table des matières RESUME... 1 TERMINOLOGIE... 3 1. BUT DE CE DOCUMENT... 3 2. GESTION DU PROJET... 3 3. DUAL-IP, UNE METHODE DE DEPLOIEMENT... 4 4. PRE-REQUIS... 5 4.1. LA FOURNITURE DU SERVICE IPV6 PAR LE RESEAU DE COLLECTE... 5 4.2. LE SUPPORT D IPV6 PAR VOS EQUIPEMENTS RESEAUX... 5 4.3. SUPPORT D IPV6 PAR LES SYSTEMES D EXPLOITATION... 5 4.4. SUPPORT D IPV6 PAR LES APPLICATIONS... 5 4.5. FORMATION DES INGENIEURS, AIDES ET DOCUMENTATIONS DISPONIBLES... 5 5. LES PREPARATIFS... 6 5.1. OBTENIR UN PREFIXE DE SITE... 6 5.2. DEFINIR UN PLAN D ADRESSAGE... 6 5.3. CHOIX ET POLITIQUE DE NOMMAGE ET DE PUBLICATION DANS LE DNS... 6 6. LA PHASE DE TEST... 7 6.1. CONFIGURATION D UNE MACHINE SANS AUTOCONFIGURATION... 7 6.2. EXEMPLE DE CONFIGURATION D UN ROUTEUR... 8 6.3. MISE EN PLACE DU DNS... 8 6.3.1. Enregistrement des équipements/services réseaux dans le DNS... 8 6.3.2. Délégation d une zone inverse IPv6... 8 6.3.3. Le support des requêtes/réponses en IPv6 par le DNS... 8 7. LA PHASE PILOTE... 9 7.1. ROUTAGE ET RACCORDEMENT AU RESEAU DE COLLECTE... 9 7.1.1. LE ROUTAGE INTERNE IPV6... 9 7.1.2. LE ROUTAGE EXTERNE IPV6... 9 7.2. SECURITE ET FILTRES... 9 7.3. LE CONTROLE D ACCES AU RESEAU 802.1.X... 10 8. LA PHASE DE DEPLOIEMENT DES SERVICES... 10 9. LA PHASE DE DEPLOIEMENT AU PUBLIC... 10 9.1. L AUTOCONFIGURATION SANS-ETAT... 11 9.2. L AUTOCONFIGURATION AVEC-ETAT... 11 9.3. STRATEGIE DE CONFIGURATION POUR LES POSTES DE TRAVAIL... 11 10. OUTIL DE SUPERVISION DU RESEAU... 12 11. LES DIFFICULTES COURANTES... 12 12. CONCLUSION... 12 REFERENCES :... 12 IPv6 : par où commencer dans un laboratoire du CNRS? 2
Terminologie Nœud : Dual-IP : Dual-stack : Double pile IPv4-only : IPv6-only : Un équipement réseau, ordinateur, imprimante, firewall etc. capable d utiliser le réseau au niveau de la couche réseau (3). Un réseau qui supporte IPv4 et IPv6. Un nœud qui supporte IPv4 et IPv6. Un réseau ou un nœud qui supporte seulement IPv4. Un réseau ou un nœud qui supporte seulement IPv6. Ce document s inscrit dans la démarche mise en œuvre au niveau du CNRS pour le déploiement d IPv6. Vous retrouverez sur le site Web UREC (http://www.urec.cnrs.fr) un sondage sur l état du déploiement en 2007, un argumentaire pour les directions des laboratoires et d autres documents utiles. 1. But de ce document Ce document ne se veut pas un cours sur IPv6. Il ne propose pas non plus de passer en revue les différentes techniques de déploiement, la méthode proposée s appuie sur un déploiement utilisant des nœuds double pile et une analyse conduisant à ce choix est proposée au paragraphe 3. Il est probable qu IPv4 et IPv6 vont coexister pendant un temps assez long au sein de l Internet. Quelques règles de gestion du projet de déploiement sont données au paragraphe 2. Les étapes à couvrir pour rendre IPv6 opérationnel dans le cadre spécifique d un laboratoire du CNRS sont listées aux paragraphes 4-5-6-7-8. Ce document est remis à jour périodiquement et certains paragraphes seront complétés grâce aux retours d expérience, veuillez tenir compte de la date de dernière modification. Nous prenons comme hypothèse que votre réseau de collecte peut vous fournir le service IPv6 ; Renater, ainsi que de nombreux réseaux de collecte, fournissent le service dans tous ses points de présence. Enfin, ce document ne réexplique pas des points techniques déjà traités par de nombreux projets, au contraire il pointe sur de nombreux travaux déjà effectués dans le domaine. Ce document ne traite pas les points suivants : multicast, VPN, multihoming, load balancing, IDS, la configuration des firewalls. 2. Gestion du projet Nous listons ici quelques principes pour la conduite de ce projet, ils sont adaptables à votre contexte. Comme tout projet, ce dernier doit se définir un (ou des) objectif(s), des limites et des phases d avancement, pour ce faire un document écrit paraît une bonne solution. Par exemple en termes de déploiement, vous pouvez définir si le déploiement doit se faire sur tout le réseau, sur certains sous-réseaux, sur certains serveurs, ou seulement sur quelques nœuds. IPv6 : par où commencer dans un laboratoire du CNRS? 3
Il faut associer à ce projet les personnes et organismes qui concourent à son succès : la direction de votre laboratoire, le réseau de collecte (campus, réseau métropolitain ou régional), les correspondants informatiques, des utilisateurs volontaires pour une phase de déploiement utilisateurs et bien sûr l équipe qui gère le réseau. Il faut enfin informer, au moment qui vous paraîtra opportun, les utilisateurs et notamment les informaticiens programmant ou gérant des applications utilisant le réseau (développeurs, administrateur de SGBD,...). Le déploiement doit se faire sans gêner le service réseau opérationnel. Le déploiement doit pouvoir se faire de manière progressive, permettant ainsi aux ingénieurs de prendre en main IPv6 sur une partie isolée du réseau et de tester les différents services réseau étape par étape. De même, les machines des utilisateurs doivent pouvoir migrer progressivement. Une zone de test appelée «testbed» vous permettra de faire les expérimentations nécessaires sans perturber le réseau de production. Une analyse des points d impact et de faisabilité du déploiement doit être réalisée : inventaire matériels réseau, services réseau, applications, ordinateurs, etc. L exhaustivité totale des différents points n est absolument pas nécessaire car la méthode choisie garantit le bon fonctionnement des services et applications dans l état actuel sous IPv4. D autre part les retours positifs d expérience de l université de Rennes 1 [05], du projet ADIRE [06] et du groupe de travail RAISIN [08] prouvent que le déploiement est aisé. En outre, si vous suivez un plan vous ne perturberez pas votre réseau de production IPv4. Néanmoins l identification des différents points d impact permet de mettre en place un plan pour résoudre au fur et à mesure toutes ces incompatibilités (mise à jour de matériel, de logiciel). La faisabilité est étudiée principalement dans le paragraphe pré-requis. Voici un liste non exhaustive des points d impact : fournisseur d accès (connectivité), gestion de plusieurs sites, le multi homing, le plan d adressage, les applications, la gestion du réseau local (formation, services réseau, sécurité), les routeurs (Protocole de routage interne et externe IPv6), les machines (serveurs, clientes, imprimantes), les firewalls, IDS, Load balancer, les périphériques de stockage réseau, la mobilité, la supervision du réseau, le mécanisme de transition choisi. 3. Dual-IP, une méthode de déploiement Il existe plusieurs mécanismes et méthodes de «transition» décrites dans les RFC 2893 [01] 4057 [02] et 4852 [03], le choix d une méthode dépend des objectifs et du contexte du laboratoire. Les méthodes qui visent à déployer uniquement IPv6 sur tous les postes (IPv6-only) et à utiliser des techniques de traduction ne sont pas pour l instant mûres comme le montre le rapport de l université de Tromso (Norvège) [11]. Dans le contexte du CNRS, il est difficile d avoir un état exact des applications et du trafic présent sur le réseau. Le maintien de l existant est donc fondamental. La technique dite de double pile, peut convenir à tous les environnements actuels bien qu elle ne règle pas le problème de la pénurie des adresses IPv4. Avantages : Assurance de pouvoir maintenir l intégralité de l existant Possibilité de déployer IPv6 dans un sous-réseau sans que les nœuds soient tous compatibles IPv6 Progressivité possible (IPv6 dans un testbed, pour les services réseaux ou pour tous les nœuds, tous les sites ou seulement certains d entre eux) IPv6 : par où commencer dans un laboratoire du CNRS? 4
Il s agit dans ce cas plus d un déploiement que d une migration Inconvénients : Un surcoût de gestion de deux versions du protocole IP Persistance d IPv4 plus longtemps La partie IPv6 du réseau peut être nettement moins bien supervisée que la partie IPv4 car les utilisations du réseau continueront de passer en grande majorité par IPv4 dans un premier temps. La solution dual-ip possède donc des inconvénients mais l immense avantage qu elle présente, réside dans le fait que les anciens services IPv4 seront toujours disponibles. C est pourquoi, cette solution a été jugée bien adaptée à notre contexte et donc retenue. 4. Pré-requis 4.1. La fourniture du service IPv6 par le réseau de collecte Renater fournit le service IPv6 unicast et multicast sur tous ses points de présence. Le campus ou le réseau de collecte peuvent pour leur part ne pas fournir ces services. Assurez-vous auprès d eux que le service IPv6 est disponible. Dans la négative, il est possible dans ce dernier cas de recourir à une solution à base tunnel qui n est pas décrite ici mais qu on peut retrouver sur http://www.renater.fr/spip.php?rubrique156. 4.2. Le support d IPv6 par vos équipements réseaux Un inventaire de vos matériels réseaux et de leur compatibilité avec IPv6 est nécessaire. Dans le cas d incompatibilité, il existe plusieurs solutions. Si cela est possible, vous pouvez mettre à jour pour la version du système (IOS, JUNOS, etc) pour une version compatible IPv6. Seconde possibilité, vous pouvez envisager une mise à niveau matérielle (voire un changement de matériel). Enfin, Lorsque vous ne pouvez pas mettre à jour votre routeur ou votre switch-routeur, vous pouvez introduire un routeur IPv6 (par exemple peu onéreux ou utiliser une machine Unix comme routeur IPv6) et utiliser les VLAN 802.1Q pour diriger le flux vers ce routeur. Les VLANs peuvent être aussi utilisés pour limiter les réseaux sur lesquels IPv6 est disponible. Dans l absolu, on pourrait aussi imaginer un déploiement en utilisant des réseaux physiques différents mais cela apparaît irréaliste. 4.3. Support d IPv6 par les systèmes d exploitation La quasi-totalité des systèmes d exploitation supporte IPv6. D autre part, les réseaux dual-ip permettent l intégration des machines IPv4-only sans aucun problème, les machines ne pouvant pas migrer seront toujours opérationnelles. 4.4. Support d IPv6 par les applications Comme nous l avons vu, le réseau dual-ip et les machines double pile permettent le bon fonctionnement de tout type d application même les applications IPv4-only. Il n y a donc pas d urgence. Pour rendre une application en production compatible avec IPv6, les solutions possibles sont soit la mise à jour de l application vers une version compatible IPv6, soit un changement vers une application fournissant les mêmes fonctionnalités, soit la mise à jour de l application par les auteurs. De nombreux guides sont disponibles sur Internet et les modifications sont plus simples que l on ne le croit, pour certains langages de haut niveau (Java, Python) le support d IPv6 est déjà natif dans le langage (rien à changer). 4.5. Formation des ingénieurs, aides et documentations disponibles IPv6 : par où commencer dans un laboratoire du CNRS? 5
Le but est bien la maîtrise de son réseau, les formations sont un bon moyen pour y parvenir mais la mise en place d une zone expérimentale (testbed) sera aussi riche d enseignement. 5. Les préparatifs 5.1. Obtenir un préfixe de site 128 bits 3 bits 0 0 1 45 bits 16 bits 64 bits Préfixe global Subnet ID Interface ID Vous devez vous rapprocher de votre réseau de collecte pour vous coordonner et pour qu il vous interconnecte à l Internet IPv6. Il vous expliquera la marche à suivre. Il existe deux possibilités : soit vous possédez ou vous demandez un agrément Renater, soit votre réseau de collecte vous fournira un bout de son espace d adressage. Dans le cas de l agrément, Renater vous fournira un préfixe /48 mais cette démarche peut être plus longue. Par exemple : 2001:0660::/32 préfixe alloué à RENATER par le RIPE-NCC 2001:0660:5309::/48 préfixe alloué à l UREC-Grenoble par Renater 2001:0660:5309:[XXXX]/64 préfixes de liens IPv6 (sous-réseaux, /64) dans le site UREC-Grenoble, soit 2^16 sous-réseaux possibles 5.2. Définir un plan d adressage Le plan d adressage est toujours difficile à concevoir pour pouvoir faire face à tous les cas de figure que le réseau devra gérer au fil du temps. La taille de l adressage IPv6 apporte un confort qui permet d avoir une bonne marge d évolution. Selon les recommandations du RFC 3587, il ne faut pas découper votre réseau en sous-réseaux plus petit qu un /64 (taille du préfixe > 64). Une solution simple consiste à faire le découpage en réseau IPv6 qui corresponde à celui déjà existant à ipv4. Cela permet aussi d avoir un routage homogène sur les deux versions du protocole. 5.3. Choix et politique de nommage et de publication dans le DNS Pour les serveurs, il parait naturel d avoir une adresse fixe. Il est conseillé d avoir le même nom pour une machine en IPv4 et IPv6. Attention néanmoins au cas suivant : lorsqu un serveur rend plusieurs services en IPv4 par exemple HTTP et IMAP et que vous rendez le service en IPV6 seulement pour HTTP. Dans ce cas, vos clients IMAP vont d abord interroger le serveur IMAP en IPv6 et après un timeout essayer de basculer in IPv4 voire abandonner et laisser en plan l utilisateur. Pour éviter cela, il vaut mieux donner autant de noms que de services disponibles. Charge à l'administrateur DNS de ne publier l'adresse IPv6 que pour les services qui le supportent. Sur un autre point, il peut être pratique de pouvoir tester et seulement pour un testle fonctionnement du service uniquement en IPv6. Dans cette optique, vous pouvez ajouter un enregistrement AAAA pour tester la connexion IPv6. www.urec.cnrs.fr IN A 194.57.137.113 www.urec.cnrs.fr IN AAAA 2001:660:3302:7001::3 www-ipv6.urec.cnrs.fr IN AAAA 2001:660:3302:7001::3 IPv6 : par où commencer dans un laboratoire du CNRS? 6
Les machines des utilisateurs peuvent nécessiter aussi une adresse fixe même si elles bénéficient de l autoconfiguration (voir chapitre sur l autoconfiguration). 6. La phase de test Cette phase limite l impact aux nœuds sur lesquels l équipe réseau à la main. Cette phase inclut les tests et la prise en main d IPv6. Dans un premier temps, vous pouvez configurer les machines en statique sans utiliser l autoconfiguration car les machines concernées à cette étape sont principalement des machines de test, des serveurs, des matériels réseaux. Afin de vous éviter des modifications ultérieures, vous avez intérêt à utiliser directement les adresses données par Renater en fonction de votre plan d adressage. Vous pouvez démarrer vos tests dans un sous-réseau correspondant à un VLAN de test, le testbed, cela permet de se faire la main sans effet de bord. Activer IPv6 sur une ou plusieurs machines du testbed (cf. 6.1) et inclure une interface du routeur dans le VLAN et associer une adresse IPv6 à cette interface (cf. 6.1). Vous pouvez commencer à jouer. 6.1. Configuration d une machine sans autoconfiguration Rappelons tout d abord qu en IPv6 la configuration des informations de routage se fait automatiquement via le protocole de découverte des voisins (NDP, fonctionnalités RS/RA). Si votre routeur s annonce sur le réseau, les postes clients acquerront une route par défaut. Si l autoconfiguration est activée sur la machine hôte («host»), cette dernière obtient les informations sur le(s) préfixe(s) pour former une adresse IPv6 globale et bien d autres informations. Si cette machine est configurée manuellement (statiquement), alors voici un exemple de configuration. Une machine Linux RedHat : Vous pouvez définir la route par défaut dans /etc/sysconfig/network # CONF IPv4 NETWORKING=yes.. # CONF IPV6 NETWORKING_IPv6=yes IPV6_AUTOCONF=no # pas d autoconfiguration IPV6_DEFAULTGW=2001:660:3302:7003::1 # pas nécessaire si le routeur s annonce Dans /etc/sysconfig/network-scripts/ifcfg-ethx, vous paramétrez votre interface # CONF IPv4 NETWORKING=yes.. # CONF IPV6 IPV6INIT=yes IPV6ADDR=2001:660:3302:7003::2/64 IPV6_AUTOCONF=no # pas d autoconfiguration Une machine Windows : Sous Windows 2000, et XP, la commande «ipv6 install» permet d installer IPv6, puis IPv6 fonctionne directement. Réciproquement «ipv6 uninstall» permet de désinstaller IPv6. Pour Windows Vista, IPv6 est actif et même préféré par défaut. Vous trouverez dans le livre IPv6 Théorie et pratique [04], sur le site du projet ADIRE (rubrique boite à outil) [06], le site de P. Bierenger [07] et RAISIN [08] des explications de configuration de machine Linux et Windows. IPv6 : par où commencer dans un laboratoire du CNRS? 7
6.2. Exemple de configuration d un routeur Vous trouverez dans le livre IPv6 Théorie et pratique [04], sur le site du projet ADIRE [06], le projet d OSIRIS [15] et dans l article de l université Paris 1 [13] des exemples de configuration de routeur. L annonce des routeurs permet au client de se créer et de paramétrer la route par défaut et si le client fait de l autoconfiguration, cela permet de construire une adresse globale. L outil de vérification ping s appelle désormais ping6 sous linux : ping6 n 2001:660:3302:7003::2 6.3. Mise en place du DNS Une fois l étape précédente réalisée, le premier service à mettre en place est le serveur de nom. Vous pouvez accéder aux enregistrements IPv4 et IPv6 soit par une requête IPv4 soit par une requête IPv6 si le serveur DNS supporte IPv6. Comme vous utilisez des machines double pile, la seule chose que vous avez besoin de faire, est de rentrer les enregistrements pour IPv6 (AAAA) pour les machines (ou les services) IPv6. Réciproquement, pour la résolution inverse, vous devez modifier votre configuration DNS. Vous n avez donc pas besoin de basculer votre service DNS sous IPv6 tout de suite. 6.3.1. Enregistrement des équipements/services réseaux dans le DNS Pour chaque nom défini dans le DNS pour IPv4 (enregistrement A) et qui supporte IPv6, on ajoute un enregistrement AAAA pour IPv6 : calypso.urec.cnrs.fr. IN A 194.57.137.114 IN AAAA 2001:660:3302:7001::2 6.3.2. Délégation d une zone inverse IPv6 Il existe une différence avec IPv4 pour la résolution inverse. Une sous arborescence inverse, «ip6.arpa», a été dédiée à IPv6, avec une délégation sur la frontière du demi-octet («nibble boundary». Par exemple, vous pouvez faire votre déclaration de zone inverse pour le réseau 2001:0660:3302:700X::/60 de la manière suivante : zone "0.0.7.2.0.3.3.0.6.6.0.1.0.0.2.ip6.arpa" { }; et dans le fichier de résolution inverse vous ajoutez vos machines de la manière suivante : 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 IN PTR calypso.urec.cnrs.fr. Vous pouvez aussi utiliser la directive $ORIGIN. Les références traitent plus complètement de ce sujet. 6.3.3. Le support des requêtes/réponses en IPv6 par le DNS Nous rappelons que cette étape n est pas absolument nécessaire mais nous profitons du paragraphe pour présenter la migration de ce service. Dans ce cas, il faudra activer IPv6 sur le sous-réseau contenant votre DNS. Attention, à vérifier que les autres machines du sous-réseau n aient pas IPv6 activé par défaut (vous pouvez les protéger du flux IPv6 avec IP6tables). Pour le logiciel BIND, il suffit d ajouter dans la configuration dans la section «options», l option suivante : listen-on-v6 { any; }; // A la place du «any», vous pouvez mettre une liste d adresses spécifiques en IPv6 (séparées par des ;, si vous voulez que votre serveur DNS écoute sélectivement sur ces adresses, et non sur toutes ses adresses IPv6 : par où commencer dans un laboratoire du CNRS? 8
Afin de n autoriser l accès au service de résolution (récursion) qu à une liste d équipements et de réseaux que vous acceptez explicitement, vous pouvez compléter la section : allow-recursion { 127.0.0.1; /* localhost IPv4 */ XX.XX.XX.XX/24; /* vos sous-reseaux IPv4 */ ::1/128; /* localhost IPv6 */ 2001:0660:xxxx::/64; /* vos sous-reseaux IPv6 */ }; Plus généralement, vous pouvez consulter la documentation de BIND pour configurer et ajuster au mieux votre serveur DNS : http://www.isc.org/index.pl?/sw/bind/arm93/ et http://www.isc.org/index.pl?/sw/bind/arm94/ 7. La phase pilote Cette phase se caractérise par le fait que le réseau IPv6 passe en mode pré-production. 7.1. Routage et raccordement au réseau de collecte 7.1.1. Le routage interne IPv6 Vous pouvez utiliser des routes statiques comme en IPv4. L utilisation d un routage dynamique permet une surpervision à l encontre de l usage de routes statiques. Pour permettre le routage interne dynamique, vous pouvez utiliser les versions des protocoles suivants : RIPng, Routing Information Protocol new generation OSPFv3, Open Shortest Path First version 3 IS-IS, Intermediate System to Intermediate System OSPFv3 et RIPng sont respectivement les versions IPv6 des protocoles OSPFv2 et RIPv2. Ils ne gèrent qu IPv6, si vous les retenez, vous aurez donc à gérer un nouveau protocole pour le routage interne. IS-IS peut gérer simultanément IPv6 et IPv4. Le projet ADIRE [06] décrit la configuration complète pour ce protocole. 7.1.2. Le routage externe IPv6 De même pour le routage externe, votre fournisseur d accès peut être à même de vous imposer une mise à jour ou une nouvelle version de protocole. 7.2. Sécurité et filtres La sécurité sur IPv6 est grosso modo la même que celle sur IPv4, vous pouvez donc appliquer les mêmes filtres au niveau des routeurs ou firewall sur le trafic IPv6 que sur le trafic IPv4 à l exception du protocole ICMPv6. En général, la politique consiste à ouvrir uniquement ce qui est autorisé, le reste étant fermé par défaut. Le document [10] développe cette partie. Certains systèmes essayent d ouvrir des tunnels (par exemple Toredo) pour offrir la connexion IPv6, ces protocoles doivent être filtrés. Enfin pour éviter d utiliser un serveur IPv6 pour rebondir et générer du trafic IPv4 à l intérieur de votre réseau, vous pouvez filtrer les paquets IPv6 contenant les adresses d origine ::FFFF:a:b:c:d en entrée de votre site (sauf si vous utilisez le protocole SIIT [14]). IPv6 : par où commencer dans un laboratoire du CNRS? 9
Un point délicat peut tenir à l apparition d un routeur ou d un DHCPv6 pirate sur le réseau comme en IPv4, ces deux types de machines risquent de perturber grandement le réseau et notamment les machines utilisant l autoconfiguration et le DHCPv6. Pour les machines, IP6tables fournit les mêmes services de filtrage qu en IPv4. Il peut être utilisé pour isoler du trafic IPv6 des machines lorsque vous décidez d autoriser IPv6 pour un sous-réseau (un VLAN). 7.3. Le contrôle d accès au réseau 802.1.X Le contrôle d accès au réseau par 802.1.X peut être décliné en EAP over LAN ou EAP over WirelessLan. La communication entre le client et l authenticator n utilisent pas IP. Par contre la connexion entre l authenticator et le serveur d authentification (Radius) peut se faire sous IP, ici il faut surveiller la compatibilité IPv6 si nécessaire. 8. La phase de déploiement des services Vous êtes obligé d avoir un DNS en état de fonctionnement publiant vos adresses IPv6, mais vous pouvez développer à votre rythme les autres services. La chose est souvent simple car les principaux services sont stables et facile à configurer. Une fois quelques services mis en place vous pourrez déployer IPv6 sur la machine des utilisateurs. Le serveur web Le serveur Apache est compatible IPv6. Il suffit d ajouter les lignes Listen [2001:660:3302:7001::3]:80 <VirtualHost 194.57.137.113:80 [2001:660:3302:7001::3]:80> SMTP Le serveur SSH livré sur les distributions Unix/Linux est compatible IPv6. Le courrier électronique La version de sendmail 8.12 8.13 (peut-être avant) est compatible IPv6, les modifications nécessaires sont explicitées dans le projet ADIRE [06]. Postfix est compatible aussi IPv6, il suffit d ajouter «inet_protocols = all» dans le fichier de configuration. Des logiciels antispam ou antivirus peuvent être incompatibles, une solution consiste relayer les courriers arrivés sur votre MX, sur une machine IPv4 et à faire ces traitements sur cette machine, les clients pour leur part allant relever leur courrier sur la machine IPv4. POP3 et IMAP Le serveur IMAP/POP3 de Dovecot, les serveurs UW-Imap et Courier-Imap fonctionnent sous IPv6 (voir les explications sur le site de ADIRE [06] et RAISIN [08] ) 9. La phase de déploiement au public Pour cette phase, il vaut mieux commencer par un groupe volontaire et il faut activer IPv6 VLAN par VLAN. Nous rappelons que par défaut les informations de routage sont fournies par le mécanisme de découverte des voisins (NDP). La construction de l adresse de lien-local se fait par le poste luimême avec l aide du protocole de découverte des voisins. Pour obtenir son adresse unicast globale, il existe trois solutions, une adresse fixe, l autoconfiguration sans-état et IPv6 : par où commencer dans un laboratoire du CNRS? 10
l autoconfiguration avec état (DHCPv6). Vous trouverez sur le document de l université de Rennes 1 [05] beaucoup d informations sur le sujet. 9.1. l autoconfiguration sans-état Elle permet au nœud soit de construire son adresse unicast globale à partir du préfixe du routeur et de la MAC adresse de l interface, soit de générer aléatoirement son adresse unicast globale (adresse type CGA [RFC 4941], Windows). Pour la configuration des informations sur le service de résolution DNS (DNS cache), on peut utiliser la configuration IPv4. Avantages : Pas de configuration supplémentaire du poste : l information DNS est typiquement fournie par la configuration IPv4 (par exemple DHCPv4). Inconvénients : Les adresses sont peu lisibles Enregistrement difficile dans le DNS 9.2. l autoconfiguration avec-état Il s agit de fournir toutes les informations nécessaires à la communication sur l Internet : l adresse, le DNS, autres systèmes de nommages, etc. Les informations de routage ont été fournies par la procédure de découverte des routeurs. Il s agit d utiliser un DHCP version 6, avec les possibilités que l on connaît : adresse fixe, fourniture de l adresse du DNS, etc. Avantages : Configuration plus complète du poste Contrôle de l attribution des adresses et enregistrement dans le DNS plus simple Inconvénients : Clients DHCPv6 indisponibles sur certains systèmes Pas d outil d administration du serveur DHCPv6 9.3. Stratégie de configuration pour les postes de travail Pour les serveurs, une configuration statique semble la meilleure solution. Pour les postes utilisateurs, les deux techniques peuvent être utilisées en même temps, soit en complément l une de l autre soit séparément. Si l hôte n a pas besoin de posséder une entrée inverse dans le DNS l autoconfiguration sans-état est une bonne solution. L autoconfiguration avec-état permet plus de configuration au niveau de l hôte. Enfin, le paramétrage statique du poste peut être une solution si on possède peu de postes. La sécurisation de l auto-configuration est un problème ouvert. SEND, le protocole de sécurisation de Neighbor Discovery (ND) reste confidentiel. 802.1X est une solution qui peut sécuriser l accès au LAN et donc répondre à ce problème d une manière détournée. Un autre moyen est de placer des sondes NDPMon [16] qui permet de monitorer les activités du protocole ND. Le remontée d alertes (ARPwatch pour IPv6) permet d identifier rapidement un DHCP ou un router pirate (rogue device). IPv6 : par où commencer dans un laboratoire du CNRS? 11
10. Outil de supervision du réseau Les outils de débogage classiques sont disponibles pour IPv6 : ping6, traceroute6, wireshark/ethereal/tcpdump, netstat, lsof, NTOP Vous pouvez utiliser comme cité au paragraphe précédent un NDPMon [16] sorte d ARPwatch pour IPv6. En matière de supervision, il existe beaucoup d outils, nous en proposons deux : Nagios et Argus. Nagios est un outil très connu, très complet et certainement destiné à un réseau de grande taille, il est aussi plus difficile d accès. Argus convient bien pour des réseaux de taille pas trop importante, il est souple et permet d inclure des scripts de test qui vous permettront de tester la disponibilité de vos différents services : serveur web, SGBD. 11. Les difficultés courantes Cette section sera complétée au fil du temps s il y a lieu : Une difficulté pour les applications est de savoir si un service sur une machine possédant une adresse IPv6 est à l écoute pour IPv6. Le comportement normal est que l application essaye une connexion en IPv6 et se rabatte sur IPv4 en cas d échec. Cela génère une latence pour l utilisateur qui croit à un blocage, ce processus ne fonctionne pas toujours bien pour de nombreuses applications. 12. Conclusion Le protocole IPv6 et ses implémentations sont aujourd hui matures et les exemples de déploiement réussis montrent que cette opération est facile à réaliser. L épuisement des adresses est prévu pour 2011 (http://ipv4.potaroo.net/), nous devons être prêts pour cette date. Références : Je remercie particulièrement Bruno Stévant université Rennes 1, l équipe de rédacteurs G. Cizault, le projet ADIRE ainsi que les auteurs des sites suivants dont les documentations m ont beaucoup aidé dans mon travail. [01] RFC 2893 Transition Mechanisms for IPv6 Hosts and Routers [02] RFC 4057 IPv6 Enterprise Network Scenario- J.Bound - HP [03] RFC 4852 IPv6 Enterprise Network Analysis IP Layer 3 focus - J.Bound - HP [04] collectif G.Cizault «IPv6 Théorie et pratique» (O'Reilly, 2005) : http://livre.g6.asso.fr/ [05] Le site de l université Rennes 1, Stratégies d intégration d IPv6 pour les réseaux de sites administrés, http://point6.net/~bstevant/rapport_migration_ipv6.pdf [06] Le site de l'adire à Strasbourg : https://ipv6.u-strasbg.fr/doku.php [07] Le site de Peter Bieringer : http://www.bieringer.de/linux/ipv6/index.html [08] le site du groupe de travail RAISIN : http://raisin.u-bordeaux.fr/article.php3?id_article=43 [09] serveur DHCPv6 Dibbler : http://klub.com.pl/dhcpv6/ [10] RFC 4890 Recommendations for Filtering ICMPv6 Messages in Firewalls Davis, Mohacsis [11] 6net - An ipv6 deployement guide -http://www.6net.org/book/deployment-guide.pdf [12] La sécurité sous IPv6 UREC/CNRS Gaël Beauquin [13] Paris I - B. Branciard, D. Chopard-Lallier, Y. Girard - JRES 2005 http://2005.jres.org/paper/61.pdf [14] Nordmark, E., "Stateless IP/ICMP Translator (SIIT)", RFC 2765, February 2000. IPv6 : par où commencer dans un laboratoire du CNRS? 12
[15] Strasbourg (OSIRIS) - P.Pegon - JRES 2005 http://2005.jres.org/paper/130.pdf [16] LORIA Projet MADYNES - http://ndpmon.sourceforge.net/ IPv6 : par où commencer dans un laboratoire du CNRS? 13