Routage IPv6

De NCad Wiki
Aller à la navigation Aller à la recherche

Cet {{{1}}} est en cours de rédaction.

Présentation

Avant tout

Se familiariser avec la commande ifconfig

Adressage

Avant d'aborder les lignes qui suivent, il est nécessaire d'assimiler quelques notions de base sur IPv6 :

  • adresse de lien : on peut l'assimiler à une adresse privée IPv4. Cependant, cette adresse à une portée limitée : uniquement sur un même lien.
  • adresse globale : on peut l'assimiler à une adresse public IPv4. Cette adresse est routée et peut être accessible depuis n'importe quel machine du réseau y compris depuis Internet.
Lorsqu'on doit indiquer une adresse de passerelle aux machines du réseau, on devra utiliser l'adresse de lien de l'interface à laquelle est connectée la machine sur le routeur.

Équipements

  • Les systèmes d'exploitation Windows XP/2000/Vista/7 supportent IPv6;
  • Les systèmes d'exploitation Linux supportent IPv6;
  • Les équipements réseau de niveau 2 du modèle OSI supportent tous IPv6.

Pour les équipements non compatibles comme :

  • les point d'accès sans fil;
  • les box/modem ADSL;

il faudra les configurer en tant que pont. Il se comporteront comme des équipements de niveau 2.

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

Régler le routeur/modem ADSL en mode "bridge"

Pour que le routeur puisse établir la session PPP et récupérer les paramètres IP, cette fonction doit être au préalable désactivée sur le modem ADSL / box de l'opérateur ( c.f. : Exemple pour le modem Linksys AM200).

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

Il est possible d'affecter une IP manuellement grâce à la commande ifconfig ppp0 add 2000:a:b:c::1/64 par exemple.

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 Linux

  • 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


Cette étape est optionnelle si l'auto-configuration est activée sur le routeur.

Sur la station de travail Windows

Ne fonctionne qu'avec l'auto-configuration d'activée sur le routeur.

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 machines, 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.

Autoconfiguration avec RADVD

  • L'auto-configuration permet aux machines sur le réseau de récupérer certaines informations relatives au réseau comme l'adresse de réseau IPv6 pour construire leur adresse globale automatiquement. Pour cela, il faudra installer le daemon radvd (Router ADVertissement Daemon).

sudo apt-get install radvd

  • La configuration du daemon est simple. Elle s'effectue depuis le fichier /etc/radvd.conf. Si ce dernier n'existe pas, il faudra le créer et le compléter comme dans l'exemple ci-dessous :
interface eth0
{
       AdvSendAdvert on;
       prefix 2001:a:b:c::/64
       {
               AdvOnLink on;
               AdvAutonomous on;
               AdvRouterAddr on;
       };
       RDNSS 2001:4860:4860::8888 2001:4860:4860::8844 {
       };
};
  • A noter que ces instructions sont uniquement valable pour l'interface eth0. On indique ici le prefix à partir duquel seront construites les adresses IPs. On indique également l'adresse de deux serveurs de résolution DNS grâce à la ligne RDNSS.
  • Ensuite, il ne manque plus qu'à démarrer le daemon, puis d'effectuer un test avec une machine :

sudo /etc/init.d/radvd start