Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)

Der Zweck dieses Artikels besteht darin, die Konfiguration des DHCP-Dienstes für VXLAN BGP EVPN und DFA Fabric unter Verwendung von Microsoft Windows Server 2016/2019 zu vereinfachen.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
In der offiziellen Dokumentation ist der auf Microsoft Windows Server 2012 basierende DHCP-Dienst für die Fabric als SuperScope konfiguriert, der einen Loopback-Pool enthält (das Highlight dieses Pools ist der Ausschluss aller IP-Adressen des Pools aus dem Pool (ausgeschlossene IP-Adresse = Pool)) und Pools zur Vergabe von IP-Adressen für reale Netzwerke (hier ist das Highlight – Richtlinie ist konfiguriert – in dem die DHCP-Relay-Circuit-ID gefiltert wird und diese DHCP-Relay-Circuit-ID die VNI für das Netzwerk enthält, also für einen anderen Pool dieses DHCP-Relay Die Schaltkreis-ID wird etwas anders sein).

To configure DHCP on Windows server. 

1. Create a super scope. Within the super scope, create scope B, S1, S2, S3, …, Sn for the subnet B and the subnets for each segment. 
2. In scope B,  specify the 'Exclusion Range' to be the entire address range (so that the offered address range must not be from this scope). 
3. For every segment scope Si, specify a policy that matches on Agent Circuit ID with value of '0108000600XXXXXX', where '0108000600' is a fixed value for all segments, the 6 numbers "XXXXXX" is the segment ID value in hexadecimal. Also ensure to check the Append wildcard(*) check box. 
4. Set the policy address range to the entire range of the scope.

Dieser Artikel enthält Antworten auf die folgenden Fragen:


Inhalt

Einführung

In diesem Teil werden alle Ausgangsdaten kurz aufgeführt: Anweisungen zum Konfigurieren von Netzwerkgeräten, RFCs, die in DHCP-Paketen in eVPN-Fabriken verwendet werden, die Entwicklung der DHCP-Servereinstellungen auf Microsoft Windows Server 2012 in der Cisco-Dokumentation dienen als Referenz. Sowie kurze Informationen zu Superscope und Policy im DHCP-Dienst auf Microsoft Windows-Servern.

So konfigurieren Sie DHCP-Relay auf einem VXLAN BGP EVPN, DFA Fabric

Die Konfiguration des DHCP-Relays auf einer VXLAN-BGP-EVPN-Struktur ist nicht das Hauptthema dieses Artikels, da sie recht einfach ist. Ich stelle Links zur Dokumentation und einen Spoiler zu den Einstellungen von Netzwerkgeräten bereit.

Beispiel für die Einrichtung eines DHCP-Relays auf Nexus 9000V v9.2(3)

service dhcp
ip dhcp relay
ip dhcp relay information option
ip dhcp relay information option vpn
interface loopback10
  vrf member VRF1
  ip address 10.120.0.1/32 tag 1234567
interface Vlan12
  no shutdown
  vrf member VRF1
  no ip redirects
  ip address 10.120.251.1/24 tag 1234567
  no ipv6 redirects
  fabric forwarding mode anycast-gateway
  ip dhcp relay address 10.0.0.5
  ip dhcp relay source-interface loopback10

RFCs, die beim Betrieb des DHCP-Relay-Dienstes in VXLAN BGP EVPN-Fabrics implementiert werden

RFC#6607: Unteroption 151(0x97) – Auswahl des virtuellen Subnetzes

•	Sub-option 151(0x97) - Virtual Subnet Selection (Defined in RFC#6607)
Used to convey VRF related information to the DHCP server in an MPLS-VPN and VXLAN EVPN multi-tenant environment.

Übermittelt wird der „Name“ des VRF, in dem sich der Client befindet.

RFC#5107: Unteroption 11(0xb) – Server-ID-Überschreibung

•	Sub-option 11(0xb) - Server ID Override (Defined in RFC#5107.) 
The server identifier (server ID) override sub-option allows the DHCP relay agent to specify a new value for the server ID option, which is inserted by the DHCP server in the reply packet. This sub-option allows the DHCP relay agent to act as the actual DHCP server such that the renew requests will come to the relay agent rather than the DHCP server directly. The server ID override sub-option contains the incoming interface IP address, which is the IP address on the relay agent that is accessible from the client. Using this information, the DHCP client sends all renew and release request packets to the relay agent. The relay agent adds all of the appropriate sub-options and then forwards the renew and release request packets to the original DHCP server. For this function, Cisco’s proprietary implementation is sub-option 152(0x98). You can use the ip dhcp relay sub-option type cisco command to manage the function.

Mit dieser Option wird sichergestellt, dass der Client eine Anfrage zur Erneuerung der Adressmiete an die in dieser Option verwendete IP-Adresse sendet. (Bei Cisco VXLAN BGP ist EVPN die Standard-Gateway-Anycast-Adresse des Clients.)

RFC#3527: Unteroption 5(0x5) – Linkauswahl

Sub-option 5(0x5) - Link Selection (Defined in RFC#3527.) 

The link selection sub-option provides a mechanism to separate the subnet/link on which the DHCP client resides from the gateway address (giaddr), which can be used to communicate with the relay agent by the DHCP server. The relay agent will set the sub-option to the correct subscriber subnet and the DHCP server will use that value to assign an IP address rather than the giaddr value. The relay agent will set the giaddr to its own IP address so that DHCP messages are able to be forwarded over the network. For this function, Cisco’s proprietary implementation is sub-option 150(0x96). You can use the ip dhcp relay sub-option type ciscocommand to manage the function.

Adresse des Netzwerks, von dem der Client eine IP-Adresse benötigt.

Entwicklung der Cisco-Dokumentation zur Konfiguration von DHCP auf Microsoft Windows Server 2012

Ich habe diesen Abschnitt eingefügt, da es einen positiven Trend seitens des Anbieters gibt:

Nexus 9000 VXLAN-Konfigurationshandbuch 7.3

Die Dokumentation zeigt nur, wie DHCP-Relay auf Netzwerkgeräten konfiguriert wird.

Ein anderer Artikel wurde zur Konfiguration von DHCP unter Windows Server 2012 verwendet:

Konfigurieren von Microsoft Windows Server 2012 zur Bereitstellung von DHCP-Diensten in einem eVPN-Szenario (VXLAN, Cisco One Fabric usw.)

In diesem Artikel wird darauf hingewiesen, dass jedes Netzwerk/VNI ein eigenes SuperScope-Bundle und einen eigenen Satz von Loopback-Adressen benötigt:

If multiple DHCP Scopes are required for multiple subnets, you need to create one LoopbackX per subnet/vlan on all LEAFS and create a superscope with a loopbackX range scope and actual client IP subnet scope per vlan.

Nexus 9000 VXLAN-Konfigurationshandbuch 9.3

Windows 2012 Server-Einstellungen zur Dokumentation zum Einrichten von Netzwerkgeräten hinzugefügt. Für alle verwendeten Adresspools ist ein SuperScope pro Rechenzentrum erforderlich und dieser SuperScope ist die Grenze des Rechenzentrums:

Create Superscope for all scopes you want to use for Option 82-based policies.
Note
The Superscope should combine all scopes and act as the administrative boundary.

Cisco Dynamic Fabric Automation

Alles ist sehr prägnant erklärt:

Let us assume the switch is using the address from subnet B (it can be the backbone subnet, management subnet, or any customer designated subnet for this purpose) to communicate with the Windows DHCP server. In DFA we have subnets S1, S2, S3, …, Sn for segment s1, s2, s3, …, sn. 

To configure DHCP on Windows server. 

1. Create a super scope. Within the super scope, create scope B, S1, S2, S3, …, Sn for the subnet B and the subnets for each segment. 
2. In scope B,  specify the 'Exclusion Range' to be the entire address range (so that the offered address range must not be from this scope). 
3. For every segment scope Si, specify a policy that matches on Agent Circuit ID with value of '0108000600XXXXXX', where '0108000600' is a fixed value for all segments, the 6 numbers "XXXXXX" is the segment ID value in hexadecimal. Also ensure to check the Append wildcard(*) check box. 
4. Set the policy address range to the entire range of the scope.

DHCP in Microsoft Windows Server (Superscope & Policy)

SuperScope

Superscope is an administrative feature of a DHCP server that can be used to group multiple scopes as a single administrative entity. Superscope allows a DHCP server to provide leases from more than one scope to clients on a single physical network. Scopes added to a superscope are called member scopes.

Was ist SuperScope? Es handelt sich um eine Funktionalität, die es Ihnen ermöglicht, mehrere Pools von IP-Adressen in einer Verwaltungseinheit zu kombinieren. Um Benutzern im selben physischen Netzwerk (im selben VLAN) IP-Adressen aus mehreren Pools bekannt zu geben. Wenn die Anfrage an einen Adresspool als Teil eines SuperScope ging, kann dem Client eine Adresse aus einem anderen in diesem SuperScope enthaltenen Scope zugewiesen werden.

Rückgabepolitik

The DHCP Server role in Windows Server 2012 introduces a new feature that allows you to create IPv4 policies that specify custom IP address and option assignments for DHCP clients based on a set of conditions.

The policy based assignment (PBA) feature allows you to group DHCP clients by specific attributes based on fields contained in the DHCP client request packet. PBA enables targeted administration and greater control of the configuration parameters delivered to network devices with DHCP.

Richtlinien – ermöglichen Ihnen die Zuweisung von IP-Adressen an Benutzer abhängig vom Benutzertyp oder Parameter. Cisco-Ingenieure verwenden Richtlinien in Windows Server 2012, um nach VNI (Virtual Network Identifier) ​​zu filtern.

Startseite

Dieser Abschnitt enthält die Ergebnisse der Forschung, warum es nicht unterstützt wird, wie es funktioniert (Logik), was neu ist und wie uns dieses Neue helfen wird.

Warum wird Microsoft Windows Server 2000/2003/2008 nicht unterstützt?

Microsoft Windows Server 2008 und frühere Versionen verarbeiten Option 82 nicht und das Rückpaket wird ohne Option 82 gesendet.

Win2k8 R2 DHCP-Problem mit Option82

  1. Die Anfrage vom Client wird an Broadcast (DHCP Discover) gesendet.
  2. Das Gerät (Nexus) sendet das Paket an den DHCP-Server (DHCP Discover + Option 82).
  3. Der DHCP-Server empfängt das Paket, verarbeitet es und sendet es zurück, jedoch ohne Option 82. (DHCP-Angebot – ohne Option 82)
  4. Das Gerät (Nexus) empfängt ein Paket vom DHCP-Server. (DHCP-Angebot) Dieses Paket wird jedoch nicht an den Endbenutzer gesendet.

Sniffer-Daten – auf Windows Server 2008 und auf dem DHCP-ClientWindows Server 2008 empfängt eine Anfrage von Netzwerkgeräten. (Option 82 ist in der Liste vorhanden)

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Windows Server 2008 sendet die Antwort an die Netzwerkgeräte. (Option 82 ist im Paket nicht als Option aufgeführt)
Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Anfrage vom Client – ​​DHCP Discover ist vorhanden und DHCP Offer fehlt
Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Statistiken zur Netzwerkausrüstung:

NEXUS-9000V-SW-1# show ip dhcp relay statistics 
----------------------------------------------------------------------
Message Type             Rx              Tx           Drops  
----------------------------------------------------------------------
Discover                  8               8               0
Offer                     8               8               0
Request(*)                0               0               0
Ack                       0               0               0
Release(*)                0               0               0
Decline                   0               0               0
Inform(*)                 0               0               0
Nack                      0               0               0
----------------------------------------------------------------------
Total                    16              16               0
----------------------------------------------------------------------

DHCP L3 FWD:
Total Packets Received                           :         0
Total Packets Forwarded                          :         0
Total Packets Dropped                            :         0
Non DHCP:
Total Packets Received                           :         0
Total Packets Forwarded                          :         0
Total Packets Dropped                            :         0
DROP:
DHCP Relay not enabled                           :         0
Invalid DHCP message type                        :         0
Interface error                                  :         0
Tx failure towards server                        :         0
Tx failure towards client                        :         0
Unknown output interface                         :         0
Unknown vrf or interface for server              :         0
Max hops exceeded                                :         0
Option 82 validation failed                      :         0
Packet Malformed                                 :         0
Relay Trusted port not configured                :         0
DHCP Request dropped on MCT                      :         0
*  -  These counters will show correct value when switch 
receives DHCP request packet with destination ip as broadcast
address. If request is unicast it will be HW switched
NEXUS-9000V-SW-1#

Warum ist die Konfiguration in Microsoft Windows Server 2012 so komplex?

Microsoft Windows Server 2012 unterstützt RFC#3527 noch nicht (Option 82 Unteroption 5(0x5) – Linkauswahl)
Die Richtlinienfunktionalität wurde jedoch bereits implementiert.

Wie es funktioniert:

  • Microsoft Windows Server 2012 verfügt über einen Superpool (SuperScope), der Loopback-Adressen und Pools für echte Netzwerke enthält.
  • Die Auswahl des Pools für die Vergabe einer IP-Adresse obliegt SuperScope, da die Antwort vom DHCP-Relay mit der in SuperScope enthaltenen Loopback-Quelladresse kam.
  • Mithilfe der Richtlinie wählt die Anforderung aus Superscope den Mitgliedsbereich aus, dessen VNI in Option 82 Suboption 1 Agent Circuit ID enthalten ist. („0108000600“+ 24 Bit VNI + 24 Bit, deren Werte mir unbekannt sind, aber der Sniffer zeigt in diesem Feld Werte von 0 an.)

Wie wird die Einrichtung in Microsoft Windows Server 2016/2019 vereinfacht?

Microsoft Windows Server 2016 implementiert die RFC#3527-Funktionalität. Das heißt, Windows Server 2016 kann das richtige Netzwerk anhand des Attributs „Option 82 Sub-option 5(0x5) – Link Selection“ erkennen

Es stellen sich sofort drei Fragen:

  • Können wir auf Superscope verzichten?
  • Können wir auf Policy verzichten und VNI in Hexadezimalform umwandeln?
  • Können wir auf Scope für Loopback-DHCP-Quelladressen verzichten?

Q. Können wir auf Superscope verzichten?
A. Ja, im Bereich der IPv4-Adressen kann ab sofort Scope angelegt werden.
Q. Können wir auf Policy verzichten und VNI in Hexadezimalform umwandeln?
A. Ja, die Netzwerkauswahl basiert auf Option 82, Unteroption 0x5.
Q. Können wir auf Scope für Loopback-DHCP-Quelladressen verzichten?
A. Nein Wir können nicht. Denn Microsoft Windows Server 2016/2019 verfügt über einen Schutz vor böswilligen DHCP-Anfragen. Das heißt, alle Anfragen von Adressen, die nicht im DHCP-Serverpool enthalten sind, gelten als bösartig.

DHCP-Subnetz-Auswahloptionen

 Note
All relay agent IP addresses (GIADDR) must be part of an active DHCP scope IP address range. Any GIADDR outside of the DHCP scope IP address ranges is considered a rogue relay and Windows DHCP Server will not acknowledge DHCP client requests from those relay agents.

A special scope can be created to "authorize" relay agents. Create a scope with the GIADDR (or multiple if the GIADDR's are sequential IP addresses), exclude the GIADDR address(es) from distribution, and then activate the scope. This will authorize the relay agents while preventing the GIADDR addresses from being assigned.

Diese. Um einen DHCP-Pool für eine VXLAN BGP EVPN Factory auf Microsoft Windows Server 2016/2019 zu konfigurieren, benötigen Sie nur:

  • Erstellen Sie einen Pool für Quell-Relay-Adressen.
  • Erstellen Sie einen Pool für Client-Netzwerke

Was nicht notwendig ist (aber konfiguriert werden kann und funktioniert und die Arbeit nicht beeinträchtigt):

  • Richtlinie erstellen
  • Erstellen Sie SuperScope

BeispielBeispiel für die Einrichtung eines DHCP-Servers (es gibt 2 echte DHCP-Clients – die Clients sind mit der VXLAN-Fabric verbunden)

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Beispiel für die Einrichtung eines Benutzerpools:

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Ein Beispiel für die Einrichtung eines Benutzerpools (Richtlinien werden ausgewählt – um zu beweisen, dass Richtlinien nicht für den korrekten Betrieb des Pools verwendet wurden):

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Ein Beispiel für die Konfiguration eines Pools für Quell-DHCP-Relay-Adressen (der Adressbereich für die Ausgabe entspricht vollständig dem Ausschluss aus dem Adresspool):

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Einrichten eines DHCP-Dienstes auf Microsoft Windows Server 2019

Konfigurieren eines Pools für Loopback-Adressen (Quelle) für DHCP-Relay.

Wir erstellen einen neuen Pool (Scope) im IPv4-Bereich.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Assistent zur Poolerstellung. „Weiter >“

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Konfigurieren Sie den Poolnamen und die Beschreibung des Pools.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Legen Sie den IP-Adressbereich für Loopback und die Maske für den Pool fest.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Ausnahmen hinzufügen. Der Ausschlussbereich muss genau mit dem Poolbereich übereinstimmen.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Mietzeit. „Weiter >“

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Frage: Konfigurieren Sie die DHCP-Optionen jetzt (DNS, WINS, Gateway, Domäne) oder tun Sie dies später. Es wäre schneller, mit „Nein“ zu antworten und den Pool dann manuell zu aktivieren. Oder gehen Sie zum Ende, ohne irgendwelche Informationen auszufüllen, und aktivieren Sie den Pool am Ende des Assistenten.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Wir bestätigen, dass die Optionen nicht konfiguriert sind und der Pool nicht aktiviert ist. "Beenden"

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Wir aktivieren den Pool manuell. — Wählen Sie Scope und im Kontextmenü — wählen Sie „Aktivieren“.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)

Wir erstellen einen Pool für Benutzer/Server.

Wir erstellen einen neuen Pool.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Assistent zur Poolerstellung. „Weiter >“

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Konfigurieren Sie den Poolnamen und die Beschreibung des Pools.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Legen Sie den IP-Adressbereich für Loopback und die Maske für den Pool fest.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Ausnahmen hinzufügen. (Standardmäßig sind keine Ausnahmen erforderlich) „Weiter >“

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Mietzeit. „Weiter >“

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Frage: Konfigurieren Sie die DHCP-Optionen jetzt (DNS, WINS, Gateway, Domäne) oder tun Sie dies später. Lass es uns jetzt einrichten.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Konfigurieren Sie die Standard-Gateway-Adresse.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Wir konfigurieren die Domänen- und DNS-Serveradressen.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Konfigurieren von IP-Adressen von WINS-Servern.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Scope-Aktivierung.

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)
Der Pool ist konfiguriert. "Beenden"

Konfigurieren von Microsoft Windows Server 2016/2019 zur Bereitstellung von DHCP-Diensten für VXLAN (DFA)

Abschluss

Die Verwendung von Windows Server 2016/2019 reduziert die Komplexität der Einrichtung eines DHCP-Servers für eine VXLAN-Fabric (oder eine andere Fabric). (Es ist nicht erforderlich, spezielle Links an IT-Spezialisten zu übertragen: Netzwerk-/Agenten-Circuit-ID zur Registrierung von Filtern.)

Funktioniert die Konfiguration für Windows Server 2012 auf neuen Servern 2016/2019? Ja, sie wird funktionieren.

Dieses Dokument enthält Verweise auf zwei Versionen: 2.X und 7. Dies liegt daran, dass Version 9.3(7.0)I3(7) eine von Cisco empfohlene Version ist und Version 7 die innovativste ist (sie unterstützt sogar Multicast über VXLAN Multisite).

Liste der Quellen

  1. Nexus 9000 VXLAN-Konfigurationshandbuch 7.x
  2. Nexus 9000 VXLAN-Konfigurationshandbuch 9.3
  3. DFA (Cisco Dynamic Fabric Automation)
  4. Konfigurieren von Microsoft Windows Server 2012 zur Bereitstellung von DHCP-Diensten in einem eVPN-Szenario (VXLAN, Cisco One Fabric usw.)
  5. 3.4 DHCP-Superscopes
  6. Einführung in DHCP-Richtlinien
  7. Win2k8 R2 DHCP-Problem mit Option82
  8. DHCP-Subnetz-Auswahloptionen

Source: habr.com

Kommentar hinzufügen