7.1 : Pourquoi IPv6 ? - IUT de Nice

Transcription

7.1 : Pourquoi IPv6 ? - IUT de Nice
7.3 : Ce qu’IPv6 peut faire pour moi
Qu’y a-t-il dans mon PC ?
Qu’y a-t-il dans ma CrétinBox ?
Qu’y a-t-il dans un routeur “ipv6 ready” ?
2014
Eric Levy-Abégnoli (Cisco)
Stéphane Frati (Unice)
Ce document ne peut être reproduit sans l’autorisation de [email protected]
On a tout vu d’IPv6 ?...
 Non, il reste énormément de choses à découvrir mais…
 Ex: le DNS:
 Il n’est pas indiqué dans les RA alors comment l’obtient-on ?...
 Comment répond un DNS à une requête de résolution de
www.google.com ? ( A et AAAA records; resolvers…)
 Peut-être aurez-vous le temps de parcourir quelques RFC
 Ex: La RFC3849 explique que le réseau 2001:db8::/32 est réservé
pour la documentation et les tutoriaux. Ce réseau n’est pas
routable sur l’Internet.
 Mais résumons ce qu’IPv6 fait pour moi tous les jours…
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Qu’y a-t-il dans mon PC ?
Ce document ne peut être reproduit sans l’autorisation de [email protected]
D’abord des adresses IPv6
 Avec 128 bits, on en a plein alors les ISP nous
fournissent des /64
 Plusieurs sur une même interface
 Locales; Globales; …
 Le plus souvent, il n’y a pas à la configurer  elles
sont « automagiques »
 À coup sûr pour les link-local
 Également si vous avez défini un préfix sur le routeur amont
(votre CrétinBox…)
 Pas besoin obligatoirement de DHCP Server
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Les fameux « Lower 64 bits »
 Plusieurs méthodes de « génération-spontannée »
 EUI64 (basé sur @MAC + FFFE inserré)
 ISATAP, V4-mapped (cache l’@IPv4 notemment pour
faciliter le tunneling)
 Privacy Extension (option pour demander à les faire
tourner de manière cyclique… et ne pas se faire « tracker
à la culotte » sur Internet)
 CGA (crypto: utilise un hash d’une clé pour signer l’@)
 … manuellement
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Ce qu’on perd d’IPv4…
 La compatibilité: headers incompatibles
 ARP  remplacé par ICMPv6 : NS vers @multicast dont
24bits de fin d’adresse IPv6
 Link Operations
 Network Discovery: on récupère son @, sa dgw; on vérifie
l’unicité de son @
 Duplicate Address Detection
 Source Address Selection
 Plus de broadcast  multicast « all nodes on link »
 On ne peut plus « se cacher derrière une CrétinBox »
qui fait du NAT car…
« L’idée force » est…
« Tout le monde veut pouvoir atteindre tout le
monde en direct (si possible) sans configuration ! »
Ce document ne peut être reproduit sans l’autorisation de [email protected]
IPv6 in the stack: “In theory …”
Everything else
Application
Transport
HTTP, FTP,
Telnet, DNS,
Ping, …
OSPF,
BGP,
RIP
IPv6
ND
Link
operations
TCP, UDP, RTP, SCTP, ICMP
Layer-3
Network
Data Link
IPv4
ARP
IPv6
802.2, 802.3, 802.5, X.25.
DFFI, Frame Relay, ATM, SDH,
PPP, xDSL, ….
Ce document ne peut être reproduit sans l’autorisation de [email protected]
IPv6 in the stack: “reality…”
Everything else
Application
HTTP, FTP,
Telnet, DNS,
Ping, …
OSPF,
BGP,
RIP
Transport
TCP, UDP, RTP, SCTP,
ICMP
Network
IPv4
Data Link
ARP
HTTP, FTP,
Telnet, DNS,
Ping, …
OSPF,
BGP,
RIP
IPv6
ND
TCP, UDP, RTP, SCTP, ICMP
IPv6
802.2, 802.3, 802.5, X.25. DFFI, Frame Relay, ATM, SDH,
PPP, xDSL, ….
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Qu’y a-t-il dans ma CrétinBox ?
 Que se passe-t-il si j’active l’IPv6 sur ma CrétinBox
?...
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Qu’y a-t-il dans ma CrétinBox ?
Ce document ne peut être reproduit sans l’autorisation de [email protected]
IPv6 sur mon W$
C:\users\frati> ipconfig
…
Carte réseau sans fil Connexion réseau Dell :
Suffixe DNS propre à la connexion. . . :
Adresse IPv6. . . . . . . . . . . . . .: 2e35:e35:2e0a:b430:d8e1:2b79:140e:9161
Adresse IPv6 temporaire . . . . . . . .: 2e35:e35:2e0a:b430:de7:7026:c429:37d7
Adresse IPv6 de liaison locale. . . . .: fe80::d8e1:2b79:140e:9161%10
Adresse IPv4. . . . . . . . . . . . . .: 192.168.0.10
Masque de sous-réseau. . . . . . . . . : 255.255.255.0
Passerelle par défaut. . . . . . . . . : fe80::f6ca:e5ff:fe48:e1c9%10
192.168.0.254
C:\Users\frati> arp -a
Interface : 192.168.0.10 --- 0xa
Adresse Internet
Adresse physique
Type
192.168.0.30
08-70-45-c2-bb-45 dynamique
192.168.0.91
00-02-6f-84-5f-b9 dynamique
192.168.0.221
00-e0-4c-ba-16-3e dynamique
192.168.0.249
c0-cb-38-16-14-d3 dynamique
192.168.0.254
f4-ca-e5-48-e1-c9 dynamique
192.168.0.255
ff-ff-ff-ff-ff-ff statique
Ce document ne peut être reproduit sans l’autorisation de [email protected]
http://ipv6-test.com/
Ce document ne peut être reproduit sans l’autorisation de [email protected]
IPv6 sur mon RPi
sudo modprobe ipv6
 Pour automatiser:
ajouter ipv6 à la fin
de /etc/modules
Ce document ne peut être reproduit sans l’autorisation de [email protected]
RPi voit google.v6
pi@raspberrypi ~/wiringPi $ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether b8:27:eb:cb:ab:10 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:02:6f:84:5f:b9 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.91/24 brd 192.168.0.255 scope global wlan0
inet6 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9/64 scope global dynamic
valid_lft 86268sec preferred_lft 86268sec
inet6 fe80::202:6fff:fe84:5fb9/64 scope link
valid_lft forever preferred_lft forever
pi@raspberrypi ~/wiringPi $ ping6 -n google.com
PING google.com(2a00:1450:4007:804::1007) 56 data bytes
64 bytes from 2a00:1450:4007:804::1007: icmp_seq=1 ttl=57 time=36.4 ms
64 bytes from 2a00:1450:4007:804::1007: icmp_seq=2 ttl=57 time=37.4 ms
64 bytes from 2a00:1450:4007:804::1007: icmp_seq=3 ttl=57 time=37.4 ms
64 bytes from 2a00:1450:4007:804::1007: icmp_seq=4 ttl=57 time=37.6 ms
^C
--- google.com ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 36.455/37.240/37.610/0.458 ms
Ce document ne peut être reproduit sans l’autorisation de [email protected]
W$ voit RPi
C:\Users\frati>ping 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9
Envoi d'une requête 'Ping' 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9 avec 32
octets de données :
Réponse de 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9 : temps=141 ms
Réponse de 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9 : temps=1 ms
Réponse de 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9 : temps=1 ms
Statistiques Ping pour 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9:
Paquets : envoyés = 3, reçus = 3, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 1ms, Maximum = 141ms, Moyenne = 47ms
Ce document ne peut être reproduit sans l’autorisation de [email protected]
W$ : où est mon arp –a ?
C:\Users\frati> netsh interface ipv6 show neighbors
Interface 1 : Loopback Pseudo-Interface 1
Adresse Internet
Adresse physique Type
-------------------------------------------- ----------------- ----------ff02::c
Permanent
ff02::16
Permanent
ff02::fb
Permanent
ff02::1:2
Permanent
ff02::1:3
Permanent
Interface 10 : Connexion réseau Dell
Adresse Internet
Adresse physique Type
-------------------------------------------- ----------------- ----------2e35:e35:2e0a:b430:202:6fff:fe84:5fb9
00-02-6f-84-5f-b9 Caduque
fe80::202:6fff:fe84:5fb9
00-02-6f-84-5f-b9 Caduque
fe80::a70:45ff:fec2:bb45
08-70-45-c2-bb-45 Caduque
fe80::c2cb:38ff:fe16:14d3
c0-cb-38-16-14-d3 Caduque
fe80::f6ca:e5ff:fe48:e1c9
f4-ca-e5-48-e1-c9 Joignable (Routeur)
ff02::1
33-33-00-00-00-01 Permanent
ff02::2
33-33-00-00-00-02 Permanent
ff02::c
33-33-00-00-00-0c Permanent
ff02::16
33-33-00-00-00-16 Permanent
ff02::1:2
33-33-00-01-00-02 Permanent
ff02::1:3
33-33-00-01-00-03 Permanent
ff02::1:ff0e:9161
33-33-ff-0e-91-61 Permanent
ff02::1:ff29:37d7
33-33-ff-29-37-d7 Permanent
ff02::1:ff48:e1c9
33-33-ff-48-e1-c9 Permanent
ff02::1:ff84:5fb9
33-33-ff-84-5f-b9 Permanent
ff02::1:ffc2:bb45
33-33-ff-c2-bb-45 Permanent
Interface 32 : Connexion au réseau local* 20
Adresse Internet
Adresse physique Type
-------------------------------------------- ----------------- ----------2e35:e35:2e0a:b430:a70:45ff:fec2:bb45
216.66.64.138:36722 Caduque
ff02::2
255.255.255.255:65535 Permanent
ff02::16
255.255.255.255:65535 Permanent
ff02::1:2
255.255.255.255:65535 Permanent
ff02::1:ff16:14d3
255.255.255.255:65535 Permanent
ff02::1:ffc2:bb45
255.255.255.255:65535 Permanent
Interface 28 : Connexion au réseau local* 6
Adresse Internet
Adresse physique Type
-------------------------------------------- ----------------- ----------ff02::16
33-33-00-00-00-16 Permanent
ff02::fb
33-33-00-00-00-fb Permanent
ff02::1:2
33-33-00-01-00-02 Permanent
ff02::1:3
33-33-00-01-00-03 Permanent
En IPv6, ARP est remplacé par les
Neighbor Solicitation messages…
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Ping sweep (on a specific interface)
pi@raspberrypi ~/wiringPi $ ping6 -I wlan0 FF02::1
PING FF02::1(ff02::1) from fe80::202:6fff:fe84:5fb9 wlan0: 56 data bytes
64 bytes from fe80::202:6fff:fe84:5fb9: icmp_seq=1 ttl=64 time=0.215 ms
64 bytes from fe80::f6ca:e5ff:fe48:e1c9: icmp_seq=1 ttl=64 time=1.21 ms (DUP!)
64 bytes from fe80::c2cb:38ff:fe16:14d3: icmp_seq=1 ttl=1 time=246 ms (DUP!)
64 bytes from fe80::202:6fff:fe84:5fb9: icmp_seq=2 ttl=64 time=0.196 ms
64 bytes from fe80::f6ca:e5ff:fe48:e1c9: icmp_seq=2 ttl=64 time=1.21 ms (DUP!)
64 bytes from fe80::c2cb:38ff:fe16:14d3: icmp_seq=2 ttl=1 time=82.5 ms (DUP!)
^C
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Rajouter une adresse intelligible sur mon RPI
 Si mon adresse globale dynamique est:
 2e35:e35:2e0a:b430:202:6fff:fe84:5fb9/64
 Si mon adresse IPv4 est:
 192.168.0.248
 Je rajoute une IPv6 supplémentaire facile à retenir:
sudo ip -6 addr add 2e35:e35:2e0a:b430:192:168:0:248/64 dev wlan0
Ce document ne peut être reproduit sans l’autorisation de [email protected]
Rajouter une adresse intelligible sur mon W$
 En tant qu’administrateur:
netsh interface ipv6 add address interface=10
2e35:e35:2e0a:b430:192:168:0:10/64 store=persistent
Bienvenue…
Dans le monde d’IPv6