Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)

Прызначэнне гэтага артыкула - спрасціць наладу DHCP сэрвісу для фабрыкі VXLAN BGP EVPN and DFA з выкарыстаннем Microsoft Windows Server 2016/2019.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
У афіцыйнай дакументацыі DHCP сэрвіс на базе Microsoft Windows Server 2012 для фабрыкі наладжваецца як SuperScope, які змяшчае пул Loopback (у дадзеным пуле - разыначка гэтае выключэнне з пула ўсіх IP адрасоў пула (excluded IP address = pool)) і пулы выдачы IP адрасоў для рэальны сетак (тут разыначка - наладжваюцца policy - у якіх фільтруюцца DHCP Relay Circuit ID і гэты DHCP relay Circuit ID утрымоўвае VNI для сеткі, т. е. для іншага пула гэты DHCP Relay Circuit ID будзе крыху іншым).

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.

Гэты артыкул змяшчае адказы на наступныя пытанні:


Змест

Увядзенне

У гэтай частцы коратка пералічаныя ўсе зыходныя дадзеныя: Інструкцыі па наладзе сеткавага абсталявання, RFC выкарыстоўваныя ў DHCP пакетах у фабрыках eVPN, даведачна прыведзена эвалюцыя налад DHCP сервера на Microsoft Windows Server 2012 у дакументацыі Cisco. А таксама кароткія звесткі аб Superscope і Policy у сэрвісе DHCP на серверах Microsoft Windows Server.

Як наладжваецца DHCP Relay на фабрыцы VXLAN BGP EVPN, DFA

Настройка DHCP Relay на фабрыцы VXLAN BGP EVPN не з'яўляецца асноўнай тэмай гэтага артыкула, бо яна дастаткова простая. Прыводжу спасылкі на дакументацыю і спойлер па наладах на сеткавым абсталяванні.

Прыклад налады DHCP Relay на 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

RFC якія рэалізаваны ў працы сэрвісу DHCP Relay у фабрыках VXLAN BGP EVPN

RFC#6607: Sub-option 151(0x97) - Virtual Subnet Selection

•	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.

Перадаецца "імя" VRF у якім знаходзіцца кліент.

RFC#5107: Sub-option 11(0xb) - Server ID Override

•	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.

Опцыя выкарыстоўваецца для таго, каб кліент пасылаў запыт аб перападаўжэнні арэнды адраса на IP адрас які выкарыстоўваецца ў гэтай опцыі. (У Cisco VXLAN BGP EVPN – гэта Anycast адрас шлюза па змаўчанні для кліента.)

RFC#3527: Sub-option 5(0x5) - Link Selection

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.

Адрас сеткі, з якой кліенту неабходны IP адрас.

Эвалюцыя дакументацыі Cisco у частцы налады DHCP на Microsoft Windows Server 2012

Уключыў гэты раздзел таму, што прасочваецца станоўчая тэндэнцыя з боку вендара:

Nexus 9000 VXLAN Configuration Guide 7.3

У дакументацыі прыведзена толькі настройка DHCP Relay на сеткавым абсталяванні.

Для настройкі DHCP на Windows Server 2012 выкарыстоўваўся іншы артыкул:

Configuring Microsoft Windows Server 2012 для ажыццяўлення DHCP паслуг у eVPN Scenario (VXLAN, Cisco One Fabric, etc)

У гэтым артыкуле паказваецца, што для кожнай сеткі/VNI неабходна свой звязак SuperScope і свой уласны набор Loopback адрасоў:

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 Configuration Guide 9.3

Дадалі налады Windows 2012 Server у дакументацыю па наладзе сеткавага абсталявання. Для ўсіх выкарыстоўваных пулаў адрасоў неабходны адзін SuperScope на ЦАД і гэты SuperScope з'яўляецца мяжой ЦАД:

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

Вельмі ёміста расказана пра ўсё:

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 у 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.

Што такое SuperScope - гэта функцыянал, які дазваляе аб'яднаць некалькі пулаў IP адрасоў у адну адміністрацыйную адзінку. Каб анансаваць карыстальнікам у адной фізічнай сетцы (у адным VLAN) ip адрасы з некалькіх пулаў. Калі запыт прыйшоў да пула адрасоў у складзе SuperScope, тое выдаць кліенту адрас можна з іншага Scope уваходнага ў гэты SuperScope.

Policy

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.

Палітыкі - дазваляюць прызначаць карыстальнікам IP адрасы ў залежнасці ад тыпу карыстальніка або параметру. Інжынеры Cisco выкарыстоўваюць палітыкі ў Windows Server 2012 для фільтрацыі па VNI (Virtual Network Identifier).

асноўная частка

У дадзеным падзелены праведзены вынікі даследаванняў, чаму не падтрымліваецца, як гэта працуе (логіка), што новага і як гэта новае нам дапаможа.

Чаму не падтрымліваецца Microsoft Windows Server 2000/2003/2008?

Microsoft Windows Server 2008 і больш раннія версіі не апрацоўваюць опцыю 82 (Option 82) і зваротны пакет адпраўляюць без опцыі 82.

Win2k8 R2 DHCP problem with Option82

  1. Запыт ад кліента адпраўляецца Broadcast (DHCP Discover).
  2. Абсталяванне (Nexus) адпраўляе пакет да DHCP сервера (DHCP Discover + Option 82).
  3. DHCP Сервер прымае пакет апрацоўвае, адпраўляе зваротна, але без опцыі 82. (DHCP Offer – without option 82)
  4. Абсталяванне (Nexus) прымае пакет ад DHCP сервера. (DHCP Offer) Але не адпраўляе гэты пакет да канчатковага карыстача.

Дадзеныя сніфера – на Windows Server 2008 і на кліенце DHCPWindows Server 2008 атрымлівае запыт ад сеткавага абсталявання. (Option 82 прысутнічае ў спісе)

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Windows Server 2008 адпраўляе адказ да сеткавага абсталявання. (Option 82 адсутнічае ў спісе опцый у пакеце)
Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Запыт ад кліента - прысутнічаюць DHCP Discover і адсутнічаюць DHCP Offer
Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Статыстыка на сеткавым абсталяванні:

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#

Чаму ў Microsoft Windows Server 2012 настройка такая складаная?

У Microsoft Windows Server 2012 яшчэ не падтрымліваецца RFC#3527 (Option 82 Sub-option 5(0x5) - Link Selection)
Але ўжо рэалізаваны функцыянал Policy.

Як гэта працуе:

  • Microsoft Windows Server 2012 ёсць супер-пул (SuperScope) у якім ёсць адрасы Loopback і пулы для рэальных сетак.
  • Выбар пула для выдачы IP адрасу пападае ў SuperScope, т. к. адказ прыйшоў ад DHCP Relay з Source адрасы Loopback, уваходнага ў SuperScope.
  • Выкарыстоўваючы Policy запыт выбірае з Superscope той member scope, VNI якога ўтрымоўваецца ў Option 82 Suboption 1 Agent Circuit ID. (“0108000600”+ 24 біта VNI + 24 біта значэння якіх мне невядома, але сніфер паказвае значэння 0 у гэтым полі.)

Як спрашчаецца настройка ў Microsoft Windows Server 2016/2019?

У Microsoft Windows Server 2016 рэалізаваны функцыянал RFC#3527. Т. е. Windows Server 2016 умее распазнаваць правільную сетку з атрыбуту Option 82 Sub-option 5(0x5) — Link Selection

Узнікаюць адразу 3 пытанні:

  • Ці можам абысціся без Superscope?
  • Ці можам абысціся без Policy і пераводу VNI у 16-цірычны выгляд?
  • Ці можам абысціся без Scope для Loopback адрасоў DHCP Source?

Q. Ці можам абысціся без Superscope?
A. Так, scope можна ствараць адразу ў вобласці IPv4 адрасоў.
Q. Ці можам абысціся без Policy і пераводу VNI у 16-цірычны выгляд?
A. Так, выбар сеткі адбываецца на аснове Option 82 Suboption 0x5,
Q. Ці можам абысціся без Scope для Loopback адрасоў DHCP Source?
A. Не, не можам. Бо ў Microsoft Windows Server 2016/2019 дзейнічае абарона ад зламысных DHCP запытаў. Т. е. усе запыты з адрасоў, якіх няма ў пуле DHCP сервера лічацца зламыснымі.

DHCP Subnet Selection Options

 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.

Г.зн. для настройкі на Microsoft Windows Server 2016/2019 DHCP пула для VXLAN BGP EVPN фабрыкі неабходна толькі:

  • Стварыць пул для Source адрасоў Relay.
  • Стварыць пул для кліенцкіх сетак

Што не з'яўляецца неабходным (але можна наладзіць і гэта будзе працаваць, і не будзе перашкаджаць працаваць):

  • Ствараць Policy
  • Ствараць SuperScope

ПрыкладПрыклад налады DHCP сервера (прысутнічаюць 2 рэальныя кліенты DHCP — кліенты падлучаныя да VXLAN фабрыкі)

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Прыклад налады карыстацкага пула:

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Прыклад налады карыстацкага пула (выбраныя палітыкі – для доказу, што палітыкі не выкарыстоўваліся для карэктнай працы пула):

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Прыклад настройкі пула для Source адрасоў DHCP Relay (дыяпазон адрасоў для выдачы цалкам адпавядае выключэнню з пула адрасоў):

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Настройка DHCP сэрвісу на Microsoft Windows Server 2019

Настройка пула для Loopback адрасоў (source) для DHCP Relay.

Ствараем новы пул (Scope) у прасторы IPv4.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Майстар стварэння пула. «Next >»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Наладжваем імя пула і апісанне (Description) пула.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Задаем дыяпазон IP адрасоў для Loopback і маску для пула.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Дадаем выключэнні. Дыяпазон выключэнняў павінен цалкам супадаць з дыяпазонам пула.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Час арэнды. «Next >»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Запыт: Ці будзеце наладжваць DHCP опцыі цяпер (DNS, WINS, Gateway, Domain) або зробіце гэта пазней. Хутчэй будзе адказаць не, і пасля актываваць пул уручную. Або прайсці да канца не запаўняючы ні якую інфармацыю і ў канцы майстра актываваць пул.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Пацвярджаем, што опцыі не настроены, пул не актываваны. «Finish»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Актывуем пул уручную. - Выбіраем Scope і ў кантэкстным меню - выбіраем «Activate».

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)

Ствараем пул для карыстальнікаў/сервераў.

Ствараем новы пул.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Майстар стварэння пула. «Next >»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Наладжваем імя пула і апісанне (Description) пула.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Задаем дыяпазон IP адрасоў для Loopback і маску для пула.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Дадаем выключэнні. (Па змаўчанні выключэнняў не патрабуецца) «Next >»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Час арэнды. «Next >»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Запыт: Ці будзеце наладжваць DHCP опцыі цяпер (DNS, WINS, Gateway, Domain) або зробіце гэта пазней. Ды настроім зараз.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Наладжваем адрас шлюза па змаўчанні.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Наладжваем дамен і адрасы DNS сервераў.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Наладжваем IP адрасы WINS сервераў.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Актывацыя Scope.

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)
Пул настроены. «Finish»

Настройка Microsoft Windows Server 2016/2019 для прадастаўлення DHCP сэрвісаў для VXLAN (DFA)

Заключэнне

Выкарыстанне Windows Server 2016/2019 памяншае складанасць налады DHCP сервера для VXLAN фабрыкі (або любой іншай фабрыкі). (Не патрабуецца перадача IT спецыялістам спецыяльныя звязкі: Network/Agent Circuit ID для прапісвання фільтраў.)

Ці будзе працаваць канфігурацыя для Windows Server 2012 на новых серверах 2016/2019 - хай будзе працаваць.

У дадзеным дакуменце прыведзены спасылкі на 2 версіі: 7.X і 9.3. Гэта звязана з тым, што версія 7.0 (3) I7 (7) – Cisco Suggested release, а версія 9.3 – з'яўляецца самай інавацыйнай (аж да падтрымкі Multicast праз VXLAN Multisite).

Спіс крыніц

  1. Nexus 9000 VXLAN Configuration Guide 7.x
  2. Nexus 9000 VXLAN Configuration Guide 9.3
  3. DFA (Cisco Dynamic Fabric Automation)
  4. Configuring Microsoft Windows Server 2012 для ажыццяўлення DHCP паслуг у eVPN Scenario (VXLAN, Cisco One Fabric, etc)
  5. 3.4/XNUMX DHCP Superscopes
  6. Introduction to DHCP Policies
  7. Win2k8 R2 DHCP problem with Option82
  8. DHCP Subnet Selection Options

Крыніца: habr.com

Дадаць каментар