Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Configurar

Diagrama de Rede

Configurações

Configuração do servidor

Opção 1 de Configuração do Win2012 R2 - IP de Retransmissão Exclusivo por VNI/SVI por VTEP

Opção 2 de Configuração do Win2012 R2 - Corresponder ao Campo ID do Circuito do Agente

Configuração do Windows Server 2016

Servidor DHCP do Linux

Configuração do Switch

O cliente DHCP está no VRF do usuário e o servidor DHCP está no VRF padrão da camada 3

O cliente DHCP e o servidor DHCP estão no mesmo VRF de locatário

Cliente DHCP em um VRF de usuário e servidor DHCP em outro VRF de usuário

Cliente DHCP em um VRF de usuário e servidor DHCP em outro VRF não VXLAN

Informações Relacionadas

Introduction

Este documento descreve a configuração do Protocolo de Configuração Dinâmica de Host (DHCP - Dynamic Host Configuration Protocol) para a LAN Virtual Extensível (VXLAN - Virtual Extensible LAN) da VPN Ethernet (EVPN - Ethernet VPN) em diferentes cenários e aspectos específicos para os servidores DHCP Win2012 e Win2016.

Prerequisites

Requirements

A Cisco recomenda que você tenha conhecimento de EVPN/VXLAN e DHCP.

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

- C9300

- C9400

- C9500

- C9600

- Microsoft Windows Server 2012 R2

- Microsoft Windows Server 2016

- Recursos disponíveis no Cisco IOS XE 16.9.x ou posterior

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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.

Configurar

Diagrama de Rede

Configurações

Agora, vamos rever o fluxo de mensagens entre o cliente e o servidor DHCP. Há quatro fases:

Isso funciona para os casos em que o cliente e o servidor estão na mesma sub-rede; no entanto, geralmente, esse não é o caso. Na maioria dos casos, o servidor DHCP não está na mesma sub-rede que o cliente e deve estar acessível através de um caminho roteado de camada 3 versus a camada 2. Nesse caso, a funcionalidade de retransmissão DHCP é necessária. O recurso de retransmissão de DHCP (switch ou roteador) converte broadcast em unicast encapsulado por udp que é roteável e o envia ao servidor DHCP. É uma configuração amplamente usada em redes atualmente.

Desafios com a estrutura DHCP e EVPN/VXLAN:

Geralmente, o servidor DHCP é conectado à estrutura EVPN na rede L3. Isso significa que você deve usar a funcionalidade de retransmissão de DHCP para converter um pacote de broadcast DHCP da camada 2 em um pacote roteável unicast da camada 3.

Com o recurso de retransmissão de DHCP, o fluxo de chamadas de DHCP entre o cliente, a retransmissão e o servidor funciona da seguinte forma:

Depois de retransmitido, o IP de origem do pacote é o IP de retransmissão. No entanto, isso cria um problema na implantação de VXLAN/EVPN, pois o IP de origem comum não é exclusivo devido ao uso do Distributed Anycast GW (DAG). Como todos os IPs de origem da SVI VTEP são iguais, isso pode fazer com que os pacotes de resposta do servidor DHCP sejam encaminhados para a folha mais próxima.

Para resolver o problema de origem não exclusivo, você deve ser capaz de usar um endereço IP exclusivo para pacotes DHCP retransmitidos por folha. Outro problema está relacionado à substituição de GIADDR. No servidor DHCP, você deve escolher o pool correto para atribuir o endereço IP. É feito a partir do pool, que cobre o endereço IP do gateway (giaddr). Para a estrutura EVPN, deve ser um endereço IP de SVI, mas após o relay, o giaddr é substituído por um endereço IP de relay que, neste caso, é um loopback exclusivo.

Como você pode informar o servidor DHCP, que pools ele deve usar?

Para resolver esse problema, é usada a opção 82. Estas são as principais subopções:

- 1 - A ID do circuito do agente. No caso de VXLAN/EVPN, esta subopção transfere o ID de VNI

- 5 - (ou 150 para propriedade da cisco). As subopções de seleção de link que têm a sub-rede real, da qual o pacote DHCP veio

- 11 - (ou 152 para proprietário da cisco ). A subopção Server Identifier Override que tem o endereço do servidor DHCP

- 151 - O nome VRF/ID VPN. Essa subopção tem o nome VRF/ID de VPN

Em uma captura de pacote do pacote da retransmissão DHCP para o servidor DHCP, você pode ver essas várias opções presentes no pacote DHCP como mostrado na imagem.

Configuração do Switch:

- A opção 82 tem todas as informações necessárias para escolher o pool DHCP correto e retornar o pacote do servidor para a folha correta.

- Isso só funciona se o servidor DHCP puder processar informações da opção 82, embora nem todos os servidores ofereçam suporte total a elas (como o 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

Configuração do servidor

Opção 1 de Configuração do Win2012 R2 - IP de Retransmissão Exclusivo por VNI/SVI por VTEP

O principal problema com o win2012 é que a opção 82 não é totalmente suportada, de modo que a subopção "Seleção de link" (5 ou proprietário da Cisco - 150) não pode ser usada para selecionar o pool certo no servidor DHCP.

Para resolver esse problema, esta abordagem pode ser usada:

- Um escopo para endereços IP RELAY deve ser criado; caso contrário, o DHCP não encontrará um pool que corresponda ao DHCP GIADDR e ignore o pacote. O intervalo IP completo deve ser excluído do DHCP para impedir a alocação do pool IP RELAY. Chamamos esse pool de RELAY_POOL

- O escopo do intervalo IP que você deseja alocar deve ser criado. Chamamos esse pool de IP_POOL

- O superescopo deve ser criado e ambos os escopos - RELAY_POOL e IP_POOL devem ser incluídos

Vamos ver como o pacote DHCP é processado no servidor.

1. O pacote DHCP é recebido pelo servidor.

2. Com base no pool RESPECTIVO GIADDR, RELAY_POOL é escolhido no superescopo apropriado.

3. Como não há endereços IP livres em RELAY_POOL (você se lembra que o escopo completo foi excluído?), ele retorna para IP_POOL no mesmo superescopo.

4. O endereço é alocado do respectivo superpool e enviado de volta ao Relay.

Uma grande desvantagem desse método é que você precisa ter um loopback exclusivo por VLAN/VNI por vtep, pois o pool DHCP é selecionado com base no endereço de retransmissão.

Essa opção nos leva à utilização de um grande intervalo de IPs para os endereços IP de retransmissão.

Opção 1. Instruções passo a passo sobre como configurar o win2012 r2.

Crie o escopo DHCP para endereços de retransmissão. Clique com o botão direito do mouse e escolha Novo escopo conforme mostrado na imagem.

Selecione Avançar conforme mostrado na imagem.

Preencha um Nome significativo, Descrição e selecione Próximo como mostrado na imagem.

Preencha as informações de endereço IP do pool de retransmissão. Neste exemplo, a máscara de rede é /24, mas pode ser maior ou menor (depende do tamanho da rede) como mostrado na imagem.

Exclua todos os intervalos do pool. Isso é importante, caso contrário, os endereços IP podem ser alocados a partir desse pool.

Configure o Tempo de concessão (por padrão é 8 dias) como mostrado na imagem.

Você pode configurar os parâmetros da opção DHCP como DNS/WINS (ignorados neste exemplo).

Ative o escopo conforme mostrado na imagem.

Conclua a configuração conforme mostrado na imagem.

Agora crie um superescopo. Selecione com o botão direito do mouse e escolha Novo superescopo conforme mostrado na imagem.

Selecione Avançar como mostrado na imagem.

Escolha um nome significativo para o Superescopo como mostrado na imagem.

Escolha o escopo a ser adicionado ao superescopo.

Conclua a configuração conforme mostrado na imagem.

Crie um pool DHCP a partir do qual os endereços IP são alocados. Clique com o botão direito do mouse e selecione Novo escopo... conforme mostrado na imagem.

Selecione Avançar como mostrado na imagem.

Escolha um nome e uma descrição significativos, conforme mostrado na imagem.

Especifique a rede e a máscara para o pool do qual deseja alocar os endereços IP aos clientes, conforme mostrado na imagem.

Exclua o endereço IP do gateway PADRÃO do pool (neste exemplo, é 10.1.101.1) como mostrado na imagem.

Especifique o temporizador Lease conforme mostrado na imagem.

Opcionalmente, você pode especificar DNS/WINS (ignorado neste exemplo).

Conclua a configuração conforme mostrado na imagem.

Após a criação do pool, uma política deve ser criada para o pool.

- Na política, a ID de Circuito do Agente [1] corresponde

- Se você tiver várias Vlans/VNIs, precisará criar um superpool com subpools para endereços IP de retransmissão e o intervalo de IP real para alocação por cada VLAN/VNI

- Este exemplo usa 10101 e 10102 VNIs

Configuração do 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

Opção 2 de Configuração do Win2012 R2 - Corresponder ao Campo ID do Circuito do Agente

- A desvantagem da última abordagem é a alta utilização de loopback exclusivo, portanto, outra opção é corresponder ao campo ID do circuito do agente.

- As etapas são as mesmas, mas você adiciona a criação de política para a seleção de escopo não com base no campo ID de circuito do agente em vez de IP de retransmissão.

Criação de políticas. Clique com o botão direito do mouse no pool e selecione Nova política como mostrado na imagem.

Escolha um nome e uma descrição significativos para a política, conforme mostrado na imagem.

Adicione a nova condição conforme mostrado na imagem.

Insira a ID do circuito apropriada (não se esqueça da caixa Acrescentar caractere curinga (*)) como mostrado na imagem.

Esclarecimento sobre a razão pela qual este número foi escolhido:

No Wireshark, você pode ver o ID de circuito do agente igual a 010a000800002775010a0000, que é de onde esse valor é derivado (00002775 hex = 10101 decimal é igual ao 10101 VNI configurado para a VLAN 101).

A subopção Agent Circuit ID é codificada neste formato para VXLAN VN:

Tipo de Subopção

Duração

Tipo de ID do circuito

Duração

VNI

mod

porta

1 byte

1 byte

1 byte

1 byte

4 bytes

2 byte

2 byte

01

0a

00

08

00002775

*

*

Configure o intervalo IP do qual os endereços IP são alocados. Sem essa configuração, nenhuma alocação para o escopo atual é possível.

Você também pode selecionar opções padrão de DHCP nesse estágio, conforme mostrado na imagem.

Selecione Finish como mostrado na imagem.

Uma configuração semelhante deve ser feita para outros intervalos, conforme mostrado na imagem.

Neste cenário, você pode usar apenas um endereço IP exclusivo por VTEP para números de SVIs, não um loopback exclusivo por VNI/SVI por VTEP.

Configuração do 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

Configuração do Windows Server 2016

- O Windows Server 2016 oferece suporte à opção 82, subopções 5 (proprietário da Cisco 150) "Seleção de link", o que significa que você não usa um endereço IP de retransmissão exclusivo para a seleção de pool. Em vez disso, a subopção "Seleção de link" é usada, o que simplifica significativamente a configuração.

- Seria melhor se você ainda tivesse um pool de endereços IP de retransmissão, caso contrário, o pacote DHCP não corresponde a nenhum escopo e não é processado.

Este exemplo demonstra o uso da opção "seleção de link".

Inicie o pool de endereços IP para os endereços IP de retransmissão conforme mostrado na imagem.

Selecione Avançar como mostrado na imagem.

Escolha um nome significativo e uma descrição para o escopo conforme mostrado na imagem.

Digite o espaço de endereço IP que é usado para retransmissões de IP como mostrado na imagem.

Exclua todos os intervalos do escopo para impedir a alocação desse intervalo, como mostrado na imagem.

Você também pode escolher a opção DNS/WINS etc. parâmetros (ignorados neste exemplo) como mostrado na imagem.

Selecione Finish como mostrado na imagem.

O escopo para relés está pronto agora.

- Em seguida, você cria o pool a partir do qual os clientes obtêm endereços IP.

- Clique com o botão direito do mouse e escolha Novo escopo conforme mostrado na imagem.

Selecione Avançar como mostrado na imagem.

Escolha um nome e uma descrição significativos para o pool, conforme mostrado na imagem.

Insira o espaço de endereço IP para alocação em vlan101 como mostrado na imagem.

Exclua o IP do gateway padrão do escopo conforme mostrado na imagem.

Defina um tempo de concessão conforme mostrado na imagem.

Parâmetros adicionais como DNS/WINS e outros podem ser configurados (ignorados neste exemplo) como mostrado na imagem.

Selecione Finish para concluir a configuração como mostrado na imagem.

O pool por endereço IP de retransmissão não está configurado e não corresponde em HEX. A seleção do pool é baseada na subopção Link selection.

Um novo pool pode ser adicionado e nenhuma configuração adicional é necessária, como mostrado na imagem.

Servidor DHCP do Linux

Reveja a configuração do isc-dhcp-server no Linux.

- Ele suporta a opção de retransmissão 82. Aqui, a mais importante é a subopção de seleção de link. Você ainda pode trabalhar com informações de ID de circuito do agente e máscara hexadecimal/correspondência para o campo específico (como foi feito para o win2012). De uma perspectiva prática, é muito mais fácil usar 82[5] do que trabalhar diretamente com informações de ID de circuito do agente.

- A configuração da subopção de seleção de link é feita sob a definição de sub-rede.

Neste exemplo, o servidor ISC é usado no Ubuntu Linux.

Instale o servidor DHCP:

apt-get install isc-dhcp-server

Para configurar o servidor DHCP, edite /etc/dhcp/dhcpd.conf. (O editor Vim é usado em um exemplo)

vim /etc/dhcp/dhcpd.conf

Trecho de configuração (as configurações gerais são omitidas):

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;

}

Configuração do Switch

Os cenários suportados em geral são revisados aqui.

1. O cliente DHCP está no VRF do locatário e o servidor DHCP está no VRF padrão da camada 3

2. O cliente DHCP está no VRF do locatário e o servidor DHCP está no mesmo VRF do locatário

3. O cliente DHCP está no VRF de locatário e o servidor DHCP está em um VRF de locatário diferente

4. O cliente DHCP está no VRF do locatário e o servidor DHCP está em um VRF não VXLAN padrão

Para qualquer um desses cenários, a configuração de retransmissão DHCP é necessária no lado do switch.

A configuração DHCP da opção número 2 mais simples.

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]

Por padrão, as subopções da opção 82 Link Selection e Server ID Override são propriedade da Cisco por padrão (150 e 152, respectivamente).

Se, por algum motivo, o servidor DHCP não entender as opções de propriedade da Cisco, você poderá alterá-lo para a padrão.

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

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

O rastreamento de DHCP deve ser habilitado para as VLANs necessárias.

ip dhcp snooping vlan 101-102,201-202

ip dhcp snooping

Você pode usar a configuração global DHCP-relay source-interface.

ip dhcp-relay source-interface Loopback101

Ou você pode configurá-la com base em cada interface (a configuração da interface substitui a global).

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

Verifique se há conectividade IP por meio do endereço IP de relé e do servidor DHCP em ambas as direções.

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

Na configuração de interface, o endereço do servidor DHCP é configurado. Pode haver 3 opções para esse comando. O cliente e o servidor estão no mesmo 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

O cliente e o servidor estão em VRFs diferentes (cliente em verde, servidor em vermelho neste exemplo):

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

Cliente em um VRF e servidor na Tabela de Roteamento Global (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

Agora, uma configuração típica para todas as opções é analisada aqui.

O cliente DHCP está no VRF do usuário e o servidor DHCP está no VRF padrão da camada 3

Nesse caso, Lo0 em GRT é uma origem de relé. A retransmissão DHCP é configurada globalmente + para algumas interfaces.

Por exemplo, para o comando vlan101 "IP DHCP relay source-interface Loopback0" está faltando, mas usa a configuração global.

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

Como resultado, o pacote de DHCP Relay é enviado sobre GRT com o mesmo IP SRC/DST IP, mas com subopções diferentes.

Para vlan101:

- Para Vlan102:

Para Vlan201 (que está em vermelho vrf, não verde como as VLANs 101 e 102):

A captura de pacote foi obtida na Spine-01 da interface para a 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

O pacote DHCP no núcleo é IP sem nenhum encapsulamento 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...>

Uma grande vantagem dessa abordagem é que você pode usar o mesmo endereço IP de retransmissão para VRFs de locatários diferentes sem vazamento de rota entre VRFs diferentes e globais.

O cliente DHCP e o servidor DHCP estão no mesmo VRF de locatário

Nesse caso, faz sentido ter o endereço IP de retransmissão no VRF de Locatário.

Configuração do 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

Para vlan101:

Para vlan102:

Captura de pacote da interface Spine-01 para 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

O pacote DHCP no núcleo tem encapsulamento 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...>

Cliente DHCP em um VRF de usuário e servidor DHCP em outro VRF de usuário

Neste exemplo, o cliente está em vermelho vrf e o servidor está em verde vrf.

Você tem duas opções:

- Mantenha o IP de retransmissão no vrf do cliente e configure o vazamento de rota, o que aumenta a complexidade

- Keep Relay IP in server vrf (semelhante ao que você fez para GRT no primeiro caso)

É mais simples escolher a segunda abordagem, já que muitos vrfs de cliente são suportados e o vazamento de rota não é necessário.

Configuração do 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

Para vlan201:

Captura de pacote na interface Spine-01 para 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

Neste exemplo, o pacote no núcleo é encapsulado por 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...>

Cliente DHCP em um VRF de usuário e servidor DHCP em outro VRF não VXLAN

Este caso é muito semelhante ao último. A principal diferença é que os pacotes não têm encapsulamento de VXLAN - IP puro ou outra coisa (MPLS/GRE/etc), mas é o mesmo de uma perspectiva de configuração.

Neste exemplo, o cliente está em vermelho vrf e o servidor está em verde vrf.

Você tem duas opções:

- O IP de retransmissão está no vrf do cliente e configura o vazamento de rota, o que adiciona mais complexidade

- O IP de retransmissão está no vrf do servidor (semelhante ao que foi feito para a GRT no primeiro caso)

É mais simples escolher a segunda abordagem, pois muitos vrfs de cliente são suportados e o vazamento de rota não é necessário.

Configuração do 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

Informações Relacionadas

- RFC 3046

- RFC 3527

- https://docs.microsoft.com

- Suporte Técnico e Documentação - Cisco Systems