TD 3 - IPv6 1 Autocon guration lien-local

difficulthopefulΛογισμικό & κατασκευή λογ/κού

2 Ιουλ 2012 (πριν από 4 χρόνια και 11 μήνες)

373 εμφανίσεις

Département des Sciences Informatiques
Master 1 SI
2011{2012
Reseaux avances
T.T.Dang Ngoc
dntt@u-cergy.fr
TD 3 - IPv6
D^u a un bug de wireshark lors de l'utilisation du mode promiscuous dans la capture des paquets multicast qui ne sont
pas ensuite retransmis aux couches superieures,nous utiliserons le programme tcpdump pour l'analyse des trames
1 Autoconguration lien-local
Reliez les machines de votre il^ot de la maniere suivante:
RTFAI
PCx3
204.18.i.0/24
PCx1
PCx2 PCx4
PCx5 PCx6
204.18.i.254
204.18.i.i
200i:660:300F:1::/64
200i:660:300F::/64
200i:660:300F::/52
site A
200i:660:300F::/48
ilot i
200i:660:300F:1000::/52
site B
200i:660:300F:1000::/64
￿￿
￿￿
￿￿
￿￿
￿￿
￿￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
￿
Internet
1.1 Adressage
La commande ifconfig -a vous ache toutes les informations a propos de toutes les cartes reseaux reconnues sur votre
systeme.
1.Veriez que vous avez comme adresse de boucle locale::1/128 sur l'interface de loopback (lo0).
2.Quelle est l'adresse ethernet de votre carte reseau re0?
3.Quelle est l'adresse IPv6 lien-local obtenue pour votre carte reseau re0?
4.Veriez qu'elle respecte bien le format d'adresse lien-local:
0
F E 8 0 ::/64
Interface en EUI−64
1111 1110 10
10 bits 54 bits 64 bits
gu
constructeur numéro de série
24 24
numéro de série
24 2416
u g
1 0
constructeur
FFFE
5.Avec tcpdump,veriez que les messages ICMPv6 de decouverte des voisins sont bien envoyes lors de l'initialisation de
l'adresse,et qu'il n'y a pas de messages ICMPv6 reply.Cette phase sert a verier l'unicite de l'adresse.
6.Vers quelle adresse les messages sont-ils envoyes?
7.Quelle est la portee (Scope) de vos dierentes adresses IPv6?
8.Testez l'accessibilite d'une autre machine connectee sur le reseau a l'aide de ping6 vers l'adresse IPv6 d'un voisin.
1.2 Decouverte des voisins

A l'instar d'ARP en IPv4,IPv6 via des messages ICMPv6 de decouverte de voisin,remplit une table d'associations
(adresse physique du voisin,adresse IPv6 du voisin) lors d'un premier envoi d'un paquet vers un voisin.La table est vide au
depart.
1.Achez la table des associations.Regardez les adresses deja resolues,et l'expiration.
2.Testez l'accessibilite d'une autre machine connectee sur le reseau a l'aide de ping6 vers l'adresse IPv6 d'un voisin.
3.Achez a nouveau la table des associations.
4.Avec tcpdump regardez quels sont les messages ICMPv6 de decouverte des voisins envoyes pour la resolution de
l'association
(a) Quelles sont les adresses source et destination du message ICMPv6"Neighbor solicitation"?
(b) Quelles sont les adresses source et destination du message ICMPv6"Neighbor Advertisement"?
1.3 ping6
1.Avec tcpdump regardez quels sont les messages ICMPv6 envoyes lors du ping6 lui-m^eme.
2.Faites un ping6 sur l'adresse multicast ff02::1 correspondant a toutes les machines du lien local.Que constatez-vous?
2 Utilisation d'un prexe global
On attribue a l'il^ot i,le prexe:200i:660:300F::=48
2.1 Conguration manuelle des routeurs
Sur les PC routeurs (PCx1,PCx3):
1.congurez les adresses de chacun des interfaces de maniere statique.
2.activez le routage IPv6 des paquets entre les interfaces:
sysctl -w net.inet6.ip6.forwarding=1
3.Le demon d'annonce du routeur (rtadvd sous FreeBSD,radvd sous Linux) devra ^etre lance sur chaque routeur an
d'emettre des annonces sur son interface interne.
2.2 Conguration manuelle des PCx5 et PCx6
On choisira arbitrairement de congurer manuellement les PCx5 et PCx6 avec comme adresses:200i:660:300F:1::5=64
et 200i:660:300F:1::6=64 respectivement.
1.Congurez les interfaces reseaux de toutes vos machines
2.Modiez la table de routage des machines an que deux machines des reseaux 1 et 2 (resp.des reseaux 3 et 4) puissent
communiquer entre elles.Testez.
3.Veriez l'accessibilite de vos machines en IPv6 dans le m^eme reseau a l'aide de la commande ping6 et traceroute6.
2.3 Autoconguration des PCx2 et PCx4
Sur les PCx2 et PCx4 avec autoconguration:
1.activez l'acceptation des messages d'annonce du routeur pour l'autoconguration,activez l'interface et envoyez un
message de sollicitation du routeur a l'aide de la commande:
sysctl net.inet6.ip6.accept_rtadv=1
ifconfig <interface> up
rtsol <interface>
2.Avec tcpdump,interceptez les messages ICMP"Router solicitation"et"Router advertisement".
(a) Quelles sont les adresses source et destination du message ICMPv6"Router solicitation"?
(b) Quelles sont les adresses source et destination du message ICMPv6"Router Advertisement"?Quels sont les
parametres envoyes par le routeur?
3 Tunnel IPv6
On suppose que toutes vos machines ainsi que vos routeurs supportent les protocoles IPv4 et IPv6.En revanche,le routeur
du FAI n'accepte que le protocole IPv4.
Veriez qu'une machine situee de l'autre c^ote du routeur du FAI n'est accessible qu'en IPv4 et non en IPv6 (en utilisant
les commandes ping et ping6 depuis PCx3.
Il s'agit d'etablir un tunnel entre les reseaux des dierents il^ots via le routeur du FAI ne supportant que IPv4.
Pour cela,vous creerez trois interfaces tunnel sur le routeur reliant votre il^ot vers l'Internet par la commande ifconfig
gif0 create,vous congurerez les adresses IPv4 associees a chaque extremite du tunnel,puis vous associerez une adresse
IPv6 a votre extremite du tunnel.Enn,sur chaque routeur,vous devrez ajouter les routages IPv6 necessaires.
On utilisera l'adresse 200i:660:300F:ij::=64 pour le tunnel reliant l'il^ot i a l'il^ot j (avec i < j).
3.1 Utilisation du DNS
3.2 Client DNS

A l'aide de l'utilitaire nslookup,determinez:
1.l'adresse IPv4 de la machine pc15.fournisseur.fr
2.l'adresse IPv6 de la machine pc15.fournisseur6.fr
3.le nom correspondant l'adresse IPv4 195.168.236.15
4.le nom correspondant l'adresse IPv6 2001:660:300f:1000::5
5.le serveur de nom de la zone fournisseur6.fr
6.le serveur de nom de la zone societe-ngi.com (avec i votre numero de reseau).
7.le serveur de nom de la zone f.0.0.3.0.6.6.0.i.0.0.2.ip6.arpa
3.3 Mise en place d'un serveur DNS pour les zones IPv6
On vous demande de creer dans chaque reseau (sur les PC x5),un serveur DNS pour votre societe.En supposant que
celle-ci s'appelle societe-ngi.com (ou i correspond a votre numero de machine),creez les zones correspondantes sur votre
machine (vous remarquerez que les zones parentes ont ete congurees pour vous deleguer ces zones).Vous entrerez ainsi des
noms IPv6 pour chacune des machines de votre reseau.
Vous n'oublierez pas de creer la zone inverse.
4 Utilisation de services applicatifs
Bien que les protocoles de transport TCP et UDP fournissent aux applications une interface independante du protocole
IP sous-jacent (v4 ou v6),certains eorts de compatibilite ont d^u ^etre realisees sur les applications (essentiellement au niveau
des structures de programmation manipulant les adresses IP elles-m^emes).
Les grands logiciels correctement programmes (serveur HTTP Apache,serveur de courrier Postx,navigateur Firefox,
lecteur de mail Thunderbird,etc) sont tous compatibles IPv6 (ce qui n'est malheureusement pas le cas de beaucoup de
logiciels alors que l'eort a faire pour ^etre compatible est tres minime).
4.1 Protocole HTTP
Lancez Apache sur les machines PCx6 et accedez-y depuis un navigateur refox installe sur les autres machines.L'URL
devra ^etre saisie de la maniere suivante:
http://[adresseIPv6_du_serveur]/ressource_locale (avec les crochets)
ou tout simplement de maniere classique a l'aide de son nom DNS
http://adresseDNS_du_serveur/ressource_locale
Creez un alias dans le DNS de sorte que l'adresse www.ipv6.societei.com designe votre serveur web.
4.2 Programmation IPv6
Recuperez les programmes client-serveur TCP et UDP mis a votre disposition et veriez qu'ils peuvent indieremment
^etre utilises avec des adresses IPv4 et IPv6.
5 Annexes
5.1 Conguration d'interface
Achage des informations d'une interface
ifconfig <interface>
ou (pour linux seulement)
ip addr show dev <interface>
Montage et demontage d'une interface
ifconfig <interface> up/down
ou (pour linux seulement)
ip link set dev <interface> up/down
Conguration manuelle d'une interface en IPv6
ifconfig <interface> inet6 add <adresseIPv6>/<longueurPrefixe>
ou (pour linux seulement)
ip -6 add <adresseIPv6>/<longueurPrefixe> dev <interface>
Declaration d'une interface en auto-conguration
Sous Linux
sysctl -w net.ipv6.conf.<interface>.autoconf=1
Sous FreeBSD
sysctl -w net.inet6.ip6.auto_linklocal=1
ifconfig <interface> down
ifconfig <interface> up
Achage de la table d'association
Pour Linux La commande ip -6 permet,moyennant les options et parametres necessaires,d'acher et de congurer
les interfaces reseau,tables de routages,et tunnels en IPv6.Achez la table des associations (adresse physique du voisin,
adresse IPv6 du voisin) actuellement resolues sur votre systeme en tapant:
ip -6 neigh show dev <interface>
Pour FreeBSD La commande ndp controle et ache tous ce qui concerne la decouverte de voisin IPv6.
{ ndp -a -n:ache la liste des associations
{ ndp -p:ache la liste des prexes
{ ndp -r:ache la liste de routeur par defaut
{ ndp -c:eace toutes les entrees
5.2 Routage
Achage de la table de routage IPv6
netstat -rn
ou (pour linux seulement)
ip -6 route show [dev <interface>]
ou
route -A inet6
Ajouter une route IPv6
Sous FreeBSD
route add -inet6 <adresseReseau>/<longueurPrefixe> <adresseIPv6Routeur>
Sous Linux
route -A inet6 add <adresseReseau>/<longueurPrefixe> gw <adresseIPv6> [dev <interface>]
ou
ip -6 route add <adresseReseau>/<longueurPrefixe> via <adresseIPv6> dev <interface>
ping6
ping6 -I <interface> <adresseIPv6>
ou
ping6 <adresseIPv6>%<interface>
traceroute6
traceroute6 <adresseIPv6>
Demon d'annonce du routeur
Sous FreeBSD Le demon s'appelle rtadvd.Le chier de conguration lu par rtadvd est le chier/etc/rtdvd.conf (a
creer le cas echeant) dont le format minimal est le suivant:
<interface>::addr="<prefixeIPv6duReseau>":prefixlen#<taillePrefixe>:tc=ether:
(cf.page de manuel pour parametrer plus nement les annonces).
Le demon peut ^etre lance (en mode DEBUG) de la maniere suivante:
rtadvd -dDf <interface>
Sous Linux Le demon s'appelle radvd.Le chier de conguration lu par radvd est le chier/etc/rdvd.conf (a creer le
cas echeant) dont le format minimal est le suivant:
interface <interface>
f
prefix <prefixeIPv6duReseau>/<taillePrefixe>
f
g;
g;
(cf.page de manuel pour parametrer plus nement les annonces).
5.3 Creer un tunnel IP-IP sous FreeBSD
re1
A
B
re1
re0
re0
gif0
gif0
IP_PUB (A)
tunnel IP_PUB (A) <−> IP_PUB (B)
IP_PUB (B)
tunnel IP_PUB (B) −> IP_PUB (A)tunnel IP_PUB (A) −> IP_PUB (B)IP_PP (A) <−> IP_PP (B)
IP_PP (B) <−> IP_PP (A)
ifconfig gif0 create
ifconfig gif0 tunnel IP_PUBLIQUE_ENTREE IP_PUBLIQUE_SORTIE
ifconfig gif0 inet6 IP_PP_ENTREE IP_PP_DESTINATION prefixlen TAILLE_PREFIXE
ou:
{ IP
PUBLIQUE
ENTREE est l'adresse IP publique de l'entree du tunnel (IP locale).
{ IP
PUBLIQUE
SORTIE est l'adresse IP publique de la sortie du tunnel (IP distante).
{ IP
PP
SITE est une adresse IP point-a-point de l'entree du tunnel (prendre une adresse quelconque,privee de preference)
{ IP
PP
DESTINATION est une adresse IP point-a-point de la sortie du tunnel (prendre une adresse quelconque sur le
reseau de IP
PP
SITE)
{ ADRESSE
RESEAU
A
ROUTER est la plage d'adresse pour laquelle il faut router par le tunnel
5.4 DNS
Utilisation du client nslookup pour interroger un serveur DNS
nslookup peut s'utiliser de maniere interactive.
Mot-clefs:
SERVER serveur de nom
permet d'indiquer le serveur de nom a interroger.Par defaut,il s'agit de celui designe dans le chier/etc/resolv.conf.
SET q= type
ou type
type
signication
A
Nom vers adresse IPv4
AAAA
Nom vers adresse IPv6
PTR
adresse IP vers nom
NS
serveur de nom de la zone
MX
serveur de courrier de la zone
CNAME
nom canonique
SOA
information d'autorite de la zone
HINFO
information additionnelle de la zone
ANY
toute information
Conguration du serveur DNS
Fichier/etc/namedb/named.conf
options f
//Le repertoire local contenant les autrez fichiers de configuration
directory"/etc/namedb";
g;
//Pour les zones qu'on ne gere pas directement,on revient sur la zone
//racine (.).Pour cela,on a code en dur dans le fichier"named.root"
//les adresses des serveurs'.'
zone"."f
type hint;
file"named.root";
g;
//La zone dont nous sommes serveurs de nom primaire
zone"nom de la zone"f
type master;
file"fichier decrivant la zone";
g;
//La zone dont nous sommes serveurs de nom secondaire
zone"nom de la zone"f
type slave;
masters f
adresse du serveur de nom primaire
g;
file"fichier decrivant la zone";
g;
Fichier de zone:
;TTL par defaut
$TTL 3600
;description du SOA
zone IN SOA serveur_primaire mail_du_responsable (
20060323;numero de serie
3600;delai entre rafraichissement
900;delai entre re-essai
3600000;delai d'expiration
60 );delai en cache
;serveur de nom
zone IN NS serveur_de_nom
;MX record
zone IN MX preferences serveur de courrier
a_resoudre IN type_de_resolution resolution
{ type peut ^etre A (nom!IPv4),AAAA (nom!IPv6),PTR (IP!nom),SOA (zone!NS principal),MX (zone!serveur
de mail),NS (zone!serveurs de noms),CNAME (alias!nom),...
{ Attention:les noms DNS doivent ^etre ecrit avec un point (.) nal de la racine
{ plus le nombre utilise pour la preference pour le MX est bas,plus la priorite est forte
{ le nom de la zone courante peut s'abreger avec le caractere'@'
{ le'@'de l'adresse e-mail du responsable dans la denition du SOA doit ^etre remplace par un point'.'
Lancer le service DNS:
named
(puis le controler a l'aide de ou rndc reload pour lui faire relire sa conguration,ou rndc stop s'il faut l'arr^eter)
Les erreurs se lisent dans le chier/var/log/messages et/var/log/named/tp.log.