3. Thomas Moegli
Dynamic Host Configuration Protocol
๏ Rôle : Assurer la configuration automatique des paramètres IP d’une station
๏ Affectation automatique d’une adresse IP, masque
๏ Possibilité de configurer également une passerelle par défaut, des serveurs DNS et NBNS (appelés WINS sous Microsoft)
๏ Présenté en 1993 et défini par RFC 1531
๏ Complété et modifié par les RFC 1534, RFC 2131, RFC 2132
๏ DHCPv6 : Version pour IPv6
๏ Sous IPv6, possibilité d’autoconfiguration sans serveur DHCP (SLAAC)
Adressage dynamique
Protocole DHCP
3
4. Thomas Moegli
๏ Basé sur un modèle Client/Serveur
๏ Définition d’un serveur DHCP qui distribue les adresses
๏ Définition d’une plage IP à distribuer (appelé Pool)
๏ Format des messages DHCP basé sur le protocole BOOTP
๏ Compatibilité avec les clients anciens fonctionnant avec le protocole BOOTP
Protocole DHCP
Fonctionnement
4
Configuration DHCP sous Windows 7
6. Thomas Moegli
1. DHCPDISCOVER
Envoi d’une trame sur port 67 pour trouver un
serveur DHCP
Trame en broadcast avec adresse IP source 0.0.0.0 et
son adresse MAC
2. DHCPOFFER
Réception par un ou plusieurs serveurs DHCP
Envoi d’une proposition de bail avec l’adresse IP du
serveur et l’adresse MAC du client sur le port 68.
Tous les serveurs DHCP répondent, le client prend la
première réponse venue.
Protocole DHCP
Fonctionnement
6
3. DHCPREQUEST
Client retient une des offres
Diffusion d’une trame avec adresse IP du serveur et
adresse IP proposée au client
Demande au serveur choisi l’assignation de l’adresse
IP, l’envoi éventuel des valeurs des paramètres et
informe les autres serveurs qui n’ont pas été retenus.
4. DHCPACK
Accusé de réception qui assigne au client l’adresse IP
et son masque, la durée du bail et d’autres
paramètres (serveurs DNS, passerelle par défaut, …)
Lorsque le client ne désire plus utiliser son offre DHCP, elle envoie au serveur un message DHCP Release
7. Thomas Moegli
Message DHCP Discover
Protocole DHCP
Fonctionnement
7
Dernière adresse IP reçue par le client
lors d’une précédente demande DHCP
DHCPDISCOVER
(broadcast)
DHCPOFFER
(unicast)
DHCPREQUEST
(broadcast)
DHCPACK
(unicast)
Serveur DHCPClient DHCP
12. Thomas Moegli
๏ Les requêtes DHCP étant émis en broadcast, ils ne peuvent quitter le domaine de broadcast.
๏ Un relais DHCP transforme les requêtes DHCP Request reçues en broadcast sous la forme de paquets Unicast qui
peuvent être routés
๏ Le serveur DHCP peut ainsi être situé sur un réseau différent
๏ Le relais peut être configuré sur :
๏ Un serveur spécifique qui agit comme relais
๏ Une interface d’un routeur connecté sur le domaine de broadcast
Protocole DHCP
Relais DHCP
12
Client A
.1
Client B
10.1.0.0/24
Client C
10.2.0.0/24
Serveur DHCP
.1
.2
10.12.0.0/24
.1
.2
Relais DHCP
R1 R2
13. Thomas Moegli
Etapes
1. Configurer les adresses IP à exclure. Il est nécessaire d’effectuer cette étape avant la création du pool d’adresses puisque le service DHCP
commence à répondre dès que le pool est configuré :
3. Créer un pool d’adresse avec un identifiant unique :
4. Configurer son sous-réseau et son masque :
5. Ajoutez les options transmises dans la requête DHCP
1. Configurez la passerelle par défaut :
2. Configurer les adresses IP des serveur DNS :
3. Configurer un bail d’expiration (sans configuration/par défaut : 24 heures) :
Protocole DHCP
Configuration d’un routeur comme serveur DHCP
13
Router(config)# ip dhcp pool Pool-ID
Router(dhcp-config)# network ip-network mask
Router(dhcp-config)# default-router ip-address
Router(dhcp-config)# dns-server ip-address
Router(dhcp-config)# lease { jours [heures] [minutes] | infinite }
Router(config)# ip dhcp excluded-address ip-address-debut ip-address-fin
14. Thomas Moegli
Protocole DHCP
Configuration d’un routeur comme serveur DHCP
14
R1
SW1
Serveur DHCP
192.168.1.0/24
.100
F0/0
R1(config)# ip dhcp pool DHCP_Pool
R1(dhcp-config)# network 192.168.1.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.1.100
R1(dhcp-config)# dns-server 192.168.1.50
R1(dhcp-config)# dns-server 192.168.1.51
R1(config)# ip dhcp excluded-address 192.168.1.100
R1(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10
R1(config)# ip dhcp excluded-address 192.168.1.50 192.168.1.51
15. Thomas Moegli
Protocole DHCP
Configuration d’un routeur comme client DHCP
15
R2(config)# interface FastEthernet0/0
R2(config-if)# ip address dhcp
R2(config-if)# no shutdown
R1
SW1
Serveur DHCP
192.168.1.0/24
.100
F0/0
R1
F0/0
R2
F0/0
Désavantages
๏ Augmente la charge du routeur
๏ Plus orienté pour un réseau avec 10 à 15 utilisateurs
16. Thomas Moegli
๏ Les requêtes DHCP étant émis en broadcast, ils ne
peuvent quitter le domaine de broadcast.
๏ Transfère les requêtes DHCP Request reçues sur l’interface
du routeur et les transfère en unicast sur un serveur DHCP
situé sur un autre réseau
๏ Commande :
Protocole DHCP
Configuration : Relais DHCP
16
R2(config)# interface Fa0/0
R2(config-if)# ip helper-address 192.168.2.100
R2
SW1
192.168.1.0/24
.254
F0/0
S1/1
192.168.2.0/24
.254
R1
S1/1
F0/0
10.12.0.0/30
.1 .2
Serveur DHCP
.100
Router(config-if)# ip helper-address ip-address-srv-dhcp
17. Thomas Moegli
Protocole DHCP
DHCP avec plusieurs VLANs
17
R1(config)# no ip routing
R1(config)# ip default-gateway 192.168.1.100
R1(config)# interface FastEthernet0/0
R1(config-if)# ip address 192.168.1.51 255.255.255.0
R1(config-if)# no shutdown
R1(config)# ip dhcp excluded-address 192.168.1.100
R1(config)# ip dhcp excluded-address 192.168.1.50
R1(config)# ip dhcp excluded-address 192.168.1.51
R1(config)# ip dhcp pool NOA
R1(dhcp-config)# network 192.168.1.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.1.100
R1(dhcp-config)# dns-server 192.168.1.50
R1(config)# ip dhcp excluded-address 192.168.2.100
R1(config)# ip dhcp pool NOA_VLAN20
R1(dhcp-config)# default-router 192.168.2.100
R1(dhcp-config)# dns-server 192.168.1.50
R1(dhcp-config)# network 192.168.2.0 255.255.255.0
VLAN 10
VLAN 20
R1
SW1
SW20
F0/0
Serveur DHCP
F0/0
F1/0
192.168.1.0/24
.51
.50
SW10
Serveur DNS
.100 .100
192.168.2.0/24
SW1(config)# int Vlan 20
SW1(config-if)# ip helper-address 192.168.2.100
SW1(config)# int Vlan 10
SW1(config-if)# ip helper-address 192.168.1.100
SW1(config)# int FastEthernet1/0
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 20
SW1(config)# int FastEthernet0/0
SW1(config-if)# switchport mode access
SW1(config-if)# switchport access vlan 10
18. Thomas Moegli
๏ Les options permettent d’étendre la configuration automatique pour clients.
๏ Requis pour certains équipements réseaux particuliers
๏ Quelques exemples :
๏ Option 49 : Permet d’indiquer à un point d’accès Wifi l’adresse IP du contrôleur WLC
๏ Option 69 : Permet d’indiquer au client le serveur SMTP à utiliser
๏ Option 70 : Permet d’indiquer au client le serveur POP3 à utiliser
๏ Option 150 : Permet d’indiquer un serveur TFTP. Nécessaire pour la mise en oeuvre d’un téléphone IP (utilise le serveur TFTP
pour télécharger son image de configuration)
๏ Commande :
Protocole DHCP
Options DHCP
18
R1(config)# ip dhcp pool TELEPHONES
R1(dhcp-config)# option 150 10.10.0.1
19. Thomas Moegli
๏ Sert à relayer les requêtes DHCP d’hôtes qui ne sont pas
placés sur le même LAN que le serveur switch
Protocole DHCP
Vérification
19
Commande Résultat et utilité
show ip dhcp binding Affiche les informations sur chaque adresse IP actuellement attribué à un client
show ip dhcp pool [poolname] Affiche les détails d’un pool particulier (plage IP définie, statistiques, …)
show ip dhcp server statistics Affiche les statistiques du serveur DHCP
show ip dhcp conflict
Si une personne configure de manière statique une adresse IP faisant partie
d’un pool et que cette adresse est ensuite allouée à un autre client, cette
commande indique la présence d’une adresse dupliquée
20. Thomas Moegli
๏ Sous IPv6, une nouvelle méthode a été introduite pour l’assignation d’adresses IPv6 :
Stateless Address Autoconfiguration (SLAAC)
๏ DHCP peut également être utilisé comme méthode ➔ Serveur DHCPv6
๏ Utilisation du protocole ICMPv6
๏ Nouveaux messages dans ICMPv6 permettant la mise en oeuvre de SLAAC
๏ N’implique pas la mise en service d’un serveur DHCPv6
Adressage dynamique
Adressage dynamique sous IPv6
20
21. Thomas Moegli
๏ Le message ICMPv6 Router Advertisement (RA) envoyé depuis le routeur propose aux périphériques IPv6 de le
contacter pour recevoir une configuration IPv6.
๏ Message envoyé périodiquement par le routeur IPv6
๏ … ou lorsque le routeur reçoit un message Router Solicitation envoyé par un client qui désire
Protocole DHCP
ICMPv6 : Message Router Advertisement
21
Serveur
DHCPv6
ICMPv6 Router Advertisement
Serveur
DHCPv6
A tous les routeurs IPv6, j’ai
besoin d’une configuration
IPv6
Voici une configuration IPv6
possible
ICMPv6 Router Advertisement
ICMPv6 Router Solicitation
Je ne suis finalement pas
utile !
22. Thomas Moegli
๏ Message Router Advertisement (RA)
๏ Les messages RA sont envoyés par le routeur IPv6
๏ Sur les routeurs Cisco, l’activation des envois se fait par la commande
๏ La commande active le transfert des paquets IPv6 (Forwarding)
๏ La commande active également le routage dynamique IPv6
๏ Les routeurs peuvent être configurés avec une adresse IPv6 sans forcément effectuer du routage
๏ Si la commande unicast- routing n’est pas configurée, les routes statiques IPv6 peuvent être configurés mais le routeur
ne transfère que les paquets générés localement, il ne transmet pas les paquets qui transitent pas lui
Adressage SLAAC
ICMPv6 : Message Router Advertisement
22
Router(config)# ipv6 unicast-routing
ipv6 unicast-routing
23. Thomas Moegli
Adressage SLAAC
ICMPv6 : Message Router Advertisement
23
Serveur
DHCPv6
Router(config)# ipv6 unicast-routing
ICMPv6
RA
Option 1 : SLAAC - sans DHCPv6 (par défaut sur les routeurs
Cisco)
Le routeur envoie le préfixe, la longueur du préfixe et la
passerelle par défaut
Option 2 : SLAAC + Stateless DHCPv6 for DNS address
Le routeur envoie certaines informations mais pour obtenir
les autres comme les adresses DNS, le client devrait
s’adresser au serveur DHCPv6 (toutefois, les informations
DNS peuvent être incluses dans le message RA)
Option 3 : DHCPv6
Toutes ou une partie des informations sont apprises par le
serveur DHCP (dépend de la valeur de l’option du message)
Option 1 et 2 : Stateless Address Autoconfiguration
Le serveur DHCPv6 ne maintient pas l’état des adresses
Option 3 : Stateful Address Configuration
Les adresses sont reçues du serveur DHCPv6
24. Thomas Moegli
Options du message RA
L’option proposée par le message RA dépend de plusieurs flags
๏ Flag « O » (Other Configuration Flag) :
๏ Par défaut, ce flag a pour valeur 0
๏ Si le flag est configuré à la valeur 1, cela indique que le client peut utiliser certaines informations du routeur mais que les
autres informations doivent être récupérées sur un serveur DHCPv6.
๏ Flag « M » (Managed Configuration Flag)
๏ Par défaut, ce flag a pour valeur 0
๏ Si le flag est configuré à la valeur 1, le client doit récupérer toutes les informations d’un serveur DHCPv6, sauf l’adresse de
passerelle par défaut
Adressage SLAAC
ICMPv6 : Message Router Advertisement
24
Serveur
DHCPv6
25. Thomas Moegli
Adressage SLAAC
ICMPv6 : Message Router Advertisement
25
Serveur
DHCPv6
Option
Other Configuration
« O » Flag
Managed Configuration
« M » Flag
Option 1 : SLAAC - Sans DHCPv6
(par défaut sur les routeurs Cisco) 0 0
Option 2 : SLAAC - Avec DHCPv6 pour l’adresse DNS 1 0
Option 3 : DHCPv6 uniquement (seul l’adresse IPv6 du routeur est utilisé comme
passerelle par défaut) 0 1
26. Thomas Moegli
๏ SLAAC (Stateless Address Autoconfiguration)
๏ Autorise un périphérique à créer sa propre adresse IPv6 GUA sans les services d’un serveur DHCPv6.
๏ Le client récupère le préfixe depuis le message RA émis du routeur
๏ Pour la partie Interface ID :
๏ Elle peut être générée avec EUI-64
๏ Elle peut être générée avec une valeur aléatoire de 64 bits
๏ SLAAC ne nécessite pas de serveur DHCPv6
Adressage SLAAC
26
ICMPv6 Router Advertisement
Préfixe et autres informations
Router(config)# ipv6 unicast-routing
2001:DB8:CAFE:1::/64
Je connais le préfixe depuis
le message RA.
Je dois juste configurer la
partie Interface ID.
27. Thomas Moegli
๏ Les messages ICMPv6 RA suggèrent à l’hôte comment recevoir l’adresse automatiquement
๏ L’hôte peut toutefois décider d’ignorer les messages RA
๏ Cette option doit être configurée sur le périphérique.
๏ Elle est disponible sur la plupart des systèmes d’exploitation
๏ Toutefois, les hôtes ne peuvent ignorer l’adresse de la passerelle (adresse source du message RA) excepté si l’adresse de
passerelle est configurée manuellement.
Adressage SLAAC
Ignorer le message RA
27
ICMPv6 Router Advertisement
Préfixe et autres informations
2001:DB8:CAFE:1::/64
28. Thomas Moegli
Adressage SLAAC
Contenu d’un message RA
28
RA
SLAAC Option 1 - Message RA
De : FF02::1 (All-IPv6 Devices)
A : FE80::1 (Adresse link-local)
Préfixe : 2001:DB8:CAFE1::
Longueur préfixe : /64
2001:DB8:CAFE:1::/64
Adresse MAC :
00-19-D2-8C-E0-4C
Préfixe : 2001:DB8:CAFE1::
Longueur préfixe : /64
GW : FE80::1
Global Unicast Address :
2001:DB8:CAFE:1: + Interface ID
Processus EUI-64 ou valeur
aléatoire sur 64 bits
1
2
Note : Le nom de domaine DNS et
la liste des serveurs DNS peuvent
faire partie du message RA si le
routeur et le destinataire
supportent la RFC 6106 (IPv6 RA
Options for DNS Configuration)
Serveur
DHCPv6
29. Thomas Moegli
2 méthodes :
๏ Processus EUI-64
๏ Utilise l’adresse MAC de l’interface
๏ Nombre généré aléatoirement (Privacy Extension)
๏ Plus de sécurité car l’adresse MAC n’est pas utilisé
๏ Note : Pour tout système, la même méthode est utilisée pour configurer une adresse GUA et une adresse Link-local.
Adressage SLAAC
Configuration de la partie Interface ID
29
Système d’exploitation EUI-64 64 bits aléatoires
Windows XP, Server 2003 ✔
Windows Vista et ultérieur ✔
Mac OS X ✔
Linux ✔
30. Thomas Moegli
0300 E96B D4 80
0300 E96B D4 80FF FE
MAC (24 bits)OUI (24 bits)
03
0000
0010
E96B D4 80FF FE
Bit U/L
0302 E96B D4 80FF FE
Format EUI-64 (Extended Unique Identifier)
๏ Adresse MAC (48 bits) :
๏ Partie OUI, identifiant du constructeur (24 bits)
๏ Partie MAC, identifiant de l’interface (24 bits)
๏ Entre ces deux parties, on place les caractères hexadécimaux
FF-FE (64 bits)
๏ Pourquoi FF-FE ? Selon l’IEEE, il s’agit d’une valeur réservée que
les fabricants d’équipement ne peuvent ajouter dans une
adresse MAC
๏ Le bit U/L est le 3ème
bit du deuxième hexset (7ème
bit)
๏ Ce bit est placé à 0 s’il s’agit d’une adresse globale assignée par
l’IEEE (Universal)
๏ Ce bit est placé à 1 s’il s’agit d’une adresse crée localement
(par ex. adresse pour une interface virtuelle ou adresse MAC
configurée manuellement par l’administrateur)
Adressage SLAAC
SLAAC : Interface ID avec EUI-64
30
31. Thomas Moegli
๏ SLAAC étant stateless, aucune entité (pas de serveur DHCPv6) ne permet de vérifier si une adresse IPv6 configurée
existe déjà dans le segment réseau
๏ Comment garantir que l’adresse est unique ?
๏ Solution : DAD (Duplicate Address Detection)
Adressage SLAAC
SLAAC : Vérification d’une adresse IPv6 dupliquée
31
32. Thomas Moegli
๏ ICMPv6 propose un message appelé Neighbor Solicitation fonctionnant de manière similaire au protocole ARP de IPv4,
à savoir la résolution d’une adresse IPv6 avec une adresse MAC
๏ DAD utilise ce message pour détecter si une adresse configurée existe déjà dans le réseau
๏ Etapes
๏ Envoi d’un message Neighbor Solicitation
๏ Envoi d’un message multicast (F02::01 : All-Nodes) avec pour adresse source l’adresse configurée
๏ Attente éventuelle d’une réponse (utilisation d’un timer)
๏ Si réponse : Présence d’un poste possédant déjà l’adresse
๏ Si aucune réponse : Adresse probablement unique et affectation autorisée
Adressage SLAAC
SLAAC : DAD
32
ICMPv6
Neighbor Solicitation
ICMPv6
Neighbor Advertisement
Si non reçu ➔ Adresse unique
Si réponse ➔ Adresse dupliquée
33. Thomas Moegli
Etapes
1. Construction de l’adresse Link-local
2. Test si l’adresse link-local est unique
3. Recherche d’un routeur IPv6
4. Annonce d’un routeur IPv6 contenant le préfixe du réseau
5. Test si l’adresse GUA choisie est unique
Adressage SLAAC
SLAAC : Résumé
33
Adresse MAC :
00-19-D2-8C-E0-4C
2001:DB8:CAFE:1::1/64
Création de l’adresse Link-local
FE80::219:D2FF:FE8C:E04C/64
IPv6 Src = ::
IPv6 Dst = FF02::1:FF8C:E04C
ICMPv6 Neighbor Solicitation
IPv6 Src = FE80::219:D2FF:FE8C:E04C
IPv6 Dst = FF02::2
ICMPv6 Router Solicitation
Aucune réponse reçue
IPv6 Src = FE80::202:7EFF:FE14:1
IPv6 Dst = FF02::1
ICMPv6 Router Advertisement
IPv6 Src = ::
IPv6 Dst = FF02::1:FF8C:E04C
ICMPv6 Neighbor Solicitation
1
2
3
4
5
34. Thomas Moegli
Router(config)# ipv6 unicast-routing
Router
2001:DB8:CAFE:1::1/64
FE80::1/64
All-IPv6 Devices (FF02::1)
Router IPv6
2001:DB8:CAFE:1::1/64
FE80::1/64
All-IPv6 Devices (FF02::1)
All-IPv6 Routers (FF02::2)
ICMPv6
Neighbor Solicitation
Protocoles de routage
RIPng, OSPFv3,
EIGRP for IPv6
Forward IPv6 packets
๏ Routeur (sans activation de routage IPv6) :
๏ Peut être configuré avec une adresse IPv6
๏ Fait partie du groupe multicast All-IPv6
๏ Routeur avec activation Routage IPv6 :
๏ Similaire à un routeur sans routage IPv6
๏ Membre du groupe multicast All-IPv6 Routers
๏ Envoie périodiquement des messages ICMPv6 Router Advertisement
๏ Permet d’activer les protocoles de routage IPv6
๏ Transfère les paquets IPv6 transitant (Forwarding)
Configuration SLAAC
Routeurs vs Routeurs IPv6
34
35. Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/1
2001:DB8:CAFE:1/64
::1
FE80::1
Configuration SLAAC
35
R1(config)# interface GigabitEthernet 0/1
R1(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64
R1(config-if)# ipv6 address FE80::1 link-local
R1(config-if)# no shutdown
R1(config)# ipv6 unicast-routing
ICMPv6
Router Advertisement
R2(config)# interface GigabitEthernet 0/1
! Crée une adresse link-local
R2(config-if)# ipv6 enable
! Utilise SLAAC comme méthode pour l’adressage
R2(config-if)# ipv6 address autoconfig default
R2(config-if)# no shutdown
36. Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/1
2001:DB8:CAFE:1/64
::1
FE80::1
Configuration SLAAC
Vérification
36
R1# show ipv6 interface GigabitEthernet 0/1
GigabitEthernet0/1 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::1
Global unicast address(es) :
2001:DB8:CAFE:1::1, subnet is 2001:DB8:CAFE:1:/64
Joined group address(es) :
FF02::1
FF02::2
FF02::FB
FF02::1:FF00:1
ND router advertisement are sent every 200 seconds
Hosts use stateless autoconfig for addresses.
ICMPv6
Router Advertisement
Indique que les bits O et M sont à 0
37. Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/1
2001:DB8:CAFE:1/64
::1
FE80::1
Configuration SLAAC
Vérification
37
R2# show ipv6 interface brief
GigabitEthernet0/1 [up/up]
FE80::8A5A:92FF:FE3B:29E1
2001:DB8:CAFE:1:8A5A:92FF:FE3B:29E1
…
ICMPv6
Router Advertisement
R2# show ipv6 interface GigabitEthernet0/1
GigabitEthernet0/1 is up, line protocol is up
Hardware is CN Gigabit Ethernet, address is 885a.923b.29e1 (bia 885a.923b.29e1)
…
EUI-64
38. Thomas Moegli
๏ DHCPv6 est décrit dans la RFC 3736
๏ Permet plus de contrôle que via SLAAC
๏ Peut être utilisé également pour l’enregistrement automatique des noms de domaine d’hôte via DDNS
๏ DHCPv6 opère comme sur IPv4 avec 3 exceptions :
๏ Le client détecte en premier la présence de routeurs sur le lien via des messages Neighbor Sollicitation
๏ Si détecté, le client examine les Router Advertisements pour déterminer si DHCP peut être utilisé
๏ Si aucun routeur n’est détecté ou si le message RA indique que DHCP peut être utilisé, le client envoie un message DHCP
SOLICIT
๏ Le message DHCP SOLICIT est envoyée à l’adresse multicast All-DHCP-Agents (FF02::1:2)
Protocole DHCPv6
Caractéristiques
38
39. Thomas Moegli
๏ Négociation en 3 étapes, similaire à DHCPv4
๏ Le client envoie un message multicast SOLICIT
๏ Le serveur répond par un message unicast ADVERTISE
๏ Le client choisit une adresse IPv6 via un message REQUEST
๏ Le serveur finalise l’échange avec un message CONFIRM
๏ DHCPv6 permet également une négociation en deux étapes
๏ Seuls les messages SOLICIT et REPLY sont utilisés
๏ Le client et le serveur doivent être configurés pour utiliser le
mode Rapid-commit
Protocole DHCPv6
Opérations DHCPv6
39
Client Serveur
SOLICIT
ADVERTISE
REQUEST
CONFIRM
40. Thomas Moegli
๏ Création du pool DHCPv6 :
๏ Activation du pool DHCPv6 sur une interface :
Protocole DHCPv6
Configuration DHCPv6
40
R1(config)# ipv6 dhcp pool DHCPV6POOL20
R1(config-dhcpv6)# address prefix 2001:DB8:CAFE:1::/64
R1(config-dhcpv6)# dns-server 2001:DB8:CAFE:1::10
R1(config-dhcpv6)# domain-name cisco.com
R1(config)# interface GigabitEthernet1/0
R1(config-if)# ipv6 address 2001:DB8:CAFE:1::1/64
R1(config-if)# ipv6 dhcp server DHCPV6POOL20
R1(config-if)# no shutdown
Gi 1/0
2001:DB8:CAFE:1::/64
Serveur DNS
:10
:1
cisco.com
41. Thomas Moegli
๏ Afficher les pools DHCPv6 configurés :
๏ Afficher les assignations d’adresses IPv6 :
Protocole DHCPv6
Vérification DHCPv6
41
R1# show ipv6 dhcp pool
DHCPv6 pool: DHCPV6POOL20
Address allocation prefix: 2001:DB8:CAFE:1::/64 valid 172800 preferred 86400 (1 in use, 0 conflicts)
DNS server: 2001:DB8:CAFE:1::10
Domain name: cisco.com
Active clients: 1
DHCPv6 pool: DHCPv6POOL30
DNS server: 2001:DB8:C1::53
Domain name: cisco.com
Active clients: 0
R1# show ipv6 dhcp binding
Client: FE80::A8BB:CCFF:FE00:9F00
DUID: 00030001AABBCC009F00
IA NA: IA ID 0x00020001, T1 43200, T2 69120
Address: 2001:DB8:14:0:75B1:AF8F:97BB:DE0D
preferred lifetime 86400, valid lifetime 172800
expires at Oct 11 2013 04:21 AM (172282 seconds)
42. Thomas Moegli
๏ Configuration d’un agent relai DHCPv6 sur une interface :
Protocole DHCPv6
DHCPv6 : Agent Relay
42
2001:DB8:CAFE:1::/64
Serveur DHCP
:10
2001:DB8:CAFE:2::/64
Gi2/0Gi1/0
R1
R1(config)# interface GigabitEthernet1/0
R1(config-if)# ipv6 dhcp relay destination 2001:DB8:CAFE:2::10
44. Thomas Moegli
๏ Protocole propriétaire Cisco
๏ Collecter des informations sur les périphériques voisins directement connectés
Cisco Discovery Protocol
44
45. Thomas Moegli
๏ Commande show cdp donne les informations de deux paramètres CDP globaux
๏ CDP Timer : Délimite combien de paquets CDP sont transmis sur les interfaces actives
๏ CDP Holdtime : Délimite le temps nécessaire qu’un périphérique conserve en mémoire les paquets reçus par ses voisins
Cisco Discovery Protocol
CDP Timers et Holdtime
45
SW-1# show cdp
Global CDP information:
Sending CDP packets every 60 seconds
Sending a holdtime value of 180 seconds
Sending CDPv2 advertisements is enabled
46. Thomas Moegli
๏ Configurer les timers via la commande de configuration globale cdp
Cisco Discovery Protocol
CDP Timers et Holdtime
46
SW-1(config)# cdp ?
advertise-v2CDP sends version-2 advertisements
holdtime Specify the holdtime (in sec) to be sent in packets
run Enable CDP
timer Specify the rate at which CDP packets are sent (in sec)
tiv Enable exchange of sepcific tlv information
SW-1(config)# cdp holdtime ?
<10-255> Length of time (in sec) that receiver must keep this packet
SW-1(config)# cdp timer ?
<5-255> Rate at which CDP packets are sent (in sec)
๏ Désactiver le protocole CDP
SW-1(config)# no cdp run
47. Thomas Moegli
๏ Commande show cdp neighbor
๏ Rappel : CDP n’affiche que les informations des périphériques directement connectés
๏ Depuis un routeur, CDP permet de voir les informations sur un switch connecté mais pas les PC reliés au switch
Cisco Discovery Protocol
Obtenir les informations sur les voisins
47
SW-3# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
SW-1 Fas 0/1 162 S 2960 Fas 0/15
SW-1 Fas 0/2 162 S 2960 Fas 0/16
SW-2 Fas 0/6 146 S 2960 Fas 0/6
SW-2 Fas 0/5 146 S 2960 Fas 0/5
Fa0/5
Fa0/6
Fa0/5
Fa0/6
Fa0/15
Fa0/16
Fa0/1
Fa0/2
Fa0/18
SW-2
10.100.128.9
Fa0/17
Fa0/2
Fa0/1
SW-3
SW-1
10.100.128.8
10.100.128.10
48. Thomas Moegli
Cisco Discovery Protocol
Obtenir les informations sur les voisins
48
Timer Description
Device ID Hostname du périphérique directement connecté
Local Interface Port/Interface sur lequel le périphérique est connecté
Holdtime
Durée restante de validité des informations. Si ce délai atteint 0, les informations seront effacées car
considérées comme non valides. Chaque réception d’un CDP réinitialise la valeur
Capability
Fonction opérationnelle (Router, Switch, Repeater). Les fonctions disponibles sont listées en début de
commande
Platform Type de modèle de périphérique Cisco (Catalyst Series 2960)
Port ID Identifiant du Port/Interface du périphérique distant connecté à notre périphérique.
SW-3# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
SW-1 Fas 0/1 162 S 2960 Fas 0/15
SW-1 Fas 0/2 162 S 2960 Fas 0/16
SW-2 Fas 0/6 146 S 2960 Fas 0/6
SW-2 Fas 0/5 146 S 2960 Fas 0/5
49. Thomas Moegli
๏ show cdp neighbors detail
Obtenir les informations détaillées de tous les
périphériques connectées
๏ show cdp entry hostname
Obtenir les informations d’un périphérique
particulier
Cisco Discovery Protocol
Obtenir les informations sur les voisins
49
SW-3# show cdp neighbors detail
Device ID: SW-2
Entry address(es):
Platform: cisco 2960, Capabilities: Switch
Interface: FastEthernet0/5, Port ID (outgoing port): FastEthernet0/5
Holdtime: 163
Version :
Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(25)FX, ...
Copyright (c) 1986-2005 by Cisco Systems, Inc.
Compiled Wed 12-Oct-05 22:05 by pt_team
advertisement version: 2
Duplex: full
---------------------------
…
Device ID: SW-1
Entry address(es):
Platform: cisco 2960, Capabilities: Switch
Interface: FastEthernet0/2, Port ID (outgoing port): FastEthernet0/16
Holdtime: 163
…
50. Thomas Moegli
Cisco Discovery Protocol
Obtenir les informations sur les voisins
50
Router# show cdp interface
Vlan1 is administratively down, line protocol is down
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
FastEthernet0/0 is up, line protocol is up
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
FastEthernet0/1 is up, line protocol is up
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
Serial0/3/0 is up, line protocol is up
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
Serial0/3/1 is up, line protocol is up
Sending CDP packets every 60 seconds
Holdtime is 180 seconds
51. Thomas Moegli
๏ Outils
๏ show running-config
๏ show cdp neighbors
๏ show cdp entry
๏ Telnet
๏ Exemple :
๏ Connexion en console à un routeur
Documenter une topologie réseau
51
52. Thomas Moegli
Documenter une topologie réseau
show running-config
52
HQ# show running-config
…
hostname HQ
…
interface FastEthernet0/0
ip address 192.168.21.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.18.1 255.255.255.0
duplex auto
speed auto
!
interface Serial0/3/0
ip address 192.168.40.1 255.255.255.0
clock rate 64000
!
interface Serial0/3/1
ip address 192.168.60.1 255.255.255.0
!
…
Fa0/0
.1
Fa0/1
.1
S0/3/0
.1
S0/3/1
.1
192.168.40.0/24
192.168.60.0/24
192.168.18.0/24
192.168.21.0/24
HQ
Rtr_Lausanne
Rtr_Geneve
Rtr_Locarno
Rtr_Bern
53. Thomas Moegli
Documenter une topologie réseau
show cdp neighbors
53
HQ# show cdp neighbors
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
Rtr_Bern Ser 0/3/1 138 R C2600 Ser 0/1
Rtr_Locarno Ser 0/3/0 177 R C2600 Ser 0/0
Rtr_Geneve Fas 0/1 161 R C2600 Fas 0/0
Rtr_Lausanne Fas 0/0 171 R C2600 Fas 0/0
Fa0/0
.1
Fa0/1
.1
S0/3/0
.1
S0/3/1
.1
192.168.40.0/24
192.168.60.0/24
192.168.18.0/24
192.168.21.0/24
HQ
Rtr_Lausanne
Rtr_Geneve
Rtr_Locarno
Rtr_Bern
Fa0/0
Fa0/1
S0/3/0
S0/3/1
54. Thomas Moegli
Documenter une topologie réseau
show cdp entry
54
HQ# show cdp entry Rtr_Lausanne
Device ID: Rtr_Lausanne
Entry address(es):
IP address : 192.168.21.2
Platform: cisco C2600, Capabilities: Router
Interface: FastEthernet0/0, Port ID (outgoing port): FastEthernet0/0
…
HQ# show cdp entry Rtr_Bern
Device ID: Rtr_Bern
Entry address(es):
IP address : 192.168.40.2
Platform: cisco C2600, Capabilities: Router
Interface: Serial0/3/0, Port ID (outgoing port): Serial0/0
…
HQ# show cdp entry Rtr_Geneve
Device ID: Rtr_Geneve
Entry address(es):
IP address : 192.168.18.2
Platform: cisco C2600, Capabilities: Router
Interface: FastEthernet0/1, Port ID (outgoing port): FastEthernet0/0
…
HQ# show cdp entry Rtr_Locarno
Device ID: Rtr_Locarno
Entry address(es):
IP address : 192.168.60.2
Platform: cisco C2600, Capabilities: Router
Interface: Serial0/3/1, Port ID (outgoing port): Serial0/1
…
57. Thomas Moegli
๏ NTP est un protocole couramment utilisé pour synchroniser
les horloges des routers et périphériques réseaux
๏ NTP est défini dans la RFC 5905 (NTPv4 : Protocol and
Algorithms Specification)
๏ Les périphériques réseau peuvent synchroniser leurs
horloges avec une source centrale
๏ Nécessaire au bon fonctionnement des procédures
d’authentification
Network Time Protocol (NTP)
57
1
2
3
58. Thomas Moegli
๏ Les périphériques ont besoin d’une synchronisation du temps
๏ Nécessaire pour la mise en place et l’analyse de logs
๏ Nécessaire pour l’authentification avec une infrastructure PKI
๏ La configuration de l’horloge du système peut se faire :
๏ via le protocole NTP (Network Time Protocol)
๏ via le protocole SNTP (Simple Network Time Protocol)
๏ via une configuration manuelle
Nécessité d’un horloge synchronisée
58
59. Thomas Moegli
๏ Afficher l’horloge interne :
๏ Configurer manuellement l’horloge interne (en mode privilégié) :
๏ Vérifier la modification :
Configuration manuelle de l’horloge interne
59
Switch# show clock
10:10:03.979 UTC Thu Feb 22 2001
Switch# clock set 12:13:00 10 January 2016
Switch# show clock detail
12:13:03.487 UTC Fri Jan 10 2014
Time source is user configuration
60. Thomas Moegli
๏ Pour modifier le fuseau horaire :
๏ Vérifier les changements :
Configuration manuelle de l’horloge interne
60
Switch(config)# clock timezone EDT -5
Switch(config)# clock summer-time EDT recurring
Switch# show clock detail
07:44:12.370 EDT Fri Jan 10 2014
Time source is user configuration
Summer time starts 02:00:00 EDT Sun Mar 9 2014
Summer time ends 02:00:00 EDT Sun Nov 2 2014
61. Thomas Moegli
๏ Les périphériques principaux obtiennent leur temps d’une source de temps d’autorité, comme une horloge atomique
(Serveur NTP public)
๏ NTP distribue ensuite cette source de temps sur le réseau
๏ NTP est transporté via le port UDP 123
Network Time Protocol (NTP)
61
Serveur NTP
Reçoit référence horloge externe
Equipement réseau
Equipement terminal
Equipement terminal
Temps
Temps
Temps
62. Thomas Moegli
๏ NTP utilise le concept de stratum pour décrire
la distance entre un périphérique réseau et la
source de temps
๏ Un serveur de temps de stratum 1 est
directement connecté à une source de temps
(horloge atomique ou source de temps GPS)
๏ Un serveur de temps de stratum 2 reçoit sa
source depuis un serveur de temps stratum 1
Network Time Protocol (NTP)
NTP Stratum
62
Stratum 1
Stratum 2
Stratum 3
Time Source
63. Thomas Moegli
NTP peut opérer selon 4 modes :
๏ Server : Distribue les informations de temps aux clients
๏ Client : Synchronise ses informations d’horloge avec un serveur. Configuré principalement sur les équipements
terminaux
๏ Peer : Deux équipements voisins NTP peuvent s’échanger les informations de synchronisation. Cela permet à un
équipement ayant perdu la liaison avec le serveur de garder ses informations synchronisées en passant par un voisin.
๏ Broadcast/Muticast : Mode spécial d’un serveur NTP qui effectue une opération de « Push » pour distribuer les
informations de temps. A n’utiliser uniquement lorsque la synchronisation n’est pas critique.
Network Time Protocol (NTP)
Modes NTP
63
64. Thomas Moegli
Network Time Protocol (NTP)
Configuration NTP
64
R1
Fa0/1
Internet
Serveur NTP
ch.ntp.pool.org
64.99.80.30
Fa1/0
Fa1/0
Fa1/1
Fa1/1
Fa2/0Fa2/0SW1 SW2
Se synchronise avec un
serveur NTP externe
Se synchronise avec R1
Pair avec SW2
Se synchronise avec R1
Pair avec SW1
65. Thomas Moegli
๏ Configurer R1 pour se synchroniser avec une source externe :
Network Time Protocol (NTP)
Configuration NTP : Server
65
R1(config)# ntp server 64.99.80.30
R1(config)# show ntp status
Clock is synchronised, stratum 2, reference is 64.99.80.30
nominal freq is 250.0000 Hz, actual freq is 250.0007 Hz, precision is 2**24
reference time is CD94CFEB.901B3679 (01:17:15.562 Athens Sun Apr 19 2009)
clock offset is -0.0592 msec, root delay is 0.09 msec
root dispersion is 0.12 msec, peer dispersion is 0.00 msec
loopfilter state is 'CTRL' (Normal Controlled Loop), drift is -0.000003099 s/s
system poll interval is 64, last update was 476 sec ago.
R1
Fa0/1
Internet
Serveur NTP
ch.ntp.pool.org
64.99.80.30
Fa1/0
Fa1/0
Fa1/1
Fa1/1
Fa2/0Fa2/0SW1 SW2
Se synchronise avec un
serveur NTP externe
Se synchronise avec R1
Pair avec SW2
Se synchronise avec R1
Pair avec SW1
๏ Vérifier la synchronisation :
66. Thomas Moegli
๏ Configuration de SW1 pour se synchroniser avec R1 :
SW1(config)# ntp server 10.0.0.1
SW1(config)# clock timezone EDT -5
SW1(config)# clock summer-time EDT recurring
Network Time Protocol (NTP)
Configuration NTP : Client
66
R1
Fa0/1
Internet
Serveur NTP
ch.ntp.pool.org
64.99.80.30
Fa1/0
Fa1/0
Fa1/1
Fa1/1
Fa2/0Fa2/0SW1 SW2
Se synchronise avec un
serveur NTP externe
Se synchronise avec R1
Pair avec SW2
Se synchronise avec R1
Pair avec SW1
67. Thomas Moegli
๏ Configuration de SW1 pour être pair avec SW2 et inversement :
Network Time Protocol (NTP)
Configuration NTP : Peer
67
SW1(config)# ntp peer 172.16.0.12
R1
Fa0/1
Internet
Serveur NTP
ch.ntp.pool.org
64.99.80.30
Fa1/0
Fa1/0
Fa1/1
Fa1/1
Fa2/0Fa2/0SW1 SW2
Se synchronise avec un
serveur NTP externe
Se synchronise avec R1
Pair avec SW2
Se synchronise avec R1
Pair avec SW1
SW2(config)# ntp peer 172.16.0.11
68. Thomas Moegli
๏ Les communications NTP et les accès aux serveurs NTP peuvent être authentifiées et filtrées pour n’être autorisées que
par certains équipements.
๏ Etapes
๏ Définir une ou plusieurs clé(s) d’authentification via la commande ntp authentication-key
Chaque numéro spécifie une clé unique
๏ Activer l’authentification NTP via la commande ntp authenticate
๏ Indiquer au périphérique quelles clés sont valides via la commande ntp trusted-key.
L’argument de la commande doit indiquer l’index de la clé définie précédemment
๏ Spécifier le serveur NTP
Network Time Protocol (NTP)
Sécurité NTP
68
69. Thomas Moegli
๏ Sur le serveur NTP :
๏ Définition d’une clé
๏ Sur les clients NTP
๏ Définition de la même clé :
Network Time Protocol (NTP)
Sécurité NTP
69
NTP-Server(config)# ntp authentication-key 1 md5 MyPassword
NTP-Server(config)# ntp authenticate
NTP-Server(config)# ntp trusted-key 1
NTP-Client(config)# ntp authentication-key 1 md5 MyPassword
NTP-Client(config)# ntp authenticate
NTP-Client(config)# ntp trusted-key 1
NTP-Client(config)# ntp server 10.0.1.22 key 1
70. Thomas Moegli
๏ Par défaut, NTP utilise comme source l’adresse physique lors de l’envoi des paquets NTP
๏ Lors de la mise en oeuvre d’authentification ou de listes de contrôle d’accès, il est préférable d’utiliser une interface
spécifique comme interface source pour NTP
๏ Le choix de prendre une interface Loopback est conseillée. L’adresse Loopback ne peut jamais être à l’état Down,
contrairement aux interfaces physiques
๏ Configuration :
Network Time Protocol (NTP)
Adresse source pour NTP
70
NTP-Server(config)# ntp source Loopback 0
71. Thomas Moegli
๏ Actuellement, on utilise les versions NTP v3 et v4
๏ NTPv4 est une extension de NTPv3
๏ NTPv4 support IPv4 et IPv6 et est rétro-compatible avec NTPv3
๏ Différences entre NTPv3 et NTPv4 :
๏ La version 4 introduit le support pour IPv6
๏ NTPv4 introduit également une meilleure sécurité (basé sur la cryptographie par clé publique et certificat X.509)
๏ NTPv3 utilise des messages Broadcast, NTPv4 utilise des messages Multicast
Network Time Protocol (NTP)
Versions NTP
71
72. Thomas Moegli
๏ Nécessite NTPv4
๏ Configuration pour se synchroniser avec une source externe :
๏ Configuration d’un peering avec un autre équipement :
Network Time Protocol (NTP)
Configuration NTP avec IPv6
72
R1(config)# ntp server 2001:DB8:CAFE:1::417A version 4
SW1(config)# ntp server 2001:DB8:CAFE:2::1 version 4
SW1(config)# ntp peer 2001:DB8:CAFE:2::698A version 4
:417A
:1
2001:DB8:CAFE:1::/64
Gi2/0
R1
Serveur NTP
2001:DB8:CAFE:2::/64
Gi1/0
SW1
SW2
:698A
:6980
SW2(config)# ntp server 2001:DB8:CAFE:2::1 version 4
SW2(config)# ntp peer 2001:DB8:CAFE:2::6980 version 4
73. Thomas Moegli
๏ SNTP est un protocole simplifié de NTP
๏ Il n’autorise que la réception d’un temps provenant d’un serveur NTP externe
๏ Il est possible de configurer SNTP pour accepter les paquets de serveurs spécifiques ou de n’importe quelle source NTP
๏ Lorsque plusieurs sources émettent des paquets NTP, le serveur avec le meilleur stratum est sélectionné
๏ Si plusieurs serveurs ont le même stratum, un serveur spécifiquement configuré est préféré à un serveur émettant en
broadcast.
๏ SNTP et NTP ne peuvent coexister sur la même machine puisqu’ils utilisent le même port.
๏ Configuration :
Network Time Protocol (NTP)
Simple NTP
73
Switch(config)# sntp server 209.165.200.187
74. Thomas Moegli
๏ Configuration de l’authentification sous SNTP :
๏ Afficher la synchronisation SNTP :
Network Time Protocol (NTP)
Simple NTP
74
Switch(config)# sntp authenticate
Switch(config)# sntp authenticate-key 1 md5 c1sc0
Switch(config)# sntp trusted-key 1
Switch(config)# sntp server 172.16.22.44
Switch# show sntp
SNTP server Stratum Version Last Received
209.165.200.187 1 4 00:00:00 Synced
76. Thomas Moegli
๏ Défini dans la RFC 1631
๏ Mécanisme permettant la translation d’adresses IP privées en adresses globales routables
๏ Solutions apportées
๏ Multitudes d’hôtes sous adressage privée pour une ou quelques adresses IP publiques
๏ Changement d’adresses en interne. Préférer une translation NAT
๏ Chevauchement (Overlapping) entre réseaux IP (par ex. fusion de deux sites)
๏ Distribution de la charge sur un hôte virtuel qui distribue à plusieurs serveurs (principe de type round-robin)
๏ Sécurité (Masquage de topologie)
Network Address Translation
76
77. Thomas Moegli
๏ Défini par la RFC 1918 comme solution à court terme
๏ Bloc d’adresses réservées pour l’attribution à des périphériques sur le réseau local
๏ Ne peuvent pas être routés sur Internet (uniquement visibles sur le LAN)
Network Address Translation
Adressage privé
77
Type de route Plage d’adresse Préfixe CIDR
A 10.0.0.0 à 10.255.255.255 10.0.0.0 /8
B 172.16.0.0 à 172.31.255.255 172.16.0.0 /12
C 192.168.0.0 à 192.168.255.255 192.168.0.0 /16
78. Thomas Moegli
Network Address Translation
Terminologie
78
Terminologie Description
Inside local address Adresse du périphérique qui sera traduite par NAT (souvent adresse privée)
Inside global address Adresse publique attribuée à l’hôte interne par le routeur NAT
Outside global address Adresse IP publique attribuée à un hôte sur Internet
Outside local address Adresse IP locale attribuée à un hôte du réseau externe
NAT
Internet
209.165.200.226
Réseau
interne
192.168.10.0/24
.10
56.34.12.159
192.168.20.0/24.254 .1.254
Inside local address Inside global address Outside global address Outside local address
79. Thomas Moegli
Static Address Translation (Static NAT)
๏ Mapping d’adresse One-to-One
Dynamic Address Translation (Dynamic NAT)
๏ Mapping d’adresse Many-to-Many
Port Address Translation (PAT) / NAT Overloading
๏ Mapping d’adresse Many-to-One, différenciation au niveau du port TCP
Network Address Translation
Types de NAT
79
80. Thomas Moegli
๏ Utilisation d’un mappage One-To-One
๏ Une adresse privée est associée à une seule adresse publique
๏ Configuration statique par l’administrateur
Network Address Translation
Static Address Translation (NAT Statique)
80
Static NAT Table
.10
.254
.20
.30
LAN
10.1.1.0/24
209.165.200.22610.1.1.10
209.165.200.22710.1.1.20
209.165.200.22810.1.1.30
NAT
209.165.200.1
81. Thomas Moegli
Dynamic NAT Table
.10
.254
.20
.30
LAN
10.1.1.0/24
209.165.200.226
209.165.200.228
NAT
209.165.200.1
.21
.22
.23
209.165.200.227
209.165.200.229
๏ Mappage Many-To-Many
๏ Définition d’un pool d’adresses IP publiques attribuées
๏ Association dynamique d’une adresse IP privée avec une adresse IP publique
๏ Association se fait au moment ou le trafic transite
๏ Association enregistrée dans la table
Network Address Translation
Dynamic Address Translation (NAT Dynamique)
81
82. Thomas Moegli
NAT
LAN
10.1.1.10
10.1.1.20
10.1.1.30
10.1.1.10, Port 1025 209.165.200.1, Port 9001
.254
10.1.1.20, Port 1025 209.165.200.1, Port 9002
10.1.1.30, Port 1026 209.165.200.1, Port 9003
209.165.200.1
Network Address Translation
Port Address Translation (PAT / NAT Overloading)
82
Inside Local Inside Global
10.1.1.10:1025 209.165.200.1:9001
10.1.1.20:1025 209.165.200.1:9002
10.1.1.30:1026 209.165.200.1:9003
83. Thomas Moegli
๏ Problématique avec les paquets contenant des segments différents de TCP et UDP
๏ Ne contiennent par un numéro de port de couche 4
๏ PAT est configuré pour supporter les principaux protocoles connus différents de TCP et UDP
๏ Exemple : OSPF, ICMP, …
๏ ICMP par ex. utilise un Query ID pour chaque requête ou réponse ICMP (echo request, echo reply)
๏ Utilisation du Query ID au lieu du port pour identifier les différentes connexions
๏ Certains protocoles trop spécifiques ne peuvent pas traverser NAT
Network Address Translation
Paquets sans couche 4
83
84. Thomas Moegli
๏ Performances dégradées
Le mécanisme de translation augmente la charge réseau et le temps de transmission, ce qui peut poser problème avec
le trafic média (VoIP, RTP, …)
๏ Certaines applications ou protocoles nécessitent l’adressage exact source ou destination. Des problèmes
d’incompatibilité peuvent apparaître avec NAT
๏ La traçabilité des paquets peut être plus difficile (masquage de topologie et changement d’adresses)
๏ Problème également avec IPsec
๏ L’initiation de connexions TCP depuis le réseau extérieur est difficile, voir impossible
Network Address Translation
Limitations
84
85. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Configurer le mapping entre les deux adresses
ip nat inside source static ip-locale ip-globale
Network Address Translation
Configuration : NAT Statique
85
Static NAT Table
.10
.254
.20
LAN
10.1.1.0/24
209.165.200.226
209.165.200.228
NAT
209.165.200.1
.30
209.165.200.227
10.1.1.10
10.1.1.30
10.1.1.20
Fa0/0 Fa1/0
86. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Configurer le mapping entre les deux adresses
ip nat inside source static ip-locale ip-globale
Network Address Translation
Configuration : NAT Statique
86
Static NAT Table
.10
.254
.20
LAN
10.1.1.0/24
209.165.200.226
209.165.200.228
NAT
209.165.200.1
.30
209.165.200.227
10.1.1.10
10.1.1.30
10.1.1.20
Fa0/0 Fa1/0
NAT(config)# int Fa0/0
NAT(config-if)# ip add 10.1.1.254 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat inside
NAT(config)# int Fa1/0
NAT(config-if)# ip add 209.165.200.1 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat outside
NAT(config)# ip nat inside source static 10.1.1.10 209.165.200.226
NAT(config)# ip nat inside source static 10.1.1.20 209.165.200.227
NAT(config)# ip nat inside source static 10.1.1.30 209.165.200.228
Définition interface Inside NAT
Définition interface Outside NAT
Mapping des adresses
87. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Définition d’un pool d’adresses utilisées par NAT pour chaque translation
ip nat pool nom_Pool ip-debut ip-fin
๏ Restreindre et spécifier le ou les réseaux qui seront translatés par NAT
ip access-list extended nom_ACL
๏ Lier l’ACL au pool d’adresses via la commande
ip nat inside source list nom_ACL pool nom_Pool
Network Address Translation
Configuration : NAT Statique
87
Dynamic NAT Table
.10
.254
.20
LAN
10.1.1.0/24
209.165.200.226
209.165.200.228
NAT
209.165.200.1
.30
209.165.200.227
Fa0/0 Fa1/0
88. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Configurer le mapping entre les deux adresses
ip nat inside source static ip-locale ip-globale
Network Address Translation
Configuration : NAT Dynamique
88
NAT(config)# int Fa0/0
NAT(config-if)# ip add 10.1.1.254 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat inside
NAT(config)# int Fa1/0
NAT(config-if)# ip add 209.165.200.1 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat outside
NAT(config)# ip nat pool MONPOOL 209.165.200.226 209.165.200.228
NAT(config)# ip access-list extended ACL_NAT
NAT(config-ext-nacl)# permit ip 10.1.1.0 0.0.0.255 any
NAT(config)# ip nat inside source list ACL_NAT pool MONPOOL
Définition interface Inside NAT
Définition interface Outside NAT
Limiter NAT au réseau LAN
Création du pool d’adresses
Liaison NAT et ACL
Dynamic NAT Table
.10
.254
.20
LAN
10.1.1.0/24
209.165.200.226
209.165.200.228
NAT
209.165.200.1
.30
209.165.200.227
Fa0/0 Fa1/0
89. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Restreindre et spécifier le ou les réseaux qui seront translatés par NAT
ip access-list extended nom_ACL
๏ Lier l’ACL à l’interface Outside via cette commande. Spécifier le mot-clé overload pour effectuer du PAT
ip nat inside source list nom_ACL interface nom_interface overload
๏ (Autre possibilité) Lier l’ACL à un pool définie (identique à NAT Dynamique) via la commande.
Spécifier le mot-clé overload pour effectuer du PAT
ip nat inside source list nom_ACL pool nom_pool overload
Network Address Translation
Configuration : PAT / NAT Overload
89
.10
.254
.20
LAN
10.1.1.0/24
NAT
209.165.200.1
.30
Fa0/0 Fa1/0
90. Thomas Moegli
.10
.254
.20
LAN
10.1.1.0/24
NAT
209.165.200.1
.30
Fa0/0 Fa1/0
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Configurer le mapping entre les deux adresses
ip nat inside source static ip-locale ip-globale
Network Address Translation
Configuration : PAT / NAT Overload
90
NAT(config)# int Fa0/0
NAT(config-if)# ip add 10.1.1.254 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat inside
NAT(config)# int Fa1/0
NAT(config-if)# ip add 209.165.200.1 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat outside
NAT(config)# ip access-list extended ACL_NAT
NAT(config-ext-nacl)# permit ip 10.1.1.0 0.0.0.255 any
NAT(config)# ip nat inside source list ACL_NAT interface Fa1/0 overload
Définition interface Inside NAT
Définition interface Outside NAT
Limiter NAT au réseau LAN
Activer NAT Overload sur interface
91. Thomas Moegli
Network Address Translation
Vérification et Troubleshooting
91
Commande Résultat et utilité
show ip nat translations Permet d’afficher les détails des deux attributions NAT
show ip nat translations verbose Informations supplémentaires (par ex. durée, flags, …)
show ip nat statistics Affiche les informations sur le nombre total de traductions actives
clear ip nat translation * Efface toutes les entrées de traduction dynamique de la table NAT
clear ip nat translation inside
ip-globale ip-locale [outside ip-
locale ip-globale]
Efface une entrée de traduction dynamique en spécifiant une traduction interne ou
interne et externe
92. Thomas Moegli
.10
.254
.20
LAN
10.1.1.0/24
NAT
209.165.200.1
.30
Fa0/0 Fa1/0
Network Address Translation
Commandes show ip nat translation, show ip nat statistics
92
NAT# show ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 209.165.200.226 10.1.1.10 --- ---
--- 209.165.200.226 10.1.1.20 --- ---
--- 209.165.200.228 10.1.1.30 --- ---
NAT# show ip nat statistics
Total active translations: 2 (2 static, 0 dynamic; 0 extended)
Outside interfaces:
FastEthernet1/0
Inside interfaces:
Hits: 0 Misses: 0
…
93. Thomas Moegli
๏ Technique qui consiste à rediriger les paquets réseaux d’un port donné sur un autre équipement réseau avec un port
donné.
๏ Permet l’accès aux équipements du réseau LAN depuis l’extérieur
๏ Généralement, seul les ports 80 (HTTP), 443 (HTTPS) et 22 (SSH)
Network Address Translation
Port Forwarding
93
LAN WAN
192.168.10.1
192.168.10.2
192.168.10.3
NAT
209.165.200.1, Port 80
209.165.200.1192.168.10.1
209.165.200.1, Port 8080
209.165.200.1, Port 9002192.168.10.1, Port 23
192.168.10.2, Port 80
192.168.10.3, Port 80
95. Thomas Moegli
Etapes
๏ Définir les interfaces Inside et Outside avec les commandes ip nat inside et ip nat outside
๏ Etablir la translation statique entre le port et l’adresse locales ainsi que le port et l’adresse globaux
ip nat inside source static {tcp | udp local-ip local-port global-ip global-port}}
[extendable]
Network Address Translation
Port Forwarding
95
96. Thomas Moegli
๏ Un serveur Web accessible en interne sur
l’adresse IP 192.168.10.254 et le port TCP
80 (HTTP)
๏ L’accès depuis l’extérieur se fait sur le port
TCP 8080
Network Address Translation
Port Forwarding
96
Internet
NAT 209.165.200.224
S0/1/0
192.168.10.1
S0/0/0
LAN
192.168.10.254
www.etmllabo.com:8080
209.165.200.224:8080
www.etmllabo.com:80
192.168.10.254:80
NAT(config)# int S0/0/0
NAT(config-if)# ip add 192.168.10.1 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat inside
NAT(config)# int S0/1/0
NAT(config-if)# ip add 209.165.200.224 255.255.255.0
NAT(config-if)# no shutdown
NAT(config-if)# ip nat outside
NAT(config)# ip nat inside source static tcp 192.168.10.1 80 209.165.200.225 8080
97. Thomas Moegli
๏ Un serveur Web accessible en interne sur
l’adresse IP 192.168.10.254 et le port TCP
80 (HTTP)
๏ L’accès depuis l’extérieur se fait sur le port
TCP 8080
Network Address Translation
Port Forwarding
97
Internet
NAT 209.165.200.224
S0/1/0
192.168.10.1
S0/0/0
LAN
192.168.10.254
www.etmllabo.com:8080
209.165.200.224:8080
www.etmllabo.com:80
192.168.10.254:80
NAT# show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 209.165.200.225:8080 192.168.10.254:80 209.165.200.254:46088 209.165.200.254:46088
tcp 209.165.200.225:8080 192.168.10.254:80 ---
NAT#
98. Thomas Moegli
๏ Sécuriser le réseau par le masquage de topologie avec NAT est une mauvaise idée
๏ Préférer l’utilisation de pare-feu pour bloquer les ports et le trafic indésirable
๏ Toutefois, IPv6 inclut également un espace d’adressage privé et NAT
๏ Implémentation différente que sous IPv4
Network Address Translation
NAT pour IPv6
98
99. Thomas Moegli
๏ Défini par RFC 4193
๏ Adresses destinées à une utilisation locale et non routées sur Internet
๏ Routage uniquement au sein d’une zone limitée (Site ou un nombre limité de sites)
๏ Caractéristiques
๏ Préfixe globalement unique
๏ Préfixe clairement défini facilitant le filtrage sur les routeurs de bordure
๏ Interconnexion de sites sans générer de conflit d’adresse et sans nécessiter de renumérotation
๏ Indépendantes des FAI
๏ Pas de conflit en cas de routage par erreur en dehors d’un site
๏ Aucune différence pour les applications, qui peuvent les considérer comme des adresses globale unicast
NAT pour IPv6
IPv6 : Unique Local Address (ULA)
99
100. Thomas Moegli
๏ Prefix : Identifie les adresses IPv6 locales (valeur : FC00::7)
๏ L : Positionné à 1 signifie que le préfixe est assigné localement. La valeur 0 est réservé pour une utilisation future
๏ Global ID : Identifiant global utilisé pour la création d’un préfixe unique (Globally Unique Prefix)
๏ Subnet ID : Identifiant d’un sous-réseau à l’intérieur du site
๏ Interface ID : Identifiant d’interface au format EUI-64, aléatoire ou configuration manuelle
NAT pour IPv6
ULA : Format
100
Prefix L Global ID Subnet ID Interface ID
7 1 40 16 64
EUI-64, Random or
Manual Configuration
Pseudo-
Random
Algorithm
1 or 0
FC00::/7
101. Thomas Moegli
๏ Utilisé pour accéder de manière transparente entre les réseaux IPv4 et IPv6
๏ N’est pas utilisé pour une translation entre adresse IPv6 privée et IPv6 globale
๏ Plusieurs types de NAT pour aider la migration d’IPv4 à IPv6
๏ NAT-PT (déprécié par l’IETF)
๏ NAT64
NAT pour IPv6
101
102. Thomas Moegli
๏ Mécanisme de communication pour autoriser les hôtes IPv6 avec des serveurs IPv4
๏ Défini par les RFC 6052, RFC 6136
๏ Modes
๏ Stateless NAT64
๏ Translation 1:1
๏ Stateful NAT64
๏ Translation 1:N
NAT pour IPv6
NAT64
102
104. Thomas Moegli
๏ SNMP est un protocole qui permet aux administrateurs réseau
de gérer les équipements du réseau, de superviser et de
diagnostiquer des problèmes réseaux et matériels à distance
๏ SNMP fonctionne sur UDP
๏ SNMP se fonde sur trois éléments principaux
๏ Le SNMP Manager centralise les informations reçus par les
équipements réseaux et affiche les informations
๏ Un SNMP Agent se situe sur l’équipement réseau et répond aux
requêtes du SNMP Manager.
Il permet également de déclencher des actions lorsque des
évènements spécifiques se produisent (Traps)
๏ Un MIB est une base de données hiérarchique des objets d’un
équipement réseau. Le SNMP Agent utilise cette MIB pour
obtenir les informations
SNMP
104
SNMP Manager
SNMP Agent
MIB
SNMP Agent
MIB
SNMP Agent
MIB
Equipement réseau Equipement réseau Equipement réseau
Messages SNMP
105. Thomas Moegli
Il existe trois versions SNMP
๏ SNMPv1 définit les 5 types de messages de base
๏ SNMPv2 ajoute deux nouveaux messages : Get Bulk
Request et Inform Request
๏ Get Bulk Request est l’équivalent de Get Next Request
mais autorise plusieurs réponses en même temps
๏ Inform Request : Version plus élaborée du SNMP Trap
๏ SNMPv3 apporte de nouvelles fonctionnalités
๏ Authentification
๏ Chiffrement
๏ Intégrité
๏ Autorisation
๏ Contrôle d’accès
Versions SNMP
105
SNMP Manager
SNMP Agent
MIB
Equipement réseau
Get Request
Requête pour récupérer la valeur d’une variable MIB
Get Next Request
Requête pour récupérer la prochaine valeur d’une variable MIB
Set Request
Requête pour modifier la valeur d’une variable MIB
Get Response
Contient la valeur de la variable MIB demandée
Trap
Transmet une alarme lorsqu’une condition est déclanchée
106. Thomas Moegli
๏ Restreindre l’accès en lecture uniquement
๏ Définir des vues SNMP pour restreindre l’administrateur à l’accès à des variables MIB spécifiques
๏ Configurer les ACL pour restreindre l’accès SNMP uniquement à certains administrateurs
๏ Utiliser SNMPv3 pour bénéficier de l’authentification, le chiffrement et l’intégrité
Protocole SNMP
SNMP : Recommendations
106
107. Thomas Moegli
Etapes
๏ Configurer les ACL pour SNMPv3
๏ Configurer les vues SNMPv3
๏ Configurer les groupes d’utilisateur SNMPv3
๏ Configurer les utilisateurs SNMPv3 :
๏ Configurer les récepteurs des traps SNMPv3
๏ Activer la persistance d’index :
Protocole SNMP
SNMP : Configuration
107
SW(config)# access-list 99 permit 10.1.1.0 0.0.0.255
SW(config)# snmp-server view MYVIEW sysUpTime included
SW(config)# snmp-server view MYVIEW ifDescr included
SW(config)# snmp-server view MYVIEW ifAdminStatus included
SW(config)# snmp-server view MYVIEW ifOperStatus included
SW(config)# snmp-server group GROUPZ v3 priv read MYVIEW write MYVIEW access
SW(config)# snmp-server user USERZ GROUPZ v3 auth sha itsasecret priv aes 256 anothersecret
SW(config)# snmp-server enable traps
SW(config)# snmp-server host 10.1.1.50 traps version 3 priv userZ cpu port-security
SW(config)# snmp-server ifindex persist
108. Thomas Moegli
๏ On configure une ACL standard (access-list 99) qui sera utilisée pour limiter l’accès SNMP uniquement au SNMP Manager
qui se situe dans le range IP 10.1.1.0/24 (permit 10.1.1.0 0.0.0.255)
๏ On configure une vue SNMPv3 et on lui associe plusieurs attributs en lecture et écriture
๏ Les attributs sont déterminés par le MIB de l’équipement réseau. Se référencer à la documentation MIB de l’équipement
๏ On configure ensuite les policies de sécurité SNMPv3
๏ On détermine un groupe d’utilisateurs SNMPv3 appelé GROUPZ (group GROUPZ v3) et on lui définit les autorisations de lecture et
d’écriture (priv read MYVIEW write MYVIEW access)
๏ On définit un utilisateur USERZ et on le joint au groupe (user USERZ GROUPZ v3).
Pour cet utilisateur, on définit un mot de passe pour l’authentification (auth sha itsasecret) et pour le chiffrement (priv aes
256 anothersecret)
๏ Activation des traps SNMP (snmp-server enable traps)
๏ Configurer les traps SNMP pour qu’elles soient redirigés vers le SNMP Manager (host 10.1.1.50 traps version 3) et limiter à
l’utilisateur USERZ (priv userZ)
๏ Limiter les événements sur lesquels les traps seront envoyées. Exemple : limiter les événements à ceux liées au CPU et Port-Security
(cpu port-security)
Protocole SNMP
SNMP : Configuration
108
109. Thomas Moegli
๏ SNMP n’identifie pas les instances d’objets, par exemple des interfaces réseaux, par leurs noms
๏ Les instances sont identifiées par un index numérique
๏ Dès que le nombre d’instances change (par exemple, lorsqu’une nouvelle interface Loopback est configurée), l’index risque
d’être modifié
๏ Pour éviter ce problème, la commande SW(config)# snmp-server ifindex persist doit être configurée.
Cette configuration garantit la persistence de l’index même après redémarrage de l’équipement ou un mise à jour
Protocole SNMP
SNMP : Configuration
109
SW(config)# snmp-server ifindex persist
110. Thomas Moegli
๏ Vérifier la configuration de SNMP via la commande
show snmp
Protocole SNMP
SNMP : Vérification
110
SW# show snmp
Chassis: FOC1322V1P5
0 SNMP packets input
..
0 Get-request PDUs
0 Get-next PDUs
0 Set-request PDUs
0 Input queue packet drops (Maximum queue size 1000)
476 SNMP packets output
..
0 Response PDUs
476 Trap PDUs
SNMP global trap: enabled
SNMP logging: enabled
Logging to 10.1.1.50.162, 0/10, 476 sent, 0 dropped.
SNMP agent enabled
SW# show snmp
111. Thomas Moegli
๏ Vérifier les vues SNMPv3 :
๏ Pour chaque groupe, on définit les OID inclus
Protocole SNMP
SNMP : Vérification
111
SW# show snmp view
MYVIEW sysUpTime - included nonvolatile active
MYVIEW ifDescr - included nonvolatile active
MYVIEW ifAdminStatus - included nonvolatile active
MYVIEW ifOperStatus - included nonvolatile active
v1default iso - included permanent active
v1default internet - included permanent active
v1default snmpUsmMIB - excluded permanent active
v1default snmpVacmMIB - excluded permanent active
v1default snmpCommunityMIB - excluded permanent active
v1default ciscoMgmt.252 - excluded permanent active
<... output omitted ...>
SW# show snmp view
112. Thomas Moegli
๏ Vérifier les groupes SNMPv3 :
๏ Vérifier les utilisateurs SNMPv3 :
Protocole SNMP
SNMP : Vérification
112
SW# show snmp group
groupname: groupZ security model:v3 priv
readview : OPS writeview: OPS
notifyview: *tv.00000000.00000000.10000000.0
row status: active access-list: 99
SW# show snmp groups
SW# show snmp users
SW# show snmp user
User name: userZ
Engine ID: 80000009030000260AC50201
storage-type: nonvolatile active
Authentication Protocol: SHA
Privacy Protocol: AES256
Group-name: groupZ
113. Thomas Moegli
Merci de votre attention !
thomas.moegli@icloud.com
Cisco eLearning SWITCH (300-115)
CCNP Routing and Switching SWITCH 300-115 Official Cert Guide
CBT Nuggets - Cisco SWITCH (300-115)
InterNetwork Experts - Cisco CCNP
113