Contenu

Introduction

Conditions préalables

Conditions requises

Components Used

Comparaison entre DHCPv6 avec état et DHCPv6 sans état

Diagramme du réseau

Types de messages DHCPv6 et DHCPv4

Relais DHCPv6 sans état

Configuration

Flux des paquets

Vérification

Déboguages

Instantanés Wireshark

DHCPv6 avec état

Configuration

Flux des paquets

Vérification

Déboguages

Instantanés Wireshark

Dépannage

Sorties de relais DHCP

Adresses de libération

Déboguages

Informations connexes

Discussions connexes de la communauté d’assistance Cisco

Introduction

Le document décrit comment configurer un dispositif de sécurité adaptatif Cisco (ASA) en tant qu'agent de relais DHCPv6 et couvre également un dépannage de base. Dans les versions 9.0 et ultérieures du code ASA, ASA prend en charge

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- Concepts de base IPv6

- Mécanisme d'adressage IPv6

- Flux de paquets DHCPv6

- Concepts de relais DHCP

Components Used

Les informations de ce document sont basées sur la version 9.1.2 de l'ASA 5500.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Comparaison entre DHCPv6 avec état et DHCPv6 sans état

Si vous comprenez les différentes méthodes d'allocation d'adresses dans IPv6, cela vous aide à comprendre comment fonctionne la fonctionnalité de relais DHCPv6 sur l'ASA. Référez-vous à Affectation dynamique d'adresses IPv6 à l'aide de SLAAC et DHCP pour une introduction à la configuration automatique d'adresses sans état (SLAAC) et DHCPv6.

Diagramme du réseau

Cet exemple de configuration décrit comment configurer l'ASA en tant qu'agent de relais DHCPv6. Dans cette configuration, CLIENT est l'interface à laquelle le client IPv6 est connecté. SERVER est l'interface par laquelle le serveur DHCPv6 2001:db8:200:2/64 est accessible.

Types de messages DHCPv6 et DHCPv4

Relais DHCPv6 sans état

Configuration

Voici la configuration de base pour la configuration de relais DHCPv6 sans état sur l'ASA :

interface GigabitEthernet0/1

nameif CLIENT

security-level 100

ipv6 address 2001:db8:100::1/64

ipv6 enable

ipv6 nd other-config-flag

!

interface GigabitEthernet0/0

nameif SERVER

security-level 0

ipv6 address 2001:db8:200:1/64

ipv6 enable

!

ipv6 dhcprelay server 2001:db8:200:2 inside

ipv6 dhcprelay enable outside

Flux des paquets

Avec DHCPv6 sans état, voici le flux de paquets du client :

L'ASA intercepte ces paquets et les encapsule dans le format de relais DHCP :

Vérification

Déboguages

Si vous activez debug ipv6 dhcprelay et debug ipv6 dhcp, les résultats pertinents s'impriment à l'écran. Cette sortie provient d'un scénario de travail :

IPv6 DHCP: Received INFORMATION-REQUEST from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::c671:feff:fe93:b51a (CLIENT)

dst ff02::1:2

type INFORMATION-REQUEST(11), xid 1588088

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 6

DNS-SERVERS,DOMAIN-LIST,UNKNOWN

IPv6 DHCP_RELAY: Relaying INFORMATION-REQUEST from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP_RELAY: Creating relay binding for fe80::c671:feff:fe93:b51a at interface CLIENT

IPv6 DHCP_RELAY:   to 2001:db8:200::2 via 2001:db8:200::2 using SERVER

IPv6 DHCP: Sending RELAY-FORWARD to 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::1

dst 2001:db8:200::2 (SERVER)

type RELAY-FORWARD(12), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 34

type INFORMATION-REQUEST(11), xid 1588088

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 6

DNS-SERVERS,DOMAIN-LIST,UNKNOWN

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP: Received RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::2 (SERVER)

dst 2001:db8:200::1

type RELAY-REPLY(13), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 67

type REPLY(7), xid 1588088

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP_RELAY: Relaying RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP_RELAY:   relayed msg: REPLY

IPv6 DHCP_RELAY:   to fe80::c671:feff:fe93:b51a

IPv6 DHCP: Sending REPLY to fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::219:7ff:fe24:2e44

dst fe80::c671:feff:fe93:b51a (CLIENT)

type REPLY(7), xid 1588088

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

Dans le paquet de requête INFORMATION-REQUEST, le client demande uniquement DNS-Server et Domain, ce qui est attendu puisque le client est configuré pour DHCPv6 sans état.

Instantanés Wireshark

Requête client DHCP

Requête DHCP relayée par ASA

Réponse DHCP du serveur

Réponse transférée au client

DHCPv6 avec état

Configuration

Voici la configuration de base pour la configuration de relais DHCPv6 avec état sur l'ASA :

interface GigabitEthernet0/1

nameif CLIENT

security-level 100

ipv6 address 2001:db8:100::1/64

ipv6 enable

!

interface GigabitEthernet0/0

nameif SERVER

security-level 0

ipv6 address 2001:db8:200:1/64

ipv6 enable

!

ipv6 dhcprelay server 2001:db8:200:2 inside

ipv6 dhcprelay enable outside

Flux des paquets

Avec DHCPv6 avec état, voici le flux de paquets du client :

L'ASA intercepte ces paquets et les encapsule dans le format de relais DHCP :

Vérification

Déboguages

IPv6 DHCP: Received SOLICIT from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::c671:feff:fe93:b51a (CLIENT)

dst ff02::1:2

type SOLICIT(1), xid 2490681

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 4

DNS-SERVERS,DOMAIN-LIST

option IA-NA(3), len 12

IAID 0x00040001, T1 0, T2 0

IPv6 DHCP_RELAY: Relaying SOLICIT from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP_RELAY: Creating relay binding for fe80::c671:feff:fe93:b51a at interface CLIENT

IPv6 DHCP_RELAY:   to 2001:db8:200::2 via 2001:db8:200::2 using SERVER

IPv6 DHCP: Sending RELAY-FORWARD to 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::1

dst 2001:db8:200::2 (SERVER)

type RELAY-FORWARD(12), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 48

type SOLICIT(1), xid 2490681

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 4

DNS-SERVERS,DOMAIN-LIST

option IA-NA(3), len 12

IAID 0x00040001, T1 0, T2 0

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP: Received RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::2 (SERVER)

dst 2001:db8:200::1

type RELAY-REPLY(13), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 111

type ADVERTISE(2), xid 2490681

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option IA-NA(3), len 40

IAID 0x00040001, T1 43200, T2 69120

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP_RELAY: Relaying RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP_RELAY:   relayed msg: ADVERTISE

IPv6 DHCP_RELAY:   to fe80::c671:feff:fe93:b51a

IPv6 DHCP: Sending ADVERTISE to fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::219:7ff:fe24:2e44

dst fe80::c671:feff:fe93:b51a (CLIENT)

type ADVERTISE(2), xid 2490681

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option IA-NA(3), len 40

IAID 0x00040001, T1 43200, T2 69120

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

IPv6 DHCP: Received REQUEST from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::c671:feff:fe93:b51a (CLIENT)

dst ff02::1:2

type REQUEST(3), xid 2492842

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 4

DNS-SERVERS,DOMAIN-LIST

option SERVERID(2), len 10

00030001002414a33c94

option IA-NA(3), len 40

IAID 0x00040001, T1 0, T2 0

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

IPv6 DHCP_RELAY: Relaying REQUEST from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP_RELAY:   to 2001:db8:200::2 via 2001:db8:200::2 using SERVER

IPv6 DHCP: Sending RELAY-FORWARD to 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::1

dst 2001:db8:200::2 (SERVER)

type RELAY-FORWARD(12), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 90

type REQUEST(3), xid 2492842

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option ORO(6), len 4

DNS-SERVERS,DOMAIN-LIST

option SERVERID(2), len 10

00030001002414a33c94

option IA-NA(3), len 40

IAID 0x00040001, T1 0, T2 0

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP: Received RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::2 (SERVER)

dst 2001:db8:200::1

type RELAY-REPLY(13), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 111

type REPLY(7), xid 2492842

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option IA-NA(3), len 40

IAID 0x00040001, T1 43200, T2 69120

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP_RELAY: Relaying RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP_RELAY:   relayed msg: REPLY

IPv6 DHCP_RELAY:   to fe80::c671:feff:fe93:b51a

IPv6 DHCP: Sending REPLY to fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::219:7ff:fe24:2e44

dst fe80::c671:feff:fe93:b51a (CLIENT)

type REPLY(7), xid 2492842

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option IA-NA(3), len 40

IAID 0x00040001, T1 43200, T2 69120

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option DNS-SERVERS(23), len 16

2001:db8:1000::1

option DOMAIN-LIST(24), len 11

cisco.com

Instantanés Wireshark

SOLICITE (1)

Un client DHCPv6 envoie un message de sollicitation afin de localiser les serveurs DHCPv6.

L'ASA relaie le message de sollicitation.

PUBLICITÉ (2)

Un serveur envoie un message Annonce afin d'indiquer qu'il est disponible pour le service DHCP, en réponse à un message de sollicitation reçu d'un client.

DEMANDE (3)

Un client envoie un message Request afin de demander des paramètres de configuration, qui incluent des adresses IP ou des préfixes délégués, à un serveur spécifique.

RÉPONSE (7)

Un serveur envoie un message de réponse qui contient les adresses et les paramètres de configuration assignés en réponse à un message de sollicitation, de demande, de renouvellement ou de liaison reçu d'un client. Un serveur envoie un message de réponse qui contient des paramètres de configuration en réponse à un message de demande d'informations. Un serveur envoie un message de réponse en réponse à un message de confirmation qui confirme ou refuse que les adresses attribuées au client sont appropriées à la liaison à laquelle le client est connecté. Un serveur envoie un message de réponse afin d'accuser réception d'un message de libération ou de refus.

Dépannage

Confirmez la connectivité avec le serveur DHCPv6.

ciscoasa# show ipv6 neighbor

IPv6 Address                              Age Link-layer Addr State Interface

2001:db8:200::2                             0 0024.14a3.3c98  REACH SERVER

Confirmez que vous recevez des paquets du client lorsqu'il demande une adresse IPv6. Le paquet envoyé par le client dépend des paramètres d'affectation d'adresse (c'est-à-dire, stateful vs stateless).

Lorsque le client commence le processus DHCPv6, il envoie un message de sollicitation de routeur afin de détecter la présence de routeurs IPv6 sur la liaison. Il envoie un message de sollicitation de routeur multidiffusion afin d'inviter les routeurs IPv6 à répondre. Dans l'en-tête Ethernet du message de sollicitation de routeur, ces champs s'affichent :

- Le champ Adresse source correspond à l'adresse MAC de l'hôte qui demande l'adresse IPv6.

- Le champ Adresse de destination est défini sur 33-33-00-00-00-02.

Dans l'en-tête IPv6 du message de sollicitation de routeur, ces champs s'affichent.

- Le champ Adresse source est défini sur une adresse IPv6 link-local attribuée à l'interface émettrice ou sur l'adresse IPv6 non spécifiée (::).

- Le champ Adresse de destination est défini sur l'adresse de multidiffusion de tous les routeurs de la portée link-local (FF02::2).

- Le champ Hop Limit est défini sur 255.

En réponse, les routeurs IPv6 envoient des messages d'annonce de routeur non sollicités Le message d'annonce de routeur contient les informations requises par les hôtes afin de déterminer les préfixes de liaison, l'unité de transmission maximale de liaison (MTU) et des routes spécifiques.

ciscoasa(config)# show capture capin detail

fe80::c671:feff:fe93:b51a.546 > ff02::1:2.547:  [udp sum ok] udp 42

[hlim 255] (len 100)---->Request from client

fe80::219:7ff:fe24:2e44.547 > fe80::c671:feff:fe93:b51a.546:  [udp sum ok]

udp 75 [class 0xe0] (len 133, hlim 255)

ciscoasa(config)# show capture capout detail

2 packets captured

1: 12:06:52.700799       2001:db8:200:1.547 > 2001:db8:200:2.547:  udp 88

[class 0xe0]---->ASA forwards request to DHCPv6 router

2: 12:06:53.289047      2001:db8:200:2.547 > 2001:db8:200:1.547:  udp 121

[class 0xe0]----> Reply from DHCPV6 server.

Sorties de relais DHCP

ciscoasa# show ipv6 dhcprelay binding

1 in use, 1 most used

Client: fe80::c671:feff:fe93:b51a (CLIENT)

DUID: 00030001c471fe93b516, Timeout in 56 seconds

Note: La liaison est supprimée par l'ASA après une courte période. Ceci est visible dans debug ipv6 dhcprelay.

IPv6 DHCP_RELAY: Deleting binding for fe80::c671:feff:fe93:b51a at interface CLIENT

ciscoasa# show ipv6 dhcprelay statistics

Relay Messages:

SOLICIT                                       2

ADVERTISE                                     2

REQUEST                                       2

CONFIRM                                       0

RENEW                                         0

REBIND                                        0

REPLY                                         9

RELEASE                                       1

DECLINE                                       0

RECONFIGURE                                   0

INFORMATION-REQUEST                           6

RELAY-FORWARD                                 11

RELAY-REPLY                                   11

Relay Errors:

Malformed message:                            0

Block allocation/duplication failure:         0

Hop count limit exceeded:                     0

Forward binding creation failure:             0

Reply binding lookup failure:                 0

No output route:                              0

Conflict relay server route:                  0

Failed to add server input rule:              0

Unit or context is not active:                0

Total Relay Bindings Created:                   8

Adresses de libération

Les clients peuvent libérer leur adresse DHCPv6 attribuée après l'avoir utilisée pour le réseau. La section suivante présente le résultat du débogage associé à la libération d'adresse dans DHCPv6 avec état.

Déboguages

IPv6 DHCP: Received RELEASE from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::c671:feff:fe93:b51a (CLIENT)

dst ff02::1:2

type RELEASE(8), xid 3180815

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option SERVERID(2), len 10

00030001002414a33c94

option IA-NA(3), len 40

IAID 0x00040001, T1 0, T2 0

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

IPv6 DHCP_RELAY: Relaying RELEASE from fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP_RELAY: Creating relay binding for fe80::c671:feff:fe93:b51a at interface CLIENT

IPv6 DHCP_RELAY:   to 2001:db8:200::2 via 2001:db8:200::2 using SERVER

IPv6 DHCP: Sending RELAY-FORWARD to 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::1

dst 2001:db8:200::2 (SERVER)

type RELAY-FORWARD(12), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 82

type RELEASE(8), xid 3180815

option ELAPSED-TIME(8), len 2

elapsed-time 0

option CLIENTID(1), len 10

00030001c471fe93b516

option SERVERID(2), len 10

00030001002414a33c94

option IA-NA(3), len 40

IAID 0x00040001, T1 0, T2 0

option IAADDR(5), len 24

IPv6 address 2001:db8:300:0:48ae:5f5d:8290:e926

preferred INFINITY, valid INFINITY

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP: Received RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP: detailed packet contents

src 2001:db8:200::2 (SERVER)

dst 2001:db8:200::1

type RELAY-REPLY(13), hop 0

link 2001:db8:100::1

peer fe80::c671:feff:fe93:b51a

option RELAY-MSG(9), len 45

type REPLY(7), xid 3180815

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option STATUS-CODE(13), len 9

status code SUCCESS(0)

status message: SUCCESS

option INTERFACE-ID(18), len 4

0x00000015

IPv6 DHCP_RELAY: Relaying RELAY-REPLY from 2001:db8:200::2 on SERVER

IPv6 DHCP_RELAY:   relayed msg: REPLY

IPv6 DHCP_RELAY:   to fe80::c671:feff:fe93:b51a

IPv6 DHCP: Sending REPLY to fe80::c671:feff:fe93:b51a on CLIENT

IPv6 DHCP: detailed packet contents

src fe80::219:7ff:fe24:2e44

dst fe80::c671:feff:fe93:b51a (CLIENT)

type REPLY(7), xid 3180815

option SERVERID(2), len 10

00030001002414a33c94

option CLIENTID(1), len 10

00030001c471fe93b516

option STATUS-CODE(13), len 9

status code SUCCESS(0)

status message: SUCCESS

Informations connexes

Comprendre les diverses options DHCP

Exemple de configuration de relais DHCP ASA

Configurer l'ASA pour transmettre le trafic IPv6

Exemple de configuration des captures de paquets ASA avec CLI et ASDM