簡介
本檔案介紹不同情況下乙太網路VPN(EVPN)虛擬可擴充區域網路(VXLAN)的動態主機設定通訊協定(DHCP)組態,以及Win2012和Win2016 DHCP伺服器的特定方面。
必要條件
需求
思科建議您瞭解EVPN/VXLAN和DHCP。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- C9300
- C9400
- C9500
- C9600
- MSFT Windows Server 2012 R2
- MSFT Windows Server 2016
- Cisco IOS XE 16.9.x或更高版本提供的功能
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
設定
網路圖表

組態
現在,讓我們檢查DHCP客戶端和伺服器之間的消息流。共有四個階段:

這適用於客戶端和伺服器位於同一子網的情況,但通常情況並非如此。在大多數情況下,DHCP伺服器與客戶端不在同一個子網中,必須通過第3層路由路徑而不是第2層到達。在這種情況下,需要DHCP中繼功能。DHCP中繼(交換機或路由器)功能將廣播轉換為可路由的udp封裝單播,並將其傳送到DHCP伺服器。它如今已成為網路中廣泛使用的配置。
DHCP和EVPN/VXLAN交換矩陣面臨的挑戰:
通常,DHCP伺服器通過L3網路連線到EVPN交換矩陣。這意味著您必須使用DHCP中繼功能將第2層DHCP廣播資料包轉換為第3層單播可路由資料包。
使用DHCP中繼功能時,客戶端、中繼和伺服器之間的DHCP呼叫流的工作方式與以下類似:

中繼後,資料包的源IP是中繼IP。但是,這會在VXLAN/EVPN部署中產生問題,因為由於使用了分散式任播GW(DAG),通常的源IP不是唯一的。 由於所有VTEP SVI源IP都相同,因此這會導致將來自DHCP伺服器的應答資料包轉發到最近的枝葉。

為了解決非唯一源問題,您必須能夠對每個枝葉的中繼DHCP資料包使用唯一的IP地址。另一個問題與GIADDR替換有關。在DHCP伺服器上,您必須選擇正確的池來分配IP地址。從地址池中完成,地址池包含網關IP地址(giaddr)。 對於EVPN交換矩陣,它必須是SVI的IP地址,但在中繼之後,giaddr將被中繼IP地址替換,在本例中該地址是唯一的環回。
如何通知DHCP伺服器,它必須使用哪些池?
為了解決這個問題,使用了選項82。主要有以下幾個重要的子選項:
- 1 — 代理電路ID。在VXLAN/EVPN的情況下,此子選項會傳輸VNI ID
- 5 — (或150表示思科專有)。 DHCP資料包來自的實際子網的Link selection子選項
- 11 -(或152(思科專有)。 具有DHCP伺服器地址的Server Identifier Override子選項
- 151 - VRF名稱/VPN ID。此子選項具有VRF名稱/VPN ID
在從DHCP中繼到DHCP伺服器的資料包捕獲中,您可以看到DHCP資料包中存在的這些不同選項,如下圖所示。

交換機配置:
- 選項82具有選擇正確的DHCP池並將資料包從伺服器返回到正確的枝葉所需的所有必要資訊。
- 這僅當DHCP伺服器可以處理選項82資訊時有效,儘管並非所有伺服器都完全支援它(例如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
伺服器配置
Win2012 R2配置選項1 — 每個VNI/SVI每個VTEP的唯一中繼IP
Win2012的主要問題是選項82不完全支援,因此「鏈路選擇」子選項(5或Cisco專有 — 150)不能用於選擇DHCP伺服器上的正確池。
要解決此類問題,可以使用以下方法:
- 必須建立中繼IP地址的作用域,否則DHCP找不到與DHCP GIADDR匹配的池並忽略資料包。必須將完整的IP範圍從DHCP中排除,以防止從中繼IP池進行分配。我們稱這個池為RELAY_POOL
- 必須建立要分配的IP範圍的作用域。我們稱此池IP_POOL
- 必須建立超級作用域,並且必須同時包括RELAY_POOL和IP_POOL
我們來看看DHCP資料包在伺服器上是如何處理的。
- 伺服器收到DHCP資料包。
- 基於GIADDR。在相應的超級作用域中選擇相應的池RELAY_POOL。
- 由於RELAY_POOL中沒有可用的IP地址(是否記得已排除整個作用域?),因此它在同一超級作用域中回退到IP_POOL。
- 地址從相應的超級池分配,並傳送回中繼。
此方法的一大缺點是您必須每個vtep的每個VLAN/VNI具有唯一的環回,因為DHCP池是根據中繼地址選擇的。
該選項使我們能夠使用大的IP範圍作為中繼IP地址。
選項1:有關如何配置win2012 r2的逐步說明。
為中繼地址建立DHCP作用域。按一下右鍵並選擇New Scope,如下圖所示。
選擇Next,如下圖所示。

填寫一個有意義的名稱和描述,然後選擇下一步,如下圖所示。

填寫中繼池的IP地址資訊。在此範例中,網路遮罩為/24,但如圖所示,它可以大於或小於(視網路大小而定)。

從池中排除所有範圍。這很重要,否則可以從此池分配IP地址。
配置租用時間(預設為8天),如下圖所示。

您可以配置DHCP選項引數,如DNS/WINS(在此示例中跳過)。
啟用作用域,如下圖所示。
完成配置,如下圖所示。
現在建立超級作用域。按一下右鍵並選擇新建超級作用域,如下圖所示。

選擇Next,如下圖所示。
為超級作用域選擇一個有意義的名稱,如下圖所示。
選擇要新增到超級作用域的作用域。
如圖所示完成設定。
建立從中分配IP地址的DHCP池。按一下右鍵並選擇新建範圍…… 如下圖所示。
選擇Next,如下圖所示。
選擇有意義的名稱和描述,如下圖所示。
如圖所示,指定要將IP地址分配給客戶端的池的網路和掩碼。
從池中排除預設網關的IP地址(在本例中為10.1.101.1),如下圖所示。
指定租用計時器,如下圖所示。
或者,您可以指定DNS/WINS(在此示例中跳過)。
完成配置,如下圖所示。
建立池後,必須為池建立策略。
- 在策略中匹配代理電路ID [1]
- 如果您有多個VLAN/VNI,則必須建立具有中繼IP地址子池和每個VLAN/VNI分配的實際IP範圍的超級池
- 此範例使用VNIs 10101和10102
交換機配置:
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

Win2012 R2配置選項2 — 匹配代理電路ID欄位
- 最後一個方法的缺點是唯一的環回的利用率很高,因此另一個選項是匹配代理電路ID欄位。
- 步驟是相同的,但您為範圍選擇新增策略時,不是基於Agent Circuit ID欄位而不是中繼IP。
策略建立。按一下右鍵池並選擇New Policy,如下圖所示。
為策略選擇有意義的名稱和說明,如下圖所示。

新增新條件,如下圖所示。
輸入正確的電路ID(不要忘記附加萬用字元(*)框),如下圖所示。
關於為什麼選擇此數字的說明:
在Wireshark中,可以看到代理電路ID等於010a000800002775010a000,該值是從這裡派生的(00002775十六進位制= 10101十進位制等於為VLAN 101配置的VNI 10101)。

VXLAN VN的代理電路ID子選項按以下格式編碼:
子選項型別 |
長度 |
電路ID型別 |
長度 |
VNI |
mod |
連接埠 |
1位元組 |
1位元組 |
1位元組 |
1位元組 |
4 位元組 |
2位元組 |
2位元組 |
01 |
0a |
00 |
08 |
00002775 |
* |
* |
配置從中分配IP地址的IP範圍。如果沒有此配置,則無法分配當前範圍。

您還可以在此階段選擇標準DHCP選項,如下圖所示。
選擇完成,如下圖所示。

必須為其他範圍執行類似的配置,如下圖所示。

在此案例中,每個VTEP只能對SVI的數量使用一個唯一的IP地址,而不能對每個VNI/SVI每個VTEP使用一個唯一的環回。
交換機配置:
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
Windows Server 2016配置
- Windows Server 2016支援選項82子選項5(Cisco專有150)「鏈路選擇」,這意味著您不會使用唯一的中繼IP地址進行池選擇。而是使用「Link selection」子選項,從而顯著簡化配置。
- 最好您仍然有一個中繼IP地址池,否則DHCP資料包與任何作用域不匹配,不會進行處理。
此示例演示了「鏈路選擇」選項的用法。
啟動中繼IP地址的IP地址池,如下圖所示。

選擇Next,如下圖所示。
為範圍選擇有意義的名稱和說明,如下圖所示。
輸入用於IP中繼的IP地址空間,如下圖所示。
從作用域中排除所有範圍,以阻止從此範圍中進行分配,如下圖所示。

您也可以選擇選項DNS/WINS等引數(在此範例中跳過),如下圖所示。
選擇完成,如下圖所示。

中繼的範圍現已就緒。
- 接下來,建立客戶端從中獲取IP地址的池。
- 按一下右鍵並選擇New Scope,如下圖所示。
選擇Next,如下圖所示。
選擇有意義的池名稱和說明,如下圖所示。
輸入要在vlan101中分配的IP地址空間,如下圖所示。
從作用域中排除預設網關IP,如下圖所示。

設定租用時間,如下圖所示。
如圖所示,您可以設定DNS/WINS等額外引數(在本範例中跳過)。
選擇Finish以完成設定,如下圖所示。

未配置每個中繼IP地址的池,並且未以十六進位制匹配。池選擇基於子選項Link selection。
可以新增新池,無需其他配置,如下圖所示。

Linux DHCP伺服器
檢查Linux上isc-dhcp-server的配置。
- 它支援中繼選項82。在這裡,最重要的選項是鏈路選擇子選項。您仍然可以處理特定欄位的代理電路ID資訊和十六進位制掩碼/匹配(就像對win2012所做的那樣)。 從實用角度來看,使用82[5]比直接使用Agent電路ID資訊要容易得多。
- 鏈路選擇子選項的配置是在子網定義下完成的。
在本示例中,ISC伺服器用於Ubuntu Linux。
安裝DHCP伺服器:
apt-get install isc-dhcp-server
要配置DHCP伺服器,請編輯/etc/dhcp/dhcpd.conf。(示例中使用了Vim編輯器)
vim /etc/dhcp/dhcpd.conf
配置片段(省略常規配置):
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;
}
交換器組態
此處將檢視一般支援的方案。
-
DHCP客戶端位於租戶VRF中,DHCP伺服器位於第3層預設VRF中
-
DHCP客戶端位於租戶VRF中,而DHCP伺服器位於同一個租戶VRF中
-
DHCP客戶端位於租戶VRF中,而DHCP伺服器位於不同的租戶VRF中
-
DHCP客戶端位於租戶VRF中,而DHCP伺服器位於非預設非VXLAN VRF中
無論哪種情況,交換機端都需要配置DHCP中繼。
最簡單選項編號2的DHCP配置。
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]
預設情況下,選項82子選項Link Selection和Server ID Override是思科專有的(分別為150和152)。

如果DHCP伺服器出於任何原因不理解Cisco專有選項,您可以將其更改為標準選項。
ip dhcp compatibility suboption link-selection standard <<< "Link Selection" suboption
ip dhcp compatibility suboption server-override standard <<< "Server ID Override" suboption

必須為必要的VLAN啟用DHCP監聽。
ip dhcp snooping vlan 101-102,201-202
ip dhcp snooping
您可以使用DHCP-relay source-interface全域性配置。
ip dhcp-relay source-interface Loopback101
或者,您可以逐個介面進行配置(介面配置將覆蓋全域性配置)。
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
檢查兩個方向是否都存在IP連線b/w中繼IP地址和DHCP伺服器。
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
在介面配置下,配置DHCP伺服器的地址。此命令可以有3個選項。客戶端和伺服器位於同一個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
客戶端和伺服器位於不同的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 vrf red 192.168.20.20 <<< DHCP server is reachable over vrf RED
end
VRF中的客戶端和全域性路由表(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
現在,此處會檢視所有選項的典型配置。
DHCP客戶端位於租戶VRF中,DHCP伺服器位於第3層預設VRF中
在這種情況下,GRT中的Lo0是中繼源。DHCP中繼針對某些介面進行了全域性配置+。
例如,VLAN101命令「IP DHCP relay source-interface Loopback0」丟失,但它使用全域性配置。
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
因此,使用相同的SRC IP/DST IP但使用不同的子選項通過GRT傳送DHCP中繼資料包。
對於vlan101:


對於Vlan201(為vrf紅色,而不是VLAN 101和102的綠色):

在Spine-01上捕獲的資料包從介面傳輸到枝葉–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
核心層中的DHCP資料包是沒有任何VXLAN封裝的IP:
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...>
此方法的一大優勢是您可以為不同的租戶VRF使用相同的中繼IP地址,而不會在不同的VRF和全域性之間發生路由洩漏。
DHCP客戶端和DHCP伺服器位於同一個租戶VRF中
在這種情況下,租戶VRF中具有中繼IP地址很有意義。
交換機配置:
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
對於vlan101:

對於vlan102:

從主幹–01到枝葉–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
核心中的DHCP資料包具有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...>
一個租戶中的DHCP客戶端VRF和另一個租戶VRF中的DHCP伺服器
在本示例中,客戶端為vrf紅色,伺服器為vrf綠色。
有兩種選擇:
- 保持客戶端vrf中的中繼IP並配置路由洩漏,從而增加複雜性
- 在伺服器vrf中保留中繼IP(類似於您在第一種情況下對GRT所做的操作)
由於支援大量客戶端VRF且不需要路由洩漏,因此選擇第二種方法更簡單。
交換機配置:
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
對於vlan201:

Spine-01到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
在本範例中,核心中的封包採用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...>
一個租戶中的DHCP客戶端VRF和另一個非VXLAN VRF中的DHCP伺服器
這個案例和上一個非常相似。主要區別在於,封包沒有VXLAN封裝 — 純IP或其他(MPLS/GRE/等),但從組態角度看是相同的。
在本示例中,客戶端為vrf紅色,伺服器為vrf綠色。
有兩種選擇:
- 中繼IP位於客戶端vrf中並配置路由洩漏,從而增加複雜性
- Relay IP在伺服器vrf中(類似於第一種情況下對GRT執行的操作)
由於支援大量客戶端VRF且不需要路由洩漏,因此選擇第二種方法更簡單。
交換機配置:
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
相關資訊