Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Configurazione

Esempio di rete

Configurazioni

Configurazione server

Opzione di configurazione 1 per Win2012 R2 - Unique Relay IP per VNI/SVI per VTEP

Opzione di configurazione 2 di Win2012 R2 - Corrispondenza con il campo ID circuito agente

Configurazione di Windows Server 2016

Server DHCP Linux

Configurazione degli switch

Il client DHCP è nel VRF tenant e il server DHCP è nel VRF predefinito di layer 3

Il client DHCP e il server DHCP si trovano nello stesso VRF tenant

Client DHCP in un VRF tenant e server DHCP in un altro VRF tenant

Client DHCP in un VRF tenant e server DHCP in un altro VRF non VXLAN

Informazioni correlate

Introduzione

In questo documento viene descritta la configurazione del protocollo DHCP (Dynamic Host Configuration Protocol) per la VXLAN (Virtual Extensible LAN) Ethernet VPN (EVPN) in diversi scenari e gli aspetti specifici per i server DHCP Win2012 e Win2016.

Prerequisiti

Requisiti

Cisco raccomanda la conoscenza di VPN/VXLAN e DHCP.

Componenti usati

Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:

- C9300

- C9400

- C9500

- C9600

- MSFT Windows Server 2012 R2

- MSFT Windows Server 2016

- Funzioni disponibili su Cisco IOS XE 16.9.x o versioni successive

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Configurazione

Esempio di rete

Configurazioni

Esaminiamo ora il flusso dei messaggi tra il client DHCP e il server. Sono previste 4 fasi:

Questa procedura è valida nei casi in cui il client e il server si trovano nella stessa subnet, ma in genere non è così. Nella maggior parte dei casi, il server DHCP non si trova nella stessa subnet del client e deve essere raggiungibile tramite un percorso di routing di layer 3 rispetto al layer 2. In questo caso, è necessaria la funzionalità di inoltro DHCP. La funzionalità di inoltro DHCP (switch o router) converte la trasmissione in un unicast incapsulato da UDP che può essere instradato e inviato al server DHCP. Attualmente è una configurazione molto utilizzata nelle reti.

Problemi con DHCP e VPN/VXLAN Fabric:

In genere, il server DHCP è connesso all'infrastruttura EVPN tramite la rete L3. Ciò significa che è necessario utilizzare la funzionalità di inoltro DHCP per convertire un pacchetto di trasmissione DHCP di livello 2 in un pacchetto indirizzabile unicast di livello 3.

Con la funzione di inoltro DHCP, il flusso di chiamate DHCP tra client, inoltro e server funziona in modo simile al seguente:

Dopo l'inoltro, l'IP di origine del pacchetto è l'IP di inoltro. Tuttavia, ciò crea un problema nell'implementazione di VXLAN/EVPN poiché l'IP di origine abituale non è univoco a causa dell'uso di DAG (Distributed Anycast GW). Poiché tutti gli IP di origine VTEP SVI sono uguali, i pacchetti Reply dal server DHCP possono essere inoltrati alla foglia più vicina.

Per risolvere il problema dell'origine non univoca, è necessario essere in grado di utilizzare un indirizzo IP univoco per i pacchetti DHCP inoltrati per foglia. Un altro problema riguarda la sostituzione di GIADDR. Sul server DHCP, è necessario scegliere il pool corretto per assegnare l'indirizzo IP. Viene eseguita dal pool, che copre l'indirizzo IP del gateway (giaddr). Per il fabric EVPN, deve essere un indirizzo IP di SVI, ma dopo il relay, il giaddr viene sostituito con un indirizzo IP di relay che in questo caso è un loopback univoco.

Come è possibile informare il server DHCP sui pool da utilizzare?

Per risolvere questo problema, viene utilizzata l'opzione 82. Principalmente, queste sono le opzioni secondarie importanti:

- 1 - ID circuito agente. Nel caso di VXLAN/EVPN, questa opzione secondaria trasferisce l'ID VNI

- 5 - (o 150 per cisco proprietaria). Le opzioni secondarie di selezione collegamento che hanno una subnet effettiva da cui proviene il pacchetto DHCP

- 11 - (o 152 per cisco proprietaria ). L'opzione secondaria Server Identifier Override che ha l'indirizzo del server DHCP

- 151 - Nome VRF/ID VPN. Questa opzione secondaria ha nome VRF/ID VPN

In un'acquisizione del pacchetto dal relay DHCP al server DHCP, è possibile visualizzare queste diverse opzioni presenti nel pacchetto DHCP, come mostrato nell'immagine.

Configurazione degli switch:

- L'opzione 82 contiene tutte le informazioni necessarie per scegliere il pool DHCP corretto e restituire il pacchetto dal server alla foglia corretta.

- Questa procedura funziona solo se il server DHCP è in grado di elaborare le informazioni dell'opzione 82, sebbene non tutti i server le supportino completamente (ad esempio win2012 r2).

ip dhcp relay information option vpn        <<<  adds the VRF name/VPN ID to the option 82

ip dhcp relay information option            <<< enables option 82

!

ip dhcp snooping vlan 101-102,201-202

ip dhcp snooping

!

vlan configuration 101

member evpn-instance 101 vni 10101

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101    <<< DHCP relay source is unique Loopback

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.12               <<< 192.168.20.12 - DHCP server

Configurazione server

Opzione di configurazione 1 per Win2012 R2 - Unique Relay IP per VNI/SVI per VTEP

Il problema principale di win2012 è che l'opzione 82 non è completamente supportata, quindi la sottoopzione "Link selection" (5 o proprietaria di Cisco - 150) non può essere utilizzata per selezionare il pool corretto sul server DHCP.

Per risolvere questo problema, è possibile utilizzare questo approccio:

- È necessario creare un ambito per gli indirizzi IP RELAY. In caso contrario, DHCP non troverà un pool corrispondente a DHCP GIADDR e ignorerà il pacchetto. L'intervallo IP completo deve essere escluso da DHCP per impedire l'allocazione dal pool di indirizzi IP RELAY. Questo pool viene chiamato RELAY_POOL

- È necessario creare l'ambito dell'intervallo IP da allocare. Questo pool viene chiamato IP_POOL

- È necessario creare l'ambito esteso e includere entrambi gli ambiti: RELAY_POOL e IP_POOL

Scopri come viene elaborato il pacchetto DHCP sul server.

1. Il pacchetto DHCP viene ricevuto dal server.

2. In base a GIADDR, nell'ambito esteso appropriato viene scelto RELAY_POOL.

3. Poiché in RELAY_POOL non sono presenti indirizzi IP liberi (si ricorda che l'ambito completo è escluso?), viene eseguito il fallback a IP_POOL nello stesso ambito esteso.

4. L'indirizzo viene allocato dal superpool corrispondente e rinviato al Relay Server.

Uno dei principali svantaggi di questo metodo è la necessità di disporre di un loopback univoco per VLAN/VNI per VTP, in quanto il pool DHCP viene selezionato in base all'indirizzo del relay.

Questa opzione consente di utilizzare un ampio intervallo IP per gli indirizzi IP dei relè.

Opzione 1. Istruzioni dettagliate su come configurare win2012 r2.

Creare l'ambito DHCP per gli indirizzi di inoltro. Fare clic con il pulsante destro del mouse e scegliere Nuovo ambito come mostrato nell'immagine.

Selezionate Succ (Next) come mostrato nell'immagine.

Immettere un nome e una descrizione significativi, quindi selezionare Avanti come illustrato nell'immagine.

Immettere le informazioni sull'indirizzo IP del pool di server Relay Server. Nell'esempio, la netmask è /24, ma può essere maggiore o minore (dipende dalle dimensioni della rete), come mostrato nell'immagine.

Esclude tutti gli intervalli dal pool. È importante, altrimenti è possibile allocare gli indirizzi IP da questo pool.

Configurare la durata del lease (per impostazione predefinita è di 8 giorni) come illustrato nell'immagine.

È possibile configurare i parametri dell'opzione DHCP come DNS/WINS (ignorati in questo esempio).

Attivate l'ambito come mostrato nell'immagine.

Completate la configurazione come mostrato nell'immagine.

Creare un ambito esteso. Fare clic con il pulsante destro del mouse e scegliere Nuovo ambito esteso come mostrato nell'immagine.

Selezionare Next (Avanti) come mostrato nell'immagine.

Scegliere un nome significativo per l'ambito esteso, come mostrato nell'immagine.

Scegliere l'ambito da aggiungere all'ambito esteso.

Completate l'installazione come mostrato nell'immagine.

Creare un pool DHCP da cui allocare gli indirizzi IP. Fare clic con il pulsante destro del mouse e selezionare Nuovo ambito... come mostrato nell'immagine.

Selezionare Next (Avanti) come mostrato nell'immagine.

Scegliere un nome significativo e una descrizione come illustrato nell'immagine.

Specificare la rete e la maschera per il pool di cui si desidera allocare gli indirizzi IP ai client, come mostrato nell'immagine.

Escludere l'indirizzo IP del gateway PREDEFINITO dal pool (nell'esempio riportato è 10.1.101.1), come mostrato nell'immagine.

Specificare il timer di lease come mostrato nell'immagine.

Facoltativamente è possibile specificare DNS/WINS (ignorato in questo esempio).

Completate la configurazione come mostrato nell'immagine.

Dopo la creazione del pool, è necessario creare un criterio per il pool.

- Nel criterio l'ID circuito agente [1] corrisponde

- Se si hanno più VLAN/VNI, è necessario creare un superpool con subpool per gli indirizzi IP del relay e l'intervallo IP effettivo per l'allocazione per ciascuna VLAN/VNI

- In questo esempio vengono utilizzati VNI 10101 e 10102

Configurazione degli switch:

ip dhcp relay information option vpn   <<<  add the VRF name/VPN ID to the option 82

ip dhcp relay information option       <<< enables option 82

!

ip dhcp snooping vlan 101-102,201-202

ip dhcp snooping

!

vlan configuration 101

member evpn-instance 101 vni 10101

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Loopback102

vrf forwarding green

ip address 10.1.251.2 255.255.255.255

!

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101  <<< DHCP relay source is unique Loopback101

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.12             <<< 192.168.20.12 - DHCP server

!

interface Vlan102

vrf forwarding green

ip dhcp relay source-interface Loopback102  <<< DHCP relay source is unique Loopback102

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.12             <<< 192.168.20.12 - DHCP server

Opzione di configurazione 2 di Win2012 R2 - Corrispondenza con il campo ID circuito agente

- Lo svantaggio dell'ultimo approccio è l'elevato utilizzo di loopback univoci, quindi un'altra opzione è quella di far corrispondere il campo ID circuito agente.

- I passaggi sono gli stessi, ma è possibile aggiungere la creazione di criteri per la selezione dell'ambito non basati sul campo ID circuito agente anziché su Inoltra IP.

Creazione di criteri. Fare clic con il pulsante destro del mouse sul pool e selezionare Nuovo criterio, come mostrato nell'immagine.

Scegliere un nome significativo e una descrizione per il criterio, come illustrato nell'immagine.

Aggiungete la nuova condizione come mostrato nell'immagine.

Immettere l'ID del circuito corretto (non dimenticare la casella Aggiungi carattere jolly (*)) come mostrato nell'immagine.

Chiarimento sul motivo della scelta di questo numero:

In Wireshark, è possibile vedere l'ID del circuito agente uguale a 010a00080002775010a00000, da cui deriva questo valore (0002775 hex = 10101 decimale è uguale alla VNI 10101 configurata per la VLAN 101).

L'opzione secondaria ID circuito agente è codificata nel seguente formato per la VXLAN VN:

Tipo di opzione secondaria

Lunghezza

Tipo ID circuito

Lunghezza

VNI

mod

port

1 byte

1 byte

1 byte

1 byte

4 byte

2 byte

2 byte

01

0a

00

08

00002775

*

*

Configurare l'intervallo IP da cui vengono allocati gli indirizzi IP. Senza questa configurazione non è possibile allocare l'ambito corrente.

In questa fase è possibile anche selezionare le opzioni DHCP standard, come mostrato nell'immagine.

Selezionare Finish (Fine) come mostrato nell'immagine.

Una configurazione simile deve essere eseguita per altri intervalli, come mostrato nell'immagine.

In questo scenario, è possibile utilizzare un solo indirizzo IP univoco per VTEP per il numero di SVI, non un unico loopback per VNI/SVI per VTEP.

Configurazione degli switch:

ip dhcp relay information option vpn     <<<  adds the VRF name/VPN ID to the option 82

ip dhcp relay information option         <<< enables option 82

!

ip dhcp snooping vlan 101-102,201-202

ip dhcp snooping

!

vlan configuration 101

member evpn-instance 101 vni 10101

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101 <<< DHCP relay source

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.12            <<< 192.168.20.12 - DHCP server

!

interface Vlan102

vrf forwarding green

ip dhcp relay source-interface Loopback101 <<< DHCP relay source

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.12            <<< 192.168.20.12 - DHCP server

Configurazione di Windows Server 2016

- Windows Server 2016 supporta l'opzione 82 delle opzioni secondarie 5 (Cisco proprietary 150) "Selezione collegamento", ossia non si utilizza un indirizzo IP di inoltro univoco per la selezione del pool. Viene invece utilizzata l'opzione secondaria "Link selection", che semplifica notevolmente la configurazione.

- È consigliabile disporre ancora di un pool per gli indirizzi IP di inoltro, altrimenti il pacchetto DHCP non corrisponde ad alcun ambito e non viene elaborato.

Nell'esempio viene mostrato come usare l'opzione "link selection".

Avviare il pool di indirizzi IP per gli indirizzi IP Relay come mostrato nell'immagine.

Selezionare Next (Avanti) come mostrato nell'immagine.

Scegliere un nome significativo e una descrizione per l'ambito, come illustrato nell'immagine.

Immettere lo spazio degli indirizzi IP utilizzato per i relè IP, come mostrato nell'immagine.

Escludere tutti gli intervalli dall'ambito per impedire l'allocazione da questo intervallo, come mostrato nell'immagine.

È inoltre possibile scegliere l'opzione DNS/WINS e altri parametri (ignorati in questo esempio) come illustrato nell'immagine.

Selezionare Finish (Fine) come mostrato nell'immagine.

L'ambito degli inoltri è pronto.

- Creare quindi il pool da cui i client ottengono gli indirizzi IP.

- Fare clic con il pulsante destro del mouse e scegliere Nuovo ambito come mostrato nell'immagine.

Selezionate Succ (Next) come mostrato nell'immagine.

Scegliere un nome significativo e una descrizione per il pool, come illustrato nell'immagine.

Immettere lo spazio degli indirizzi IP da allocare alla vlan101, come mostrato nell'immagine.

Escludere l'IP del gateway predefinito dall'ambito come mostrato nell'immagine.

Impostate una Durata lease come mostrato nell'immagine.

È possibile configurare (ignorare in questo esempio) parametri aggiuntivi quali DNS/WINS e altri, come illustrato nell'immagine.

Selezionare Finish (Fine) per completare l'impostazione come mostrato nell'immagine.

Il pool per l'indirizzo IP del relay non è configurato e non corrisponde in formato esadecimale. La selezione del pool si basa sull'opzione secondaria Link selection.

È possibile aggiungere un nuovo pool e non è necessaria alcuna configurazione aggiuntiva, come mostrato nell'immagine.

Server DHCP Linux

Esaminare la configurazione del server isc-dhcp su Linux.

- Supporta l'opzione Relay 82. La più importante è l'opzione secondaria di selezione dei collegamenti. È comunque possibile utilizzare le informazioni sull'ID circuito agente e la maschera esadecimale/corrispondenza per il campo specifico (come è stato fatto per win2012). Da un punto di vista pratico, è molto più facile utilizzare 82[5] che lavorare direttamente con le informazioni sull'ID del circuito agente.

- La configurazione dell'opzione secondaria di selezione del collegamento viene eseguita nella definizione della subnet.

In questo esempio, il server ISC viene utilizzato su Ubuntu Linux.

Installare il server DHCP:

apt-get install isc-dhcp-server

Per configurare il server DHCP, modificare /etc/dhcp/dhcpd.conf. (in un esempio viene utilizzato l'editor Vim)

vim /etc/dhcp/dhcpd.conf

Elemento di cattura configurazione (le configurazioni generali sono omesse):

subnet 10.1.101.0 netmask 255.255.255.0 {

option agent.link-selection 10.1.101.0;  <<< suboption 82[5] definition

option routers 10.1.101.1;

option subnet-mask 255.255.255.0;

range 10.1.101.16 10.1.101.254;

}

subnet 10.1.102.0 netmask 255.255.255.0 {

option agent.link-selection 10.1.102.0;  <<< suboption 82[5] definition

option routers 10.1.102.1;

option subnet-mask 255.255.255.0;

range 10.1.102.16 10.1.102.254;

}

subnet 10.2.201.0 netmask 255.255.255.0 {

option agent.link-selection 10.2.201.0;  <<< suboption 82[5] definition

option routers 10.2.201.1;

option subnet-mask 255.255.255.0;

range 10.2.201.16 10.2.201.254;

}

subnet 10.2.202.0 netmask 255.255.255.0 {

option agent.link-selection 10.2.202.0;  <<< suboption 82[5] definition

option routers 10.2.202.1;

option subnet-mask 255.255.255.0;

range 10.2.202.16 10.2.202.254;

}

Configurazione degli switch

Gli scenari supportati in generale vengono esaminati di seguito.

1. Il client DHCP è nel VRF tenant e il server DHCP è nel VRF predefinito di layer 3

2. Il client DHCP è nel VRF tenant e il server DHCP è nello stesso VRF tenant

3. Il client DHCP è nel VRF tenant e il server DHCP è in un VRF tenant diverso

4. Il client DHCP è nel VRF tenant e il server DHCP è in una VXLAN non predefinita

In uno di questi scenari, è necessario configurare il relay DHCP sul lato switch.

La configurazione DHCP per l'opzione più semplice numero 2.

ip dhcp relay information option      <<< Enables insertion of option 82 into the packet

ip dhcp relay information option vpn  <<< Enables insertion of vpn name/id to the packet - option 82[151]

Per impostazione predefinita, le opzioni secondarie dell'opzione 82 Selezione collegamento e Sostituzione ID server sono proprietarie di Cisco per impostazione predefinita (rispettivamente 150 e 152).

Se per qualche motivo il server DHCP non comprende le opzioni proprietarie Cisco, è possibile modificarlo in uno standard.

ip dhcp compatibility suboption link-selection standard <<< "Link Selection" suboption

ip dhcp compatibility suboption server-override standard <<< "Server ID Override" suboption

Lo snooping DHCP deve essere abilitato per le VLAN necessarie.

ip dhcp snooping vlan 101-102,201-202

ip dhcp snooping

È possibile utilizzare la configurazione globale dell'interfaccia di origine dell'inoltro DHCP.

ip dhcp-relay source-interface Loopback101

In alternativa, è possibile configurarla per interfaccia (la configurazione dell'interfaccia ha la precedenza su quella globale).

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101 <<< DHCP source-interface

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.20

Verificare che esista una connettività IP con indirizzo IP di inoltro in bianco e nero e server DHCP in entrambe le direzioni.

Leaf-01#ping vrf green 192.168.20.20 source lo101

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.20.20, timeout is 2 seconds:

Packet sent with a source address of 10.1.251.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

In configurazione interfaccia, viene configurato l'indirizzo del server DHCP. Per questo comando sono disponibili 3 opzioni. Il client e il server si trovano nello stesso VRF:

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.20         <<< DHCP server ip address

Il client e il server si trovano in VRF diverse (client in verde, server in rosso in questo esempio):

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101

ip address 10.1.101.1 255.255.255.0

ip helper-address vrf red 192.168.20.20   <<< DHCP server is reachable over vrf RED

end

Client in un VRF e server nella tabella di routing globale (GRT):

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101

ip address 10.1.101.1 255.255.255.0

ip helper-address global 192.168.20.20  <<< DHCP server is reachable over global routing table

end

In questa sezione viene esaminata una configurazione tipica per tutte le opzioni.

Il client DHCP è nel VRF tenant e il server DHCP è nel VRF predefinito di layer 3

In questo caso, Lo0 in GRT è una sorgente relè. L'inoltro DHCP è configurato globalmente + per alcune interfacce.

Ad esempio, per il comando vlan101 "IP DHCP relay source-interface Loopback0" non è presente, ma viene utilizzata la configurazione globale.

ip dhcp-relay source-interface Loopback0                 <<< DHCP relay source interface is Lo0

ip dhcp relay information option vpn                     <<< adds the vpn suboption to option 82

ip dhcp relay information option                         <<< enables DHCP option 82

ip dhcp compatibility suboption link-selection standard  <<< switch to standard option 82[5]

ip dhcp compatibility suboption server-override standard <<< switch to standard option 82[11]

ip dhcp snooping vlan 101-102,201-202                    <<< enables dhcp snooping for vlans

ip dhcp snooping                                         <<< enables dhcp snooping globally

!

interface Loopback0

ip address 172.16.255.3 255.255.255.255

ip ospf 1 area 0

!

interface Vlan101

vrf forwarding green

ip address 10.1.101.1 255.255.255.0

ip helper-address global 192.168.20.20           <<< DHCP is reachable over GRT

!

interface Vlan102

vrf forwarding green

ip dhcp relay source-interface Loopback0

ip address 10.1.102.1 255.255.255.0

ip helper-address global 192.168.20.20           <<< DHCP is reachable over GRT

!

interface Vlan201

vrf forwarding red

ip dhcp relay source-interface Loopback0

ip address 10.2.201.1 255.255.255.0

ip helper-address global 192.168.20.20           <<< DHCP is reachable over GRT

Di conseguenza, il pacchetto dell'inoltro DHCP viene inviato su GRT con lo stesso IP/DST SRC IP, ma con opzioni secondarie diverse.

Per vlan101:

- Per Vlan102:

Per la Vlan201 (che è in rosso vrf, non verde come le VLAN 101 e 102):

L'acquisizione dei pacchetti è stata effettuata sulla Spine-01 dall'interfaccia alla Leaf-01:

Spine-01#sh mon cap TAC buff br | i DHCP

5401 4.402431 172.16.255.3 b^F^R 192.168.20.20 DHCP 396 DHCP Discover - Transaction ID 0x1feb

5403 4.403134 192.168.20.20 b^F^R 172.16.255.3 DHCP 362 DHCP Offer - Transaction ID 0x1feb

5416 4.418117 172.16.255.3 b^F^R 192.168.20.20 DHCP 414 DHCP Request - Transaction ID 0x1feb

5418 4.418608 192.168.20.20 b^F^R 172.16.255.3 DHCP 362 DHCP ACK - Transaction ID 0x1feb

Il pacchetto DHCP nel core è IP senza alcun incapsulamento VXLAN:

Spine-01#sh mon cap TAC buff det | b Frame 5401:

Frame 5401: 396 bytes on wire (3168 bits), 396 bytes captured (3168 bits) on interface 0

<...skip...>

[Protocols in frame: eth:ethertype:ip:udp:dhcp]

Ethernet II, Src: 10:b3:d5:6a:8f:e4 (10:b3:d5:6a:8f:e4), Dst: 7c:21:0d:92:b2:e4 (7c:21:0d:92:b2:e4)

<...skip...>

Internet Protocol Version 4, Src: 172.16.255.3, Dst: 192.168.20.20

<...skip...>

User Datagram Protocol, Src Port: 67, Dst Port: 67

<...skip...>

Dynamic Host Configuration Protocol (Discover)

<...skip...>

Un grande vantaggio di questo approccio è che è possibile utilizzare lo stesso indirizzo IP di inoltro per VRF tenant diversi senza perdite di route tra VRF diverse e globali.

Il client DHCP e il server DHCP si trovano nello stesso VRF tenant

In questo caso, ha senso avere l'indirizzo IP Relay nel VRF tenant.

Configurazione degli switch:

ip dhcp relay information option vpn                     <<< adds the vpn suboption to option 82

ip dhcp relay information option                         <<< enables DHCP option 82

ip dhcp compatibility suboption link-selection standard  <<< switch to standard option 82[5]

ip dhcp compatibility suboption server-override standard <<< switch to standard option 82[11]

ip dhcp snooping vlan 101-102,201-202                    <<< enables dhcp snooping for vlans

ip dhcp snooping                                         <<< enables dhcp snooping globally

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Vlan101

vrf forwarding green

ip dhcp relay source-interface Loopback101

ip address 10.1.101.1 255.255.255.0

ip helper-address 192.168.20.20                      <<< DHCP is reachable over vrf green

!

interface Vlan102

vrf forwarding green

ip dhcp relay source-interface Loopback101

ip address 10.1.102.1 255.255.255.0

ip helper-address 192.168.20.20                      <<< DHCP is reachable over vrf green

Per vlan101:

Per vlan102:

Packet capture dell'interfaccia da Spine-01 a Leaf-01:

Spine-01#sh monitor capture TAC buffer brief | i DHCP

2 4.287466 10.1.251.1 b^F^R 192.168.20.20 DHCP 446 DHCP Discover - Transaction ID 0x1894

3 4.288258 192.168.20.20 b^F^R 10.1.251.1 DHCP 412 DHCP Offer - Transaction ID 0x1894

4 4.307550 10.1.251.1 b^F^R 192.168.20.20 DHCP 464 DHCP Request - Transaction ID 0x1894

5 4.308385 192.168.20.20 b^F^R 10.1.251.1 DHCP 412 DHCP ACK - Transaction ID 0x1894

Il pacchetto DHCP nel core ha un incapsulamento VXLAN:

Frame 2: 446 bytes on wire (3568 bits), 446 bytes captured (3568 bits) on interface 0

<...skip...>

[Protocols in frame: eth:ethertype:ip:udp:vxlan:eth:ethertype:ip:udp:dhcp]

Ethernet II, Src: 10:b3:d5:6a:8f:e4 (10:b3:d5:6a:8f:e4), Dst: 7c:21:0d:92:b2:e4 (7c:21:0d:92:b2:e4)

<...skip...>

Internet Protocol Version 4, Src: 172.16.254.3, Dst: 172.16.254.5 <<< VTEP IP addresses

<...skip...>

User Datagram Protocol, Src Port: 65283, Dst Port: 4789

<...skip...>

Virtual eXtensible Local Area Network

Flags: 0x0800, VXLAN Network ID (VNI)

0... .... .... .... = GBP Extension: Not defined

.... .... .0.. .... = Don't Learn: False

.... 1... .... .... = VXLAN Network ID (VNI): True

.... .... .... 0... = Policy Applied: False

.000 .000 0.00 .000 = Reserved(R): 0x0000

Group Policy ID: 0

VXLAN Network Identifier (VNI): 50901 <<<<<<<<<<<< L3VNI for VRF green

Reserved: 0

<--- Inner header started --->

Ethernet II, Src: 10:b3:d5:6a:00:00 (10:b3:d5:6a:00:00), Dst: 7c:21:0d:bd:27:48 (7c:21:0d:bd:27:48)

<...skip...>

Internet Protocol Version 4, Src: 10.1.251.1, Dst: 192.168.20.20

<...skip...>

User Datagram Protocol, Src Port: 67, Dst Port: 67

<...skip...>

Dynamic Host Configuration Protocol (Discover)

<...skip...>

Client DHCP in un VRF tenant e server DHCP in un altro VRF tenant

In questo esempio, il client è in rosso vrf e il server è in verde vrf.

Sono disponibili due opzioni:

- Mantenere l'indirizzo IP di inoltro nel file vrf del client e configurare la perdita di route che aumenta la complessità

- Keep Relay IP in server vrf (come nel caso di GRT)

La scelta del secondo approccio è più semplice, in quanto vengono supportate molte VFR client e non è necessaria alcuna perdita di percorso.

Configurazione degli switch:

ip dhcp relay information option vpn                     <<< adds the vpn suboption to option 82

ip dhcp relay information option                         <<< enables DHCP option 82

ip dhcp compatibility suboption link-selection standard  <<< switch to standard option 82[5]

ip dhcp compatibility suboption server-override standard <<< switch to standard option 82[11]

ip dhcp snooping vlan 101-102,201-202                    <<< enables dhcp snooping for vlans

ip dhcp snooping                                         <<< enables dhcp snooping globally

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Vlan201

vrf forwarding red

ip dhcp relay source-interface Loopback101

ip address 10.2.201.1 255.255.255.0

ip helper-address vrf green 192.168.20.20                <<< DHCP is reachable over vrf green

Per vlan201:

Packet capture sull'interfaccia da Spine-01 a Leaf-01:

Spine-01#sh mon cap TAC buff br | i DHCP

2 0.168829 10.1.251.1 b^F^R 192.168.20.20 DHCP 444 DHCP Discover - Transaction ID 0x10db

3 0.169450 192.168.20.20 b^F^R 10.1.251.1 DHCP 410 DHCP Offer - Transaction ID 0x10db

4 0.933121 10.1.251.1 b^F^R 192.168.20.20 DHCP 462 DHCP Request - Transaction ID 0x10db

5 0.933970 192.168.20.20 b^F^R 10.1.251.1 DHCP 410 DHCP ACK - Transaction ID 0x10db

Nell'esempio, il pacchetto nel core è incapsulato in VXLAN.

Frame 2: 446 bytes on wire (3552 bits), 444 bytes captured (3552 bits) on interface 0

<...skip...>

[Protocols in frame: eth:ethertype:ip:udp:vxlan:eth:ethertype:ip:udp:dhcp]

Ethernet II, Src: 10:b3:d5:6a:8f:e4 (10:b3:d5:6a:8f:e4), Dst: 7c:21:0d:92:b2:e4 (7c:21:0d:92:b2:e4)

<...skip...>

Internet Protocol Version 4, Src: 172.16.254.3, Dst: 172.16.254.5  <<< VTEP IP addresses

<...skip...>

User Datagram Protocol, Src Port: 65283, Dst Port: 4789

<...skip...>

Virtual eXtensible Local Area Network

Flags: 0x0800, VXLAN Network ID (VNI)

0... .... .... .... = GBP Extension: Not defined

.... .... .0.. .... = Don't Learn: False

.... 1... .... .... = VXLAN Network ID (VNI): True

.... .... .... 0... = Policy Applied: False

.000 .000 0.00 .000 = Reserved(R): 0x0000

Group Policy ID: 0

VXLAN Network Identifier (VNI): 50901                              <<< L3VNI for VRF green

Reserved: 0

<--- Inner header started --->

Ethernet II, Src: 10:b3:d5:6a:00:00 (10:b3:d5:6a:00:00), Dst: 7c:21:0d:bd:27:48 (7c:21:0d:bd:27:48)

<...skip...>

Internet Protocol Version 4, Src: 10.1.251.1, Dst: 192.168.20.20

<...skip...>

User Datagram Protocol, Src Port: 67, Dst Port: 67

<...skip...>

Dynamic Host Configuration Protocol (Discover)

<...skip...>

Client DHCP in un VRF tenant e server DHCP in un altro VRF non VXLAN

Questo caso è molto simile all'ultimo. La differenza chiave è che i pacchetti non hanno l'incapsulamento VXLAN - IP puro o qualcos'altro (MPLS/GRE/ecc.), ma è lo stesso dal punto di vista della configurazione.

In questo esempio, il client è in rosso vrf e il server è in verde vrf.

Sono disponibili due opzioni:

- L'indirizzo IP di inoltro si trova nel file vrf del client e configura la perdita di route, aumentando la complessità

- L'indirizzo IP di inoltro si trova nel file vrf del server (come nel primo caso per la tecnologia GRT)

La scelta del secondo approccio è più semplice in quanto vengono supportati molti VFR client e non sono necessarie perdite di percorso.

Configurazione degli switch:

ip dhcp relay information option vpn                     <<< adds the vpn suboption to option 82

ip dhcp relay information option                         <<< enables DHCP option 82

ip dhcp compatibility suboption link-selection standard  <<< switch to standard option 82[5]

ip dhcp compatibility suboption server-override standard <<< switch to standard option 82[11]

ip dhcp snooping vlan 101-102,201-202                    <<< enable dhcp snooping for vlans

ip dhcp snooping                                         <<< enable dhcp snooping globally

!

interface Loopback101

vrf forwarding green

ip address 10.1.251.1 255.255.255.255

!

interface Vlan201

vrf forwarding red

ip dhcp relay source-interface Loopback101

ip address 10.2.201.1 255.255.255.0

ip helper-address vrf green 192.168.20.20               <<< DHCP is reachable over vrf green

Informazioni correlate

- RFC 3046

- RFC 3527

- https://docs.microsoft.com

- Documentazione e supporto tecnico – Cisco Systems