0% ont trouvé ce document utile (0 vote)
39 vues8 pages

Passerelle Applicative IPv6-IPv4 TP M1

Transféré par

Tanon lambert Kadjo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • BIND 9,
  • protocoles IP,
  • commandes ip,
  • topologie réseau,
  • tests de connectivité IPv6,
  • IPv6,
  • résolution de noms,
  • adresses IP,
  • IPv4,
  • virtualisation Netkit
0% ont trouvé ce document utile (0 vote)
39 vues8 pages

Passerelle Applicative IPv6-IPv4 TP M1

Transféré par

Tanon lambert Kadjo
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • BIND 9,
  • protocoles IP,
  • commandes ip,
  • topologie réseau,
  • tests de connectivité IPv6,
  • IPv6,
  • résolution de noms,
  • adresses IP,
  • IPv4,
  • virtualisation Netkit

M1 Informatique Module Conception de réseaux (S51INF403) par P.

Anelli

Travaux pratiques no 1
Passerelle Applicative IPv6-IPv4

Le déploiement d’IPv6 pose la problématique de l’accès aux services disponibles dans l’Internet IPv4.
Dans ce TP nous allons procéder à l’installation d’un passerelle applicative pour le web. L’objectif est de
rendre les services web IPv4 accessibles aux clients IPv6.
Nous utiliserons l’environnement de virtualisation Netkit pour la création et la configuration des différents
noeuds. La plateforme mis en oeuvre est indiquée par la figure 1 et comporte :
– Un routeur IPv4. Ce routeur représente l’infrastructure IPv4.
– Un serveur web IPv4. Ce serveur jouera le rôle des services IPv4 uniquement.
– Un serveur DNS IPv4/IPv6. Ce serveur a une connectivité IPv4. Il possède une double pile qui lui
offre une connectivité IPv6. Il est capable de répondre à des requêtes émises en IPv4 ou en IPv6. Cette
machine assure de plus la fonction de proxy web.
– Un client IPv6 uniquement.
L’installation IPv6 pour Linux et les outils IPv6 sont décrits dans le document Linux : IPv6 (http:
//www.bieringer.de/linux/IPv6/). Les RFC relatifs à ce TP sont les numéros : 2460, 3056, 4339, 4862,
6144.

Client Routeur Routeur Serveur


IPv6 IPv6 IPv4 Web

IPv6 IPv6/IPv4 IPv4

DNS-ALG

Figure 1 – 0rganisation du réseau.

Exercice 1.1 — Installation du Lab


La topologie du réseau représentée par la figure 1 est décrite dans un Lab Netkit. Les actions a effectuer
dans cette exercices sont :
– Demander à l’enseignant la référence web de ce Lab.
– Télécharger le lab.
– Installer le Lab sur une machine possédant le logiciel Netkit.
Le Lab est constitué par des noeuds et des liens. La configuration de ces éléments de réseau est l’objet de la
suite de ce TP.

Exercice 1.2 — Adressage


On suppose que la figure 1 représente un modèle de l’évolution de l’Internet. L’internet a commencé avec des
préfixes IPv4 publiques et une connexion directe entre les hôtes. Suite à la croissance de l’intranet, le plan
d’adressage IPv6 a été proposé comme la solution. Le préfixe IPv6 utilisé dans ce modèle est 2001:dede:
cafe::/48. Ainsi tous les noeuds de ce modèle ont une adresse publique soit en IPv4/IPV6 pour les plus
anciens et IPv6 pour les nouveaux.

1/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

1. Rappeler la longueur d’un préfixe IPv6 pour une adresse Unicast.

2. Le lien auquel le client est connecté, porte le SID 2. Le lien comportant lu serveur DNS s’est vu attribuer
le numéro de SID 1. Par convention, l’identifiant d’interface pour le routeur IPv6 sera fixé à 1. Indiquer
les adresses IPv6 pour chacune de ses interfaces réseau.
3. Sachant que l’adresse MAC de l’interface réseau du client est FE:FD:C8:06:06:06. Donner l’adresse
IPv6 qui sera constituée par l’auto-configuration sans état.
4. Le préfixe du réseau IPv4/IPV6 est 192.168.1.0/24. Le routeur IPv4 utilise l’identificateur 1 sur
chacune de ses interfaces. Pour son interface réseau, la machine DNS a l’identificateur 2. Indiquer
quelle est l’adresse IPv4 pour tous les noeuds de ce réseau IPv4.
5. Sachant que dans notre plateforme, l’identificateur en IPv6 est le même que celui en IPv4, donner
l’adresse IPv6 du DNS.
6. Le préfixe du réseau du serveur Web est 192.168.2.0/24 et l’identificateur pour l’interface réseau de ce
noeud est le numéro le plus élevé. Indiquer quelle est l’adresse IPv4 du routeur et l’adresse du serveur
Web.

Exercice 1.3 — Internet IPv4


Nous allons en premier configurer la partie IPv4. Cette partie représente l’infrastructure et les services de
l’Internet.
1) Configurer l’interface réseau et compléter la table de routage des hôtes IPv4. Sous Linux, il y a la
commande multiusage ip en plus des commandes traditionnelles. Pour connaitre la syntaxe complète de la
commande, faire man ip). La syntaxe pour l’ajout de l’adresse est (1) et pour la route (2) :
ip addr add ADDR4/PREFIX_LENGTH dev DEVICE (1)
ip route add ROUTE via ADDR dev DEVICE (2)
DEVICE indique le nom de l’interface (eth0,...)

2) Configurer les interfaces eth0 et eth1 du routeur suivant votre plan d’adressage. Vous pouvez utiliser
les commandes Unix traditionnelles : ifconfig et route. Vérifier la table de routage du routeur. Indiquer
les commandes utilisées.
3) Vérifier que le réseau IPv4 fonctionne pour cela faire un test de connectivité du serveur dns vers le
serveur web par la commande ping.

A partir de maintenant nous avons une infrastructure de réseau IPv4.

Exercice 1.4 — Installation d’un service de noms


Nous allons ajouter un service de noms. Ce service va servir à effectuer la correspondance entre des noms et
des adresses IP.
Nous allons utiliser le logiciel BIND 9 (https://www.isc.org/software/bind). Le domaine sera .org. Le
nom des machines sera : client, dns, web, proxy. La base de données de la zone org contiendra en premier
des adresses IPv4. Les adresses IPv6 seront rajoutées par la suite une fois qu’elles seront connues.
1) La configuration du serveur est définie dans le fichier /etc/bind/named.conf. Ce fichier indique les
zones que va gérer le serveur DNS. Ici il s’agit de la zone org.
# /etc/bind/named.conf
zone "org" {
type master;
file "/etc/bind/db.org";
};

2/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

Le contenu de la zone org est défini dans le fichier /etc/bind/db.org. Compléter ce fichier :

# /etc/bind/db.org
@ IN SOA dns.org. nobody.localhost. (
1 ; serial
3600 ; refresh (1 hour)
900 ; retry (15 minutes)
3600000 ; expire (5 weeks 6 days 16 hours)
3600 ; minimum (1 hour)
)
IN NS dns.org.
dns IN A 192...
; AAAA 2001:...
proxy IN CNAME dns
web IN A 192...
;client IN AAAA 2001:...
routeurv4 IN A 192...
;routeurv6 IN AAAA 2001:...

2) Démarrer le serveur DNS

/etc/init.d/bind start

3) Vérifier que la résolution de nom fonctionne sur le serveur DNS à l’aide de la commande dig 1 . L’adresse
du serveur de nom à utiliser est indiquée explicitement par l’argument @.

dig @localhost -t A dns.org

En cas de problème, consulter le message d’erreur dans /var/log/syslog.


4) Modifier la configuration des noeuds IPv4 pour qu’il utilise par défaut le serveur DNS. A cet effet
modifier le fichier /etc/resolv.conf. La documentation du resolver est disponible à l’url http://man7.
org/linux/man-pages/man5/resolver.5.html)

#/etc/resolv.conf
search org.
nameserver 192.168.1.2

Exercice 1.5 — Installation du service WEB


1) Démarrer le serveur Apache sur le serveur web IPv4 : /etc/init.d/apache2 start
2) Vérifier le fonctionnement du serveur web à l’aide d’un client s’exécutant sur la machine dns. Le client
web peut s’exécuter par la commande links 2 : links http://web.org/ ou par la commande wget : wget
http://web.org/index.html. Cette dernière commande comporte des options pour le contrôle de la com-
munication (proxy, ipv6), pour en savoir plus consulter le manuel en ligne.

A partir de maintenant, nous avons l’Internet et ses principaux services comme nous l’avons connu ces
dernières 20 années.
1. présentation à l’url : http://www.madboa.com/geek/dig/
2. Manuel d’utilisation http://links.twibright.com/user_en.html

3/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

Exercice 1.6 — Déploiement d’un routeur IPv6


La croissance de la taille de l’Internet et l’épuisement des adresses IPv4 poussent les nouveaux arrivants vers
une connectivité IPv6. Ainsi la croissance de l’Internet continuera par des réseaux IPv6 et des noeuds IPv6
uniquement.
1) Configurer les interfaces Ethernet du routeur. La commande de configuration est :

ip -6 addr add ADDR6/PREFIX_LENGTH dev eth0"

2) Un routeur se caractérise par sa fonction de relayage des paquets (forwarding). Activer la fonction de
relayage IPv6 par la commande :

sudo echo 1 > /proc/sys/net/ipv6/conf/default/forwarding

3) Le routeur dans le réseau IPv6 doit joindre le groupe multicast des routeurs avec une portée locale au
lien et il peut servir à la diffusion du préfixe réseau pour l’auto-configuration des noeuds. Pour cela, activer
le daemon du routeur radvd 3 pour l’interface sur le réseau IPv6 du client.
– Editer le fichier /etc/radvd.conf. Le préfixe réseau à annoncer est bien sûr celui du lien. Pour en savoir
plus sur la configuration de radvd, utiliser le manuel en ligne man 5 radvd.conf ou http://linux.die.
net/man/5/radvd.conf.
# /etc/radvd.conf
interface eth0 {
AdvSendAdvert on;
MinRtrAdvInterval 5;
MaxRtrAdvInterval 15;

prefix 0:0:0:1::/64 {
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
– Relancer le daemon radvd
/etc/init.d/radvd restart

4) Effectuer une écoute sur le lien IPv6 et observer les émissions du routeur sur le lien IPv6. Quel est le
message émis par la routeur ? Quel est le type de l’adresse de la source et l’adresse de destination des paquets
émis ?

5) Déterminer l’adresse multicast des routeurs avec une portée locale au lien et vérifier que le routeur
appartient bien à ce groupe sur chaque lien.

Exercice 1.7 — Configuration d’un client IPv6


1) Vérifier que le client est configuré avec une adresse IPv6 routable à l’aide de la commande pour afficher
les adresses IPv6 de l’interface eth0 :
ip -6 addr show dev eth0. L’adresse routable correspond-t-elle à celle que vous avez déterminé dans l’exer-
cice adressage ? Sinon expliquer l’erreur faite.
2) Vérifier l’état de la table de routage : ip -6 route.
3) Quels sont les groupes multicast dans lequel le client est abonné ? Pour découvrir les adresses multicasts
3. http://www.litech.org/radvd

4/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

du client : netstat -g6n. Combien d’adresses possède le client au total ?


4) Faire un test de connectivité ping6 entre le client et le routeur IPv6 avec l’adresse lien-local puis et
l’adresse routable. Indiquer les commandes utilisées.

Exercice 1.8 — Configuration d’une machine en double pile


Les commandes avec les adresses IPv6 sont lourdes, il est temps maintenant d’utiliser un système de nommage.
Nous allons installer un serveur DNS capable de communiquer à la fois en IPv4 et en IPv6. Ainsi il sera
utilisable pour des clients de chaque Internet. La technique de transition utilisée est ici est dite à double pile
(Dual-Stack ).
1) Configurer l’interface eth0 de la machine DNS. La configuration consiste en l’attribution d’une adresse
IPv6 et de la route par défaut :

ip -6 addr add ADDR6/PREFIX_LENGTH dev DEVICE


# route to Internetv6
ip -6 route add 2001::/16 via NEXTHOP dev DEVICE

avec ADDR6 est l’adresse IPv6 attribuée à DEVICE et NEXTHOP l’adresse IPv6 du prochain saut.
2) Du serveur DNS au client, faire un test de connectivité IPv6 à l’aide de l’outil ping6. Vérifier à l’aide
d’une écoute sur le routeur IPv6 le format du paquet de test de connectivité.

3) Du serveur DNS au serveur web, vérifier que la connectivité IPv4 est toujours active.

Exercice 1.9 — Extension du DNS avec IPv6


1) Compléter la base de données du domaine org avec les adresses IPv6.
2) Le serveur DNS doit être en écoute sur une socket en IPv6 en plus de celle par défaut en IPv4 pour
répondre aux requêtes provenant de l’Internetv6. Ceci s’effectue par la configuration du processus named
décrite dans le fichier /etc/bind/named.conf. La directive à ajouter est la suivante :

options {
# sure other options here, too
listen-on-v6 { any; };
};

Redémarrer le serveur et vérifier à l’aide de la commande netstat qu’il est bien en écoute sur les demandes
communiquées en IPv6. Indiquer la syntaxe de la commande utilisée.

3) Configurer le client pour qu’il utilise le serveur de noms en utilisant des messages IPv6. Ceci s’effectue
par le fichier /etc/resolv.conf :

#/etc/resolv.conf
nameserver 2001:....
options inet6

4) Du client, vérifier le service de résolution de noms par la commande host ou dig. Quelle est la syntaxe
de la commande utilisée ?
5) Maintenant, le service de résolution de noms est opérationnel. De la machine client, refaire un test de
connectivité avec la machine dns par la commande :

ping6 dns.org.

5/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

Exercice 1.10 — Accès aux services


Nous allons mettre maintenant en place les éléments pour qu’un client IPv6 puisse accéder à l’ensemble des
services web d’Internet. A cet fin, nous allons installer une passerelle applicative (ou proxy) 4 .
1) Demander à partir du client IPv6 à accéder au serveur web. Observer les messages échangés. Quel est
le résultat de cette demande ? Qu’est ce qui ce passe ?
2) Une solution serait de déployer IPv4 dans le client. Pourquoi ceci est la mauvaise solution ?
3) Nous allons installer un proxy web sur la machine DNS qui fera office de passerelle entre les deux versions
du protocole IP. Ceci va se faire avec le module mod_proxy 5 de Apache et la mise en place d’un Virtual-Host.
Les étapes sont les suivantes :
– Modifier le fichier /etc/apache2/ports.conf pour indiquer à Apache d’écouter sur le port 8080 réservé
au proxy
Listen 80
Listen 8080
– Modifier le fichier /etc/apache2/sites-available/default
NameVirtualHost *:80
<VirtualHost *:80>
...
– Activer le module proxy d’Apache et créer le fichier du Virtual-Host à partir de la configuration par défaut
du proxy
a2enmod proxy
a2enmod proxy_http
cp /etc/apache2/mods-available/proxy.conf /etc/apache2/sites-available/proxy-v6
– Modifier le fichier /etc/apache2/sites-available/proxy-v6
<VirtualHost *:8080>
<IfModule mod_proxy.c>
#turning ProxyRequests on and allowing proxying from all may allow
#spammers to use your proxy to send email.
ProxyRequests On
<Proxy *>
AddDefaultCharset off
Order deny,allow
Deny from all
# Client network
Allow from 2001:...::/64

# Define the character set for proxied FTP directory listings


ProxyFtpDirCharset UTF-8
</Proxy>

# Enable/disable the handling of HTTP/1.1 "Via:" headers.


# ("Full" adds the server version; "Block" removes all outgoing Via: headers)
# Set to one of: Off | On | Full | Block

ProxyVia On
</IfModule>
</VirtualHost>
La configuration d’un proxy se fait toujours en indiquant quelles adresses ont droit d’accéder à cette
fonctionnalité. C’est le sens de la configuration :
Order deny,allow

6/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

Deny from all


Allow from 2001:...::/64
Ici seulement les machines du réseau client ont le droit d’accéder à ce proxy.
– Activer le Virtual-Host et démarrer le serveur Apache
# a2ensite proxy-v6
# /etc/init.d/apache2 start
– Configurer l’utilisation du proxy sur le client lorsque la commande de transfert est wget.
4) Tester l’accès au serveur web. Quelle est la syntaxe de la commande ?
5) Examiner les paquets échangés entre le client, le proxy et le serveur web. Que remarquez vous ?

Exercice 1.11 — Bilan


Au terme de ce TP, rédiger une courte présentation du fonctionnement des techniques de transition IPv4-IPv6
utilisées.

4. avec le support de http://wikitp.rennes.telecom-bretagne.eu


5. http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

7/8 TP no 1 v1.0
M1 Informatique Module Conception de réseaux (S51INF403) par P. Anelli

8/8 TP no 1 v1.0

Vous aimerez peut-être aussi