CNR supporte DNS64

L’annonce est un peu passée inaperçue à la fin de l’année dernière: CNR (CISCO Network Registrar) supporte maintenant DNS64 (composante essentielle du mécanisme NAT64). Je ne manquerai pas de recommencer mes tests NAT64 en tentant de remplacer Bind par CNR et vous faire mon retour dans un prochain post!

http://www.cisco.com/en/US/docs/net_mgmt/prime/network_registrar/8.0/release/notes/CPNR80ReleaseNotes.html#wp113866

IPv6 world congress – 7 au 10 février 2012 – Paris

Dans 3 semaines, Paris accueille  l’IPv6 world congress pour la deuxième année consécutive. Après un bon millésime 2011 nous aurons cette fois-ci surtout des retours d’expérience d’opérateurs et d’entreprises après le jump day de juin dernier. Profitez de la proximité de cette conférence et venez nombreux: des annonces intéressantes devraient être faites pour 2012: http://www.uppersideconferences.com/v6world2012/v6world2012intro.html

Et comme l’année dernière, on a en même temps le MPLS & Ethernet world congress en même temps dans le même hôtel… pas de quoi s’ennuyer donc! http://www.uppersideconferences.com/mplsworld2012/mplsworld2012intro.html

Article IPv6 dans CISCO MAG

Un petit cadeau de Noël: on a un article IPv6 ce mois-ci dans CISCO MAG! Il explique pourquoi tout le monde est concerné par IPv6 (même ceux qui ont encore une énorme quantité d’adresses IPv4 en stock!)
Lire l’article: IPv6 – L’affaire de tous

Se protéger des Routeurs Advertisements (RA) non désirés…

L’auto-configuration a du bon mais on aimerait la contrôler: comment s’assurer que les RA (Router Advertisements) sont bien envoyés par le bon équipement? Cette question revient régulièrement… Par exemple à la conférence JRES en novembre dernier, où l’on a longuement parlé IPv6, ce point a été soulevé dans plusieurs présentations. Faisons rapidement le point…

Les solutions à mettre en place pour garantir une protection d’IPv6 sur l’accès sont regroupées sous l’appellation IPv6 FHS (First-Hop Security). Un bon whitepaper décrit toutes les fonctionnalités qui se cachent derrière ce terme, entre autres:

  • IPv6 RA Guard (vérifie que les RA sont “normaux” et arrivent bien depuis le port du switch sur lesquels des routeurs sont connectés)
  • ND inspection (associe chaque adresse IPv6 à une entrée dans la table MAC, pour éviter par exemple du spoofing fait par un autre équipement sur le même lien-local)
  • IPv6 Device Tracking (supprime les équipements qui ne sont plus actifs de la table des hosts IPv6 maintenue par le switch)
  • PACL IPv6 (Port ACL)
  • SEND (sécurisation plus complexe de NDP à base de certificats)

La fonction RA Guard répond bien au problème que beaucoup rencontrent: en effet on aimerait éviter qu’un host mal-intentionné (ou mal configuré) se mette à envoyer un RA sur le lien, devenir passerelle par défaut de tous les hosts sur le lien-local et avoir accès à toutes les communications. Problème: IPv6 FHS dans sa globalité n’est disponible “que” sur catalyst 6500 avec sup2T et non sur les plateformes plus souvent à l’accès. Que l’on se rassure tout cela changera en 2012… mais pour ceux qui ne veulent pas attendre et qui ont des catalyst 3750 ou 4500 à l’accès il reste possible de configurer une PACL qui filtrera les RA et les paquets DHCPv6 émis par les serveurs. On appliquera cette PACL sur tous les ports du switch (excepté bien sur celui/ceux sur lequel/lesquels on branchera le/les routeur/s)
ipv6 access-list ACCESS_PORT
 remark Block all traffic from DHCP server to client
 deny udp any eq 547 any eq 546
 remark Block Router Advertisements
 deny icmp any any router-advertisement
 permit any any
!
interface gigabitethernet 1/0/1
 switchport
 ipv6 traffic-filter ACCESS_PORT in

Je reviendrai sur IPv6 FHS, avec je l’espère un petit lab à la clé! 2 cartes sup2T arrivent dans mon lab pour Noël et je compte bien les faire chauffer un peu :-) C’était mon dernier post sur ce blogue avant la trêve des confiseurs… Rendez-vous début janvier et d’ici je vous souhaite à tous d’excellentes fêtes de fin d’année!

Export Netflow v9 sur un transport IPv6 : ça arrive !

Je sais que beaucoup attendaient cette fonctionnalité pour basculer le management plane en IPv6, c’est disponible depuis une quinzaine de jours sur les ISR G2 (3900, 2900, 1900, 800) avec la release 15.2(2)T. Ca arrivera progressivement sur les autres plateformes… On avance!

Plus d’infos: http://www.cisco.com/en/US/docs/ios-xml/ios/fnetflow/configuration/15-2mt/cfg-de-fnflow-exprts.html

Quelle portion réelle de l’internet IPv6 ready?

Et si on pondérait les allocations IPv6 par la taille des réseaux IPv4 concernés? C’est l’idée qu’a eu Rene Wihelm et qu’il nous expose brillament dans RIPE labs.

On n’aurait donc plus 47% de LIR avec un préfixe IPv6 mais on doit plutot considérer 81% de l’Internet susceptible d’être adressé en IPv6!

Idem ne parlons plus de 29% des LIR routés en IPv6: 61% de l’Internet serait déjà potentiellement routé en IPv6!

Jetez un coup d’oeil a l’article: http://readonly.labs.ripe.net/Members/emileaben/interesting-graph-ipv6-per-lir

Merci à Olivier Cahagne pour les infos!

Flow label IPv6 : 3 nouveaux RFC ce mois-ci !

Peut-être va-t-on enfin savoir à quoi peuvent servir ces 20 bits de l’en-tête IPv6. Pour faire simple, 3 RFC sortent sur le sujet suite au dernier meeting IETF:

  • RFC6436: critique du modèle actuel (ce travail fait suite à un état des lieux publié en juin dernier dans le RFC6294)
  • RFC6437: mise à jour des anciennes spécifications (rend obsolète le RFC3697)
  • RFC6438: un exemple d’usage du flow label qui se base sur les nouvelles specs

NDLA: Peut-être aurais-je du faire pareil et poster 3 articles sur le blog pour gonfler mes stats de publication? :-)

Essayons d’y voir plus clair. Tout d’abord, qu’est-ce qui ne va pas avec les specs initiales? Les 3 règles de base définies dans le RFC3697 semblent ne permettre aucun usage du flow label:

  1. Le flow label ne devait pas être modifié entre source et récepteur. La première difficulté est qu’on n’avait pas moyen de vérifier que cette règle était respectée (il n’y a pas de checksum pour le header IPv6). La seconde est qu’il n’est du coup pas possible d’utiliser le flow label si le host ne le fait pas: il est par exemple impossible sur un réseau de mettre en place une gestion des ECMP basé sur le flow label puisqu’on n’a jamais la certitude que le host source positionnera le bon flow label. Troisième difficulté: les gens de la sécu n’aiment pas trop l’idée de ne pas avoir le droit de dépendre de ce champ et de ne pas avoir le droit de le modifier…
  2. les noeuds ne doivent pas faire d’analyse sur le flow label IPv6 (qui ne doit pas avoir de signification). Ici on n’autorise donc que les modèles sans états (cad ceux où les noeuds du réseau ne communiquent pas entre eux sur une éventuelle signification) et on s’empêche toute utilisation dans lesquelles les noeuds se mettraient d’accord sur l’utilisation de ce champ.
  3. la performance ne doit pas dépendre de ce seul flow label. A priori pas de problème avec cette règle mais il faut bien faire attention à bien lire la règle: il est possible d’utiliser conjointement ce champ avec un autre pour en tirer globalement une décision sur la performance à appliquer

Maintenant regardons ce qui change dans les nouvelles specifications.

  • Le flow label doit être choisi pour qu’il y ait une variabilité maximale (ce champ ne doit pas pouvoir être deviné ou rejoué), une distribution uniforme doit donc être adoptée. Différentes solutions sont proposées pour permettre de définir ce champ sans nécessiter la création d’états. On peut se baser sur le 5-tuple IP source, IP destination, protocole, port source, port destination; ou bien sur un 2-tuple IP source, IP destination.
  • Le flow label ne peut servir seul à élaborer une quelconque règle puisque ce champ n’est contrôlé par aucun checksum. Il faut par exemple combiner le flow label à d’autres champs (par exemple les adresses source et destination) pour garder une variabilité même si tous les paquets sont reçus avec la même valeur de flow label.
  • Un flow label de 0 (zero) signifie qu’il n’a pas été positionné.
  • Un routeur (par exemple le 1er routeur) peut maintenant positionner un flow label si celui reçu était nul. Les conditions pour l’attribuer (distribution uniforme) et les algorithmes ne sont pas différentes de celles qui définissent le positionnement par le host source.
  • Un flow label non nul ne doit pas être modifié, sauf absolue nécessité sécuritaire. Dans ce dernier cas un firewall pourrait repositionner un flow label à 0 (toute autre modification est interdite)
  • Toute méthode de calcul du flow label avec état devrait tout de même suivre les règles de base décrites ci-dessus (le RFC recommande de rester sur une solution sans états)

En faisant ces petites modifications, les auteurs espèrent une utilisation du flow label IPv6. Notamment dans le RFC 3648, il rappellent que pour la gestion des LAG ou ECMP, un algorithme de hashing basé sur le flow label et les adresses source et destination permettrait une meilleure répartition des flux sur les n liens que si l’on ne se base que sur les seules adresses. Les auteurs rappellent qu’en raison de la présence des extensions IPv6 (en-tête de taille variable inhérent à IPv6), l’extraction des ports source et destination est plus difficile en IPv6 qu’en IPv4 sur un routeur de coeur. Le flow label est donc bienvenu! Les auteurs prennent comme exemple les tunnels: en cas d’ECMP ou LAG, le flow label peut servir à répartir intelligemment le trafic entre les TEP (Tunnel End Points) sur les différents liens sans risquer de nuire aux flux encapsulés. A ce titre on indique comment le TEP source peut définir le flow label à partir des du 2-tuple IP source / IP destination ou 5-tuple IPsource / IP destination / protocole / port source / port destination du paquet encapsulé.

Vous avez bien dit 4rd ?

Rémi Despres, Rapid Deployment, Residual Deployment, Route Distinguisher… on commence a s’y perdre avec tous ces rd! Alors prenons 5 minutes pour y voir plus clair…

Tout d’abord on commence par enlever l’intrus: le Route Distinguisher réservé aux VPN MPLS, uniquement rajouté dans la liste pour complexifier un peu la donne :-)

Bon… on commence à connaître 6rd (IPv6 Rapid Deployment), RFC 5569, plusieurs fois abordé sur ce blog: on connecte des sites IPv6 entre eux et à l’internet IPv6 via un mécanisme similaire à 6to4, mais qui utilise un préfixe IPv6 standard au lieu du 2002::/16. Utilisé entre autres par Free pour offrir un service IPv6 à ses abonnés, 6rd offre une solution pragmatique pour offrir de l’IPv6 à travers un réseau d’accès IPv4-only.

Ceci rappelé, connaissez-vous 4rd (IPv4 Residual Deployment) ID du même auteur Rémi Despres? Là on considère une étape un peu plus avancée dans l’adoption d’IPv6 où l’on veut continuer à offrir de l’IPv4 à des sites sans pour autant conserver IPv4 sur l’accès (et ainsi n’opérer qu’un seul protocol sur cette partie du réseau). Le principe consiste à insérer le préfixe IPv4 du site dans l’adresse IPv6 de son routeur d’accès via une règle de mapping locale au domaine considéré. A l’accès du domaine des BR (Border Relay) reçoivent les paquets IPv4 de l’internet et les encapsulent dans un paquet IPv6 à destination du routeur d’accès du site en question en utilisant la règle de mapping locale au domaine. Voici un petit schéma qui tente de clarifier tout cela (une compréhension de 6rd  peut aider également!):

 

Les specifications actuelles de 4rd incluent d’autres fonctionnalités, par exemple la possibilité d’insérer dans l’adresse IPv6 non pas simplement un préfixe IPv4 mais une adresse IPv4 suivie d’un numéro de port (cela permet de partager une adresse IPv4 entre plusieurs sites). Les specs proposent aussi une option DHCPv6 pour propager une règle de mapping au CE…

Alors qu’en est-il des implémentations chez CISCO? Pour le moment 4rd n’est pas encore implémenté, mais l’idée est regardée (il suffit de regarder la liste des auteurs et l’aknowledgement du draft!)

Internet-draft 4rd: http://tools.ietf.org/html/draft-despres-intarea-4rd-01

2 drafts présentant des retours d’expérience de réseaux IPv6-only

Intéressant, certains commencent à mouiller un peu le maillot et jouent le jeu IPv6 à 100% ! Ils nous décrivent les tests réalisés et nous donnent leurs observations:

Pour ce test une dizaine de personnes ont accepté de travailler au quotidien sur un réseau v6-only. Leur conclusion reste que travailler dans un réseau IPv6-only est possible mais ne s’applique pas à tous, surtout en raison de problèmes au niveau de certaines applications qui ne sont pas NAT64-ables en raison du transport d’adresses IP dans les payloads. Ils suggèrent donc un déploiement basé sur du dual-stack mais n’ont pas de doutes sur la très prochaine résolution des problèmes identifiés qui permettra un modèle IPv6-only. Ci-dessous un extrait:

Lire la suite

Synthèse des fonctionnalités IPv6 sur les équipements CISCO

J’avais posté au milieu du mois d’août les infos ci-dessous qui sont passées un peu inaperçues devant la longueur des posts suivants sur les tests NAT64! Si vous cherchez une synthèse des fonctionnalités IPv6 sur IOS et IOS-XE, ces deux liens devraient vous aider à avoir une bonne vue d’ensemble. Ils sont régulièrement mis à jour et donnent rapidement la réponse à la question que nous avons le plus souvent: “quel version d’IOS faut-il pour supporter une feature IPv6 particiulière sur un produit donné?”:

Rappel: utilisez en complément le feature navigator si vous recherchez des infos précises sur une fonctionnalité particulière:

Suivre

Get every new post delivered to your Inbox.