Routage IPv6

De NCad Wiki
Aller à la navigation Aller à la recherche

Présentation

Objectifs

Déploiement du protocole IPv6 sur un petit réseau local. L'opérateur(OVH) fournit un bloc IPv6 /64. C'est-à-dire qui peut adresser toutes machines appartenant à un même réseau.

Matériel

  • Un modem ADSL, configuré en mode bridge;
  • Une machine fonctionnant sous Linux Debian/Ubuntu/CentOS faisant office de routeur;
  • Des périphériques compatibles IPv6.

Déroulement

IPV6 Maquette.jpg

Nous considérons la "machine routeur" opérationnelle pour le routage IPv4. Les rôles de cette machine seront les suivants :

  • établir la session PPP sur les équipements distants de l'opérateur;
  • récupérer l'adresse IPv4 et le bloc IPv6 affecté par l'opérateur;
  • établir les routes par défaut pour le trafic sortant;
  • établir les routes internes pour les périphériques du réseau.

Le routeur est câblé comme ceci :

  • l'interface eth0 est connectée à la station de travail, elle a une IP fixe 192.168.1.1;
  • l'interface eth1 est connectée au modem, sans IP.

Configuration

Connexion PPP

Le modem étant configuré en mode "bridge", le routeur devra de ce fait initialiser la session PPP. Pour cela, il sera nécessaire d'avoir les identifiants d'accès fournis par le fournisseur d'accès à Internet.

Dans un premier temps, il faut lancer l'utilitaire pppoeconf dans un terminal et de se laisser guider par l'assistant.

sudo pppoeconf

Une fois l'assistant terminé, il est possible de voir si la session ppp a été correctement initialisée en vérifiant l'état des interfaces :

ifconfig

Il doit en résulter l'apparition d'une interface nommée ppp0, comme ceci par exemple :
IPV6 IFCONFIG PPP.JPG

Afin de récupérer l'IPv6 affecté par le FAI depuis la session PPP, il faudra éditer le fichier de configuration /etc/ppp/peers/dsl-provider et d'y ajouter à la fin la ligne suivante :

+ipv6 ipv6cp-use-ipaddr

Puis de réinitialiser la session avec les commandes suivantes :

poff dsl-provider
pon dsl-provider

En vérifiant avec la commande ifconfig, on observe l'apparition de l'adresse globale IPv6 affectée à l'interface ppp :
IPV6 IFCONFIG6 PPP.JPG

Activation du routage IPv6

Pour activer le routage IPv6, il suffit de saisir la commande suivante dans le terminal :

sudo sysctl -w net.ipv6.conf.all.forwarding=1

Il faut également vérifier la route par défaut sur le routeur. Par défaut, tout doit sortir sur l'interface ppp0. Pour vérifier la table de routage il suffit de lancer cette commande :

ip -6 route

Si la route par défaut ne sort pas sur l'interface ppp0 ou si elle n'existe pas, il faut l'ajouter. Dans le cas d'une route erronée, supprimons d'abord la route par défaut :

ip -6 route del ::/0

Maintenant ajoutons la route par défaut sur l'interface ppp0 :

ip -6 route add ::/0 dev eth0

Pour tester la validité du routage il suffit d'effectuer un ping vers ipv6.google.com par exemple :

ping6 ipv6.google.com

Configuration d'une machine

Sur la station de travail

Procédons à la configuration d'une machine sous Ubuntu. Affectons l'adresse IPv6 2001:a:b:c::1 à l'interface eth0 qui est connectée au routeur :

sudo ifconfig eth0 add 2001:a:b:c::1

Renseignons également la route par défaut, ici l'adresse de passerelle utilisée sera l'adresse IPv6 de lien local de l'interface d'entrée du routeur. Cette adresse est ici fe80::10:20:30:40 :

ip -6 route add ::/0 via fe80::10:20:30:40 dev eth0

Il faut également veiller à ce que la valeur du MTU soit égale à celle du routeur sur l'interface ppp0 :

sudo ifconfig eth0 mtu 1492

Sur le routeur

Il faut également ajouter la route de retour sur le routeur. Soit on crée une route propre à chaque machine du réseau :

ip -6 route add 2001:a:b:c::1/128 dev eth0

Cependant, ceci peut devenir ingérable si on dispose de plusieurs machine, alors on crée une règle plus générique :

ip -6 route add 2001:a:b:c::/64 dev eth0

Ici on indique que toute machine dont l'adresse de réseau est 2001:a:b:c se trouve derrière l'interface eth0.