Ipv6 sous debian linux

IPV6

Dans ce topo, je vais tenter de simplifier la découverte d’ipv6, car c’est un sujet qui fait encore peur à beaucoup, de part la forme des adresses ipv6 qui perturbe beaucoup la lecture de celle ci .

Même si ça paraît au premier coup d’oeuil plus compliqué, l’idée d’ipv6 est de transporter dans une seule adresse la totalité de l’information de configuration de celle ci . Ainsi dans une ipv6 on trouve le réseau, le sous réseau, l’adresse unique locale et l’autoconfiguration .

Bon, ça ressemble à quoi :

IPV4

IPV6

Xxx.xxx.xxx.xxx

8.8.8.8

On note en groupe de 3 chiffres de 0 à 9

Xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx

2001:0000:0000:0000:0000:0000:0000:0006

en IPV6 les 0 sont supprimables :

2001::::::06

On note en groupe de 4 chiffres de 0 à F ( Hexadécimal )

Pour les sous réseau, tout est noté en CIDR, il n’y a plus de masque ( 255.255.255.0 ), celui ci est inclus dans l’adresse ipv6

Les plus commun sont les /48 et /64 .

Pour qu’une adresse soit routable, l’on doit respecter la norme :

champ

préfixe

sous-réseau

interface

bits

48

16

64

Exemple :

2001:7a8:1111::/48 représente un réseau

On peut avoir comme ça 4 294 967 296 de sous reseau ( 1*4¹⁶ )

Ipv6 permet donc d’avoir beaucoup d’espace dans le futur, et permet par exemple de fournir un sous reseau /64 à chaque client .

ça laisse une certaine marge …

Bon maintenant voyons les requis pour utiliser ipv6 :

1 os qui supporte ipv6 ( Windows depuis Vista, Linux depuis le kernel 2.4 ( 2.2 buggé en ipv6 )

Pour ce qui nous intéresse, sous linux on commence par vérifier si le module ipv6 est présent, on se logue en ligne de commande :

et l’on tape ifconfig | grep « inet6 »

ça donne par exemple :

adr inet6: fe80::210:13ff:fe50:a343/64 Scope:Lien

adr inet6: fe80::250:41ff:fe02:5efd/64 Scope:Lien

adr inet6: ::1/128 Scope:Hôte

Traduction, la pile ipv6 est fonctionnelle, pour 3 interfaces, dans les 2 premiers cas c’est une adresse locale ( prefixe fe80, non routable ), pour le dernier c’est le localhost ( ::1/128 ) .

sur ma debian, ipv6 est dans le noyau , si il est en module un modprobe ipv6 le charge .

Coté daemons, la c’est pas mal le foutoir, personne n’a prit la peine de centraliser les versions qui commence à prendre en charge ipv6 ( les bugs du départ ) mais en 2010 l’on peut dire que dns, dhcp, serveur web et mysql sont prêt pour ipv6 .

De toute manière mon conseil est le suivant : ancienne machine en ipv4, nouvelle en ipv4 / v6, future en ipv6, de manière à toujours profiter d’une mise à jour matérielle pour installer le logiciel qui va bien .

On arrive donc à la cohabitation Ipv4 / Ipv6

pour le moment les dns sont le point faible de la communication ipv6, car souvent les glue record ( AAAA pour ipv6 ) existent mais la communication est en ipv4 .

sur chaque poste ipv6, il faut donc prévoir une communication vers un serveur dns qui écoute en ipv6 et sais communiquer autant en ipv4 qu’en ipv6, comme ça on n’est pas bloqué .

Il faut penser à activer les fonctions ipv6 des différents daemons . Coté tcp / udp rien de change, donc les ports restent les mêmes, certain programme comme postfix proposent d’avoir un ports différent en v4 et en v6, d’autre non, certain activent ipv6 si ils le détectent au démarrage d’autre non, tout est fonction des daemons . Au cas par cas …

la commande suivante :

netstat -ln | grep tcp6

tcp6 0 0 ::1:2025 :::* LISTEN

tcp6 0 0 :::80 :::* LISTEN

tcp6 0 0 :::53 :::* LISTEN

tcp6 0 0 :::22 :::* LISTEN

montre que mon serveur écoute en 2025 ( smtp privé ), http, dns et ssh en ipv6

netstat -ln | grep udp6

udp6 0 0 :::53 :::*

dns en écoute sur l’udp

Quand on a compris que de bosser avec ipv6, c’est comme avec ipv4 sauf les différences nommée ci dessus, alors ça simplifie beaucoup le passage vers cette technologie . Maintenant ipv6 n’est pas ipv4 et n’a en commun que son nom, donc il faut toujours et dès maintenant penser à produire les services en ipv6 et en ipv4, et ne pas en oublier certain en ipv4, sinon ce seront des soucis pour demain .

Pour le reste Ipv6 est un petit malin pour nous administrateur système car il est dans la catégorie des je me débrouille seul … seulement comme tout adminsys nous ont veux controler son fonctionnement et la il faut comprendre comment il se configure .

On connait DHCP en ipv4, ça existe toujours en ipv6, ouf, mais aussi un protocole d’autoannonce ( davd sous linux ), qui est un dhcp simplifié ou l’on a peu de contrôle et qui est à la base la méthode par défaut d’ipv6 pour l’autoconfiguration .

Tout dépend le besoin, dhcpd est idéal pour un hébergeur ( on regle tout en fonction de la mac et les ips sont fluides mais fixe ), davd pour les particuliers ( en davd chaque pc reçois le reseau et calcule le sous reseau et le reste à partir de son ipv4 et de son adresse mac, tout en vérifiant si l’adresse n’est pas déjà prise )

En ipv6 toutes ou presques les adresses sont routables, donc on doit considérer que l’on travaille comme sur un DMZ dès que l’on est en IPV6, et que donc tout est accéssible depuis le net .

La théorie serait donc de firewaller tout depuis le poste client … bonjour le trafic et les failles ..

Plus simple est de centraliser le filtrage, avec la technique du Bridge filtrant, on broute le trafic ipv6 . Ça consiste à avoir un pc, un routeur, tout ce qui fonctionne avec cette technique et de le transformer en mini switch, membre du reseau ( mode promisc ) .

A partir de ce moment, il reçoit tous les paquets du lan, et peu donc les analyser . Comme il est entre l’extérieur et l’interieur ( public et privé ) il peut bloquer les requètes et les accès les plus basiques, ou limiter le nombre de connections secondes sur une ip / un port . Bien sur le parefeu local reste un bon complément, mais il n’aura plus qu’à filtrer ce qui restera .

Pour le choix d’une structure de filtrage, après test intensif, les solutions opensource me paraissent très bien pour un usage personnel, mais pas dutout pour un usage pro ( nombre de mises à jours, cycles de développement ) . Après je n’ai pas eu acces aux solutions très pro comme cisco ou nokia, et il y a surement aussi des choses très bien chez eux .

Solution intermédiaire, l’utilisation de iptables ebtables, bien documenté efficace, et générale ( que ce sois sur le poste final comme sur le firewall on reste en terrain connus ), mais l’on n’a pas d’interface facile à utiliser . Reste quand meme quelques scripts ( arnofirewall, easyfwgen, FireHol ) .

Dans tout les cas, il va falloir prendre le temps de tester les solutions, et un déploiement beta pour se rendre compte de la problématique IPV6 et filtrage, je pense qu’il n’y a que sur le terrain que la théorie sera vérifiée .