Upload
thomas-moegli
View
515
Download
4
Embed Size (px)
Citation preview
Thomas Moegli Ing. HES Télécommunications - Réseaux et Sécurité IT
Services IP
Services IPAdressage dynamique
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
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
Thomas Moegli
Protocole DHCP Fonctionnement
5
DHCPDISCOVER(broadcast)
DHCPOFFER(unicast)
DHCPREQUEST(broadcast)
DHCPACK(unicast)
Serveur DHCPClient DHCP
Thomas Moegli
1. DHCPDISCOVER Envoi d’une trame sur port 67 pour trouver un serveur DHCPTrame en broadcast avec adresse IP source 0.0.0.0 et son adresse MAC
2. DHCPOFFERRéception par un ou plusieurs serveurs DHCPEnvoi 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. DHCPREQUESTClient retient une des offresDiffusion d’une trame avec adresse IP du serveur et adresse IP proposée au clientDemande 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. DHCPACKAccusé 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
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
Thomas Moegli
Message DHCP Offer
Protocole DHCP Fonctionnement
8
DHCPDISCOVER(broadcast)
DHCPOFFER(unicast)
DHCPREQUEST(broadcast)
DHCPACK(unicast)
Serveur DHCPClient DHCP
Thomas Moegli
Message DHCP Request
Protocole DHCP Fonctionnement
9
DHCPDISCOVER(broadcast)
DHCPOFFER(unicast)
DHCPREQUEST(broadcast)
DHCPACK(unicast)
Serveur DHCPClient DHCP
Thomas Moegli
Message DHCP Ack
Protocole DHCP Fonctionnement
10
DHCPDISCOVER(broadcast)
DHCPOFFER(unicast)
DHCPREQUEST(broadcast)
DHCPACK(unicast)
Serveur DHCPClient DHCP
Thomas Moegli
Protocole DHCP Fonctionnement
11
Serveur DHCPClient DHCP
Messages DHCP Client : Messages DHCP Serveur :
DHCP Discover DHCP OfferDHCP NackDHCP Ack
DHCP Request (Selecting)DHCP Request (Renew)DHCP Request (Rebind)DHCP Request (Init/Reboot)DHCP DeclineDHCP Release
DHCP Inform
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
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
Thomas Moegli
Protocole DHCP Configuration d’un routeur comme serveur DHCP
14
R1
SW1
Serveur DHCP
192.168.1.0/24.100F0/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
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.100F0/0
R1F0/0
R2F0/0
Désavantages ๏ Augmente la charge du routeur ๏ Plus orienté pour un réseau avec 10 à 15 utilisateurs
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.254F0/0
S1/1
192.168.2.0/24.254
R1S1/1
F0/0
10.12.0.0/30.1 .2
Serveur DHCP
.100
Router(config-if)# ip helper-address ip-address-srv-dhcp
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
SW20F0/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
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
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 clientshow 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 conflictSi 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
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
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 !
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
Thomas Moegli
Adressage SLAAC ICMPv6 : Message Router Advertisement
23
Serveur DHCPv6
Router(config)# ipv6 unicast-routing
ICMPv6RA
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
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
Thomas Moegli
Adressage SLAAC ICMPv6 : Message Router Advertisement
25
Serveur DHCPv6
OptionOther Configuration « O » Flag
Managed Configuration « M » Flag
Option 1 : SLAAC - Sans DHCPv6 (par défaut sur les routeurs Cisco) 0 0Option 2 : SLAAC - Avec DHCPv6 pour l’adresse DNS 1 0Option 3 : DHCPv6 uniquement (seul l’adresse IPv6 du routeur est utilisé comme passerelle par défaut) 0 1
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 AdvertisementPré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.
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 AdvertisementPréfixe et autres informations
2001:DB8:CAFE:1::/64
Thomas Moegli
Adressage SLAAC Contenu d’un message RA
28
RA
SLAAC Option 1 - Message RADe : 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 : /64GW : FE80::1Global 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
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 ✔
Thomas Moegli
0300 E96B D4 80
0300 E96B D4 80FF FE
MAC (24 bits)OUI (24 bits)
030000 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
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
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
ICMPv6Neighbor Solicitation
ICMPv6Neighbor Advertisement
Si non reçu ➔ Adresse uniqueSi réponse ➔ Adresse dupliquée
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-localFE80::219:D2FF:FE8C:E04C/64
IPv6 Src = ::IPv6 Dst = FF02::1:FF8C:E04CICMPv6 Neighbor Solicitation
IPv6 Src = FE80::219:D2FF:FE8C:E04CIPv6 Dst = FF02::2ICMPv6 Router Solicitation
Aucune réponse reçue
IPv6 Src = FE80::202:7EFF:FE14:1IPv6 Dst = FF02::1ICMPv6 Router Advertisement
IPv6 Src = ::IPv6 Dst = FF02::1:FF8C:E04CICMPv6 Neighbor Solicitation
1
2
3
4
5
Thomas Moegli
Router(config)# ipv6 unicast-routing
Router
2001:DB8:CAFE:1::1/64FE80::1/64
All-IPv6 Devices (FF02::1)
Router IPv6
2001:DB8:CAFE:1::1/64FE80::1/64
All-IPv6 Devices (FF02::1)
All-IPv6 Routers (FF02::2)
ICMPv6Neighbor Solicitation
Protocoles de routageRIPng, 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
Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/12001:DB8:CAFE:1/64
::1FE80::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
ICMPv6Router 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
Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/12001:DB8:CAFE:1/64
::1FE80::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.
ICMPv6Router Advertisement
Indique que les bits O et M sont à 0
Thomas Moegli
R2R1
Routeur IPv6 Routeur non IPv6
G0/1 G0/12001:DB8:CAFE:1/64
::1FE80::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 …
ICMPv6Router 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
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
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
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
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)
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/0R1
R1(config)# interface GigabitEthernet1/0 R1(config-if)# ipv6 dhcp relay destination 2001:DB8:CAFE:2::10
Services IPCisco Discovery Protocol (CDP)
Thomas Moegli
๏ Protocole propriétaire Cisco
๏ Collecter des informations sur les périphériques voisins directement connectés
Cisco Discovery Protocol
44
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
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-v2 CDP 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
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/5Fa0/6
Fa0/5Fa0/6
Fa0/15
Fa0/16
Fa0/1Fa0
/2
Fa0/18
SW-210.100.128.9
Fa0/17
Fa0/2
Fa0/1
SW-3
SW-1
10.100.128.8
10.100.128.10
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
Thomas Moegli
๏ show cdp neighbors detailObtenir les informations détaillées de tous les périphériques connectées
๏ show cdp entry hostnameObtenir 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
…
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
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
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/24192.168.18.0/
24
192.168.21.0/24
HQ
Rtr_Lausanne
Rtr_Geneve Rtr_Locarno
Rtr_Bern
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/24192.168.18.0/
24
192.168.21.0/24
HQ
Rtr_Lausanne
Rtr_Geneve Rtr_Locarno
Rtr_BernFa0/0
Fa0/1 S0/3/0
S0/3/1
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 …
Thomas Moegli
Documenter une topologie réseau
55
Fa0/0.1
Fa0/1.1
S0/3/0.1
S0/3/1.1
192.168.
40.0/24
192.168.60.0/24192.168.18.0/
24
192.168.21.0/24
HQ
Rtr_Lausanne
Rtr_Geneve Rtr_Locarno
Rtr_BernFa0/0.2
Fa0/1.2 S0/3/0
2
S0/3/1.2Switch C2600
Switch C2600
Switch C2600
Switch C2600
64kbps
DCE
Services IPNetwork Time Protocol (NTP)
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
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
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
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
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 NTPReçoit référence horloge externe
Equipement réseau
Equipement terminal
Equipement terminal
TempsTemps
Temps
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
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
Thomas Moegli
Network Time Protocol (NTP) Configuration NTP
64
R1
Fa0/1
Internet Serveur NTPch.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 R1Pair avec SW2
Se synchronise avec R1Pair avec SW1
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 NTPch.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 R1Pair avec SW2
Se synchronise avec R1Pair avec SW1
๏ Vérifier la synchronisation :
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 NTPch.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 R1Pair avec SW2
Se synchronise avec R1Pair avec SW1
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.12R1
Fa0/1
Internet Serveur NTPch.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 R1Pair avec SW2
Se synchronise avec R1Pair avec SW1
SW2(config)# ntp peer 172.16.0.11
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
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
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
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
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/0R1
Serveur NTP
2001:DB8:CAFE:2::/64
Gi1/0SW1
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
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
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
Services IPNetwork Address Translation
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
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
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 NATOutside global address Adresse IP publique attribuée à un hôte sur InternetOutside local address Adresse IP locale attribuée à un hôte du réseau externe
NATInternet
209.165.200.226
Réseau interne
192.168.10.0/24
.1056.34.12.159
192.168.20.0/24.254 .1.254
Inside local address Inside global address Outside global address Outside local address
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
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.10209.165.200.22710.1.1.20209.165.200.22810.1.1.30
NAT 209.165.200.1
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
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
.25410.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
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
Thomas Moegli
๏ Performances dégradéesLe 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
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 adressesip 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.22710.1.1.10
10.1.1.3010.1.1.20
Fa0/0 Fa1/0
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 adressesip 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.22710.1.1.10
10.1.1.3010.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
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 translationip nat pool nom_Pool ip-debut ip-fin
๏ Restreindre et spécifier le ou les réseaux qui seront translatés par NATip access-list extended nom_ACL
๏ Lier l’ACL au pool d’adresses via la commandeip 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
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 adressesip 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
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 NATip access-list extended nom_ACL
๏ Lier l’ACL à l’interface Outside via cette commande. Spécifier le mot-clé overload pour effectuer du PATip 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 PATip 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
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 adressesip 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
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 NATshow 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 NATclear 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
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 …
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.1209.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
Thomas Moegli
Configuration de la redirection de ports sur un routeur
Network Address Translation Port Forwarding
94
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 globauxip nat inside source static {tcp | udp local-ip local-port global-ip global-port}}
[extendable]
Network Address Translation Port Forwarding
95
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
InternetNAT 209.165.200.224
S0/1/0192.168.10.1
S0/0/0
LAN192.168.10.254
www.etmllabo.com:8080209.165.200.224:8080
www.etmllabo.com:80192.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
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
InternetNAT 209.165.200.224
S0/1/0192.168.10.1
S0/0/0
LAN192.168.10.254
www.etmllabo.com:8080209.165.200.224:8080
www.etmllabo.com:80192.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#
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
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
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 orManual Configuration
Pseudo-RandomAlgorithm
1 or 0
FC00::/7
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
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
Services IPSimple Network Management Protocol (SNMP)
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
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 RequestRequête pour récupérer la valeur d’une variable MIB
Get Next RequestRequête pour récupérer la prochaine valeur d’une variable MIB
Set RequestRequête pour modifier la valeur d’une variable MIB
Get ResponseContient la valeur de la variable MIB demandée
TrapTransmet une alarme lorsqu’une condition est déclanchée
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
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
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
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
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
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
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 usersSW# show snmp user User name: userZ Engine ID: 80000009030000260AC50201 storage-type: nonvolatile active Authentication Protocol: SHA Privacy Protocol: AES256 Group-name: groupZ
Thomas Moegli
Merci de votre attention [email protected]
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