« Routage IPv6 » : différence entre les versions
(14 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{Box Construction | type=Article }} | |||
== Présentation == | == Présentation == | ||
Ligne 26 : | Ligne 28 : | ||
=== Objectifs === | === 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. | 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 === | === Matériel === | ||
Ligne 51 : | Ligne 53 : | ||
=== Régler le routeur/modem ADSL en mode "bridge" === | === 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. : [[Linksys_AM200#Mode_.22bridge.22_ou_mode_.22pont.22|Exemple pour le modem Linksys AM200]])''. | |||
=== Connexion PPP === | === 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. | * 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. | |||
{{ Box Console | objet=sudo pppoeconf }} | {{ Box Console | objet=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 : | * 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 : | ||
{{ Box Console | objet=ifconfig }} | {{ Box Console | objet=ifconfig }} | ||
Il doit en résulter l'apparition d'une interface nommée '''ppp0''', comme ceci par exemple : | * Il doit en résulter l'apparition d'une interface nommée '''ppp0''', comme ceci par exemple : | ||
[[Image:IPV6_IFCONFIG_PPP.JPG]] | [[Image: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 : | * 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 | +ipv6 ipv6cp-use-ipaddr | ||
Puis de réinitialiser la session avec les commandes suivantes : | * Puis de '''réinitialiser''' la session avec les commandes suivantes : | ||
{{ Box Console | objet=poff dsl-provider<br /> | {{ Box Console | objet=poff dsl-provider<br /> | ||
pon 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 : | * En vérifiant avec la commande '''ifconfig''', on observe l'apparition de l''''adresse globale''' IPv6 affectée à l'interface '''ppp''' : | ||
[[Image:IPV6_IFCONFIG6_PPP.JPG]] | [[Image:IPV6_IFCONFIG6_PPP.JPG]] | ||
{{ Box Remarque | objet=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 === | === Activation du routage IPv6 === | ||
Pour activer le routage IPv6, il suffit de saisir la commande suivante dans le terminal : | * Pour activer le '''routage IPv6''', il suffit de saisir la commande suivante dans le terminal : | ||
{{ Box_Console | objet=sudo sysctl -w net.ipv6.conf.all.forwarding=1 }} | {{ Box_Console | objet=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 : | * 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 : | ||
{{ Box Console | objet=ip -6 route}} | {{ Box Console | objet=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 : | * 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 : | ||
{{ Box Console | objet=ip -6 route del ::/0}} | {{ Box Console | objet=ip -6 route del ::/0}} | ||
Maintenant ajoutons la route par défaut sur l'interface '''ppp0''' : | |||
* Maintenant ajoutons la route par défaut sur l'interface '''ppp0''' : | |||
{{ Box Console | objet=ip -6 route add ::/0 dev eth0}} | {{ Box Console | objet=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 : | |||
* Pour tester la validité du routage il suffit d'effectuer un ping vers ipv6.google.com par exemple : | |||
{{ Box Console | objet=ping6 ipv6.google.com}} | {{ Box Console | objet=ping6 ipv6.google.com}} | ||
Ligne 95 : | Ligne 112 : | ||
==== Sur la station de travail Linux ==== | ==== 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 : | * 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 : | ||
{{Box Console | objet=sudo ifconfig eth0 add 2001:a:b:c::1}} | {{Box Console | objet=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''' : | |||
* 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''' : | |||
{{Box Console | objet=ip -6 route add ::/0 via fe80::10:20:30:40 dev eth0}} | {{Box Console | objet=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 : | |||
* Il faut également veiller à ce que la valeur du '''MTU''' soit égale à celle du routeur sur l'interface '''ppp0''' : | |||
{{Box Console | objet=sudo ifconfig eth0 mtu 1492}} | {{Box Console | objet=sudo ifconfig eth0 mtu 1492}} | ||
<br /> | <br /> | ||
Ligne 106 : | Ligne 128 : | ||
==== Sur la station de travail Windows ==== | ==== Sur la station de travail Windows ==== | ||
Voir [[Configurer_reseau_Windows#Activer_IPv6_pour_Windows_XP|Activer IPv6 pour Windows XP]] | * Voir [[Configurer_reseau_Windows#Activer_IPv6_pour_Windows_XP|Activer IPv6 pour Windows XP]] | ||
{{Box Remarque | objet=Ne fonctionne qu'avec l'[[Routage_IPv6#Autoconfiguration|auto-configuration]] d'activée sur le routeur.}} | {{Box Remarque | objet=Ne fonctionne qu'avec l'[[Routage_IPv6#Autoconfiguration|auto-configuration]] d'activée sur le routeur.}} | ||
Ligne 112 : | Ligne 134 : | ||
==== Sur le routeur ==== | ==== Sur le routeur ==== | ||
Il faut également ajouter la route de retour sur le routeur. Soit on | * Il faut également ajouter la route de retour sur le routeur. Soit on créée une route propre à chaque machine du réseau : | ||
{{Box Console | objet=ip -6 route add 2001:a:b:c::1/128 dev eth0}} | {{Box Console | objet=ip -6 route add 2001:a:b:c::1/128 dev eth0}} | ||
Cependant, ceci peut devenir ingérable si on dispose de plusieurs | |||
* Cependant, ceci peut devenir ingérable si on dispose de plusieurs machines, alors on crée une règle plus générique : | |||
{{Box Console | objet=ip -6 route add 2001:a:b:c::/64 dev eth0}} | {{Box Console | objet=ip -6 route add 2001:a:b:c::/64 dev eth0}} | ||
== Autoconfiguration == | * 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''' ''('''R'''outer '''ADV'''ertissement '''D'''aemon)''. | |||
{{Box_Console | objet=sudo apt-get install radvd}} | {{Box_Console | objet=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 : | * 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 | interface eth0 | ||
{ | { | ||
Ligne 137 : | Ligne 165 : | ||
}; | }; | ||
A noter que ces instructions sont uniquement valable pour l'interface '''eth0'''. On indique ici le '''prefix''' à partir duquel seront construites les adresses | * 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 : | |||
{{Box Console | objet=sudo /etc/init.d/radvd start}} | {{Box Console | objet=sudo /etc/init.d/radvd start}} |
Dernière version du 15 mars 2015 à 19:02
|
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
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.
|
|
- 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 :
|
|
- Il doit en résulter l'apparition d'une interface nommée ppp0, comme ceci par exemple :
- 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 :
|
|
- En vérifiant avec la commande ifconfig, on observe l'apparition de l'adresse globale IPv6 affectée à l'interface ppp :
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 :
|
|
- 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 :
|
|
- 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 :
|
|
- Maintenant ajoutons la route par défaut sur l'interface ppp0 :
|
|
- Pour tester la validité du routage il suffit d'effectuer un ping vers ipv6.google.com par exemple :
|
|
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 :
|
|
- 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 :
|
|
- Il faut également veiller à ce que la valeur du MTU soit égale à celle du routeur sur l'interface ppp0 :
|
|
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 :
|
|
- Cependant, ceci peut devenir ingérable si on dispose de plusieurs machines, alors on crée une règle plus générique :
|
|
- 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).
|
|
- 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 :
|
|