簡介
本文檔介紹如何在Cisco SD-WAN IOS® XE路由器上配置DHCP伺服器並對其進行故障排除。
必要條件
需求
思科建議您瞭解以下主題:
- 思科軟體定義廣域網路(SD-WAN)
- Cisco SD-WAN IOS XE命令列介面(CLI)
- 封包分析器
- 基本DHCP
採用元件
本檔案是根據以下軟體和硬體版本所編制:
- 路由器c8000v 17.9.4
- vManage 20.9.4
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
本節介紹動態主機配置協定(DHCP)用於向客戶端分配有效IP地址的基本概念和過程。
消息 |
說明 |
DHCP發現 |
當新裝置加入網路或需要更新其IP地址租用時,它會傳送DHCP發現消息。此消息通常在本地網段上廣播,以便發現可用的DHCP伺服器。 |
DHCP提供 |
網路上的DHCP伺服器接收DHCP發現消息並使用DHCP提供進行響應。在此服務中,他們向請求裝置建議一個可用的IP地址和其他網路配置設定。 |
DHCP請求 |
請求裝置選擇所提供的IP地址之一,並向所選擇的DHCP伺服器傳送DHCP請求消息。此消息確認裝置對提供的IP地址和配置設定的請求。 |
DHCP確認 |
獲取DHCP請求消息的DHCP伺服器使用DHCP確認(ACK)進行響應。此ACK確認請求並確認裝置可以使用提供的IP地址和相關網路配置。 |
IP地址分配 |
當存在DHCP ACK時,裝置使用提供的IP地址和其他配置引數配置其網路介面。現在它擁有有效的IP地址,可以在網路上通訊。 |
租期 |
DHCP伺服器為IP地址分配租用持續時間。此租約指定裝置可以使用IP地址的時間。如果裝置要保留相同的IP地址,則必須在租期到期之前續訂租約。 |
續租 |
裝置會定期啟動租用續訂,並會向最初分配了IP地址的DHCP伺服器傳送DHCP請求。如果伺服器批准續訂,它將傳送DHCP ACK,並且裝置的租期會延長。 |
預設租用時間 |
是裝置在必須續訂或請求延長其IP地址分配之前,允許使用其分配的IP地址的預設時間,此值為86400秒。 |
租賃到期 |
如果裝置不續租或斷開與網路的連線,DHCP伺服器最終會收回租用的IP地址。這樣,該地址就可供其他裝置使用。 |
總而言之,DHCP執行客戶端裝置廣播請求的過程。DHCP伺服器響應提供請求,裝置選擇提供請求,DHCP伺服器確認請求。這就是分配IP地址的方式。租用期限可確保有效地管理IP地址,並在不再使用時收回它們。
設定
最常見的使用案例之一是,路由器充當網關,以便使用DIA功能為分支機構的使用者提供網際網路服務,然後需要從指定的特定網段獲取IP地址。
網路圖表
組態
本指南認為路由器已經在Cisco vManage(具有控制連線)上形成了板載配置,並且已經連線了裝置模板,並配置了服務VPN。本文檔的範圍包括新增DHCP配置以提供動態IP分配。
通過vManage模板在Cisco IOS XE SD-WAN路由器上配置DHCP伺服器
步驟 1.在vManage上,導航至 Configuration > Templates
.
步驟 2.導航至 Feature Templates > Add Template
並選擇正確的型號;C8000v用於此示例。
步驟 3.在其他模板中,選擇 Cisco DHCP Server
.
步驟 4.新增名稱和說明。
步驟 5.配置DHCP伺服器引數(如此處列出的引數並儲存更改)。
- 地址池:可分配地址池。
- 排除地址:您不想分配的地址。
- 租用時間(秒):此IP地址可以租用的時間量。
- 預設網關:DHCP客戶端視為預設網關的IP地址。
步驟 6.導航至 Device Templates
,編輯現有裝置模板或建立新模板並導航至 Service VPN
選項。
步驟 7.導航至 Add VPN
,按一下 Create VPN Template
,並新增VPN服務值。
步驟 8.新增 Cisco VPN Interface Ethernet
,從下拉選單中選擇 Create Template
,
新增基本值(如此處列出的值),然後儲存更改。
- Shutdown:將其置於no中以開啟介面。
- 介面名稱:選擇要作為DHCP客戶端的預設網關的介面。
- 說明:該介面的說明。
- 動態/靜態IPv4地址:選擇介面的IP地址。
- IPv4 Address/prefix-length:選擇IP地址和字首長度。
步驟 9.選擇Sub-Templates和Cisco DHCP Server;從下拉選單中選擇先前建立的模板,然後按一下Add。
步驟 10.建立模板或儲存更改,然後從Device Templates中選擇正確的Device Template並選擇Attach Devices。
步驟 11.選擇正確的裝置,然後按一下Attach。
步驟 12.新增請求的資訊,然後按一下下一步。
步驟 13.按一下裝置並配置diff。
步驟 14.驗證設定.
步驟 15.按一下Configure Devices,等待任務完成。
通過CLI在Cisco IOS XE SD-WAN路由器上配置DHCP伺服器
步驟 1.導覽至組態模式。
cEdge#config-transaction
admin connected from 127.0.0.1 using console on Router
cEdge(config)#
步驟 2.配置DHCP池,分配此處列出的值,並儲存更改。
- 名稱:為DHCP池命名。
- VRF:新增服務VRF。
- 網路:使用要分配的地址配置網路。
- Default-Router:定義DHCP客戶端的預設網關。
- DNS-Server:指定DNS伺服器。
cEdge(config)# ip dhcp pool CISCO
cEdge(dhcp-config)# vrf 40
cEdge(dhcp-config)# network 10.4.5.0 255.255.255.0
cEdge(dhcp-config)# default-router 10.4.5.1
cEdge(dhcp-config)# dns-server 8.8.8.8
cEdge(dhcp-config)# commit
步驟 3.在介面上配置DHCP客戶端的預設網關IP地址並儲存更改。
cEdge(config)# interface GigabitEthernet2
cEdge(config-if)# ip address 10.4.5.1 255.255.255.0
cEdge(config-if)# no shut
cEdge(config-if)# commit
驗證
使用CLI驗證與已配置的池相關的資訊 show ip dhcp pool
指令。
cEdge#show ip dhcp pool CISCO
Pool CISCO :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 77
Excluded addresses : 86
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased/Excluded/Total
10.4.5.1 10.4.5.1 - 10.4.5.254 77 / 86 / 254
cEdge#
驗證所有分配的地址 show ip dhcp binding
指令。
cEdge#show ip dhcp binding
Bindings from all pools not associated with VRF:
IP address Client-ID/ Lease expiration Type State Interface
Hardware address/
User name
--- Output omitted ---
10.4.5.5 c08f.2073.8a83 Oct 3 2023 06:39 PM Automatic Active GigabitEthernet1
--- Output omitted ---
驗證所有統計資訊,如接收和傳送的消息的計數器、過期的租用地址等 show ip dhcp server statistics
.
cEdge#show ip dhcp server statistics
Memory usage 60892
Address pools 1
Database agents 0
Automatic bindings 78
Manual bindings 0
Expired bindings 0
Malformed messages 0
Secure arp entries 0
Renew messages 0
Workspace timeouts 0
Static routes 0
Relay bindings 0
Relay bindings active 0
Relay bindings terminated 0
Relay bindings selecting 0
Message Received
BOOTREQUEST 0
DHCPDISCOVER 120
DHCPREQUEST 78
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
DHCPVENDOR 0
BOOTREPLY 0
DHCPOFFER 0
DHCPACK 0
DHCPNAK 0
Message Sent
BOOTREPLY 0
DHCPOFFER 78
DHCPACK 78
DHCPNAK 0
Message Forwarded
BOOTREQUEST 0
DHCPDISCOVER 0
DHCPREQUEST 0
DHCPDECLINE 0
DHCPRELEASE 0
DHCPINFORM 0
DHCPVENDOR 0
BOOTREPLY 0
DHCPOFFER 0
DHCPACK 0
DHCPNAK 0
DHCP-DPM Statistics
Offer notifications sent 0
Offer callbacks received 0
Classname requests sent 0
Classname callbacks received 0
cEdge#
驗證是否可能與衝突 show ip dhcp conflicts
.
cEdge#show ip dhcp conflict
IP address Detection method Detection time VRF
10.4.5.3 Ping Oct 03 2023 06:39 PM
10.4.5.5 Ping Oct 03 2023 06:39 PM
10.4.5.4 Ping Oct 03 2023 06:39 PM
10.4.5.6 Ping Oct 03 2023 06:39 PM
10.4.5.8 Ping Oct 03 2023 06:39 PM
10.4.5.7 Ping Oct 03 2023 06:39 PM
10.4.5.9 Ping Oct 03 2023 06:39 PM
10.4.5.13 Ping Oct 03 2023 06:39 PM
10.4.5.14 Ping Oct 03 2023 06:39 PM
10.4.5.16 Ping Oct 03 2023 06:39 PM
10.4.5.15 Ping Oct 03 2023 06:39 PM
10.4.5.17 Ping Oct 03 2023 06:39 PM
10.4.5.18 Ping Oct 03 2023 06:39 PM
10.4.5.19 Ping Oct 03 2023 06:39 PM
10.4.5.21 Ping Oct 03 2023 06:39 PM
10.4.5.22 Ping Oct 03 2023 06:39 PM
10.4.5.23 Ping Oct 03 2023 06:39 PM
10.4.5.24 Ping Oct 03 2023 06:39 PM
10.4.5.25 Ping Oct 03 2023 06:39 PM
10.4.5.26 Ping Oct 03 2023 06:39 PM
10.4.5.31 Ping Oct 03 2023 06:39 PM
10.4.5.32 Ping Oct 03 2023 06:39 PM
10.4.5.36 Ping Oct 03 2023 06:39 PM
10.4.5.35 Ping Oct 03 2023 06:39 PM
10.4.5.40 Ping Oct 03 2023 06:39 PM
10.4.5.39 Ping Oct 03 2023 06:39 PM
檢驗DHCP配置 show running-config | section dhcp
.
cEdge#show running-config | section dhcp
no ip dhcp use class
ip dhcp pool CISCO
network 10.4.5.0 255.255.255.0
default-router 10.4.5.1
dns-server 8.8.8.8
lease 100
ip route 0.0.0.0 0.0.0.0 dhcp 20
cEdge
使用CLI驗證充當DHCP客戶端預設網關的介面的狀態 show interfaces GigabitEthernet1
指令。
cEdge#show interfaces GigabitEthernet1
GigabitEthernet1 is up, line protocol is up
Hardware is vNIC, address is 0050.56b3.6fbb (bia 0050.56b3.6fbb)
Internet address is 10.4.5.1/24
MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full Duplex, 1000Mbps, link type is auto, media type is Virtual
output flow-control is unsupported, input flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:00, output hang never
Last clearing of "show interface" counters never
Input queue: 0/375/51623/140000 (size/max/drops/flushes); Total output drops: 1322
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1628000 bits/sec, 855 packets/sec
5 minute output rate 21000 bits/sec, 13 packets/sec
2868354905 packets input, 657207872035 bytes, 0 no buffer
Received 0 broadcasts (0 IP multicasts)
0 runts, 0 giants, 0 throttles
588 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 0 multicast, 0 pause input
66586780 packets output, 23880813581 bytes, 0 underruns
Output 0 broadcasts (0 IP multicasts)
0 output errors, 0 collisions, 4 interface resets
1102044 unknown protocol drops
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 pause output
0 output buffer failures, 0 output buffers swapped out
cEdge#
疑難排解
在此您可以找到在DHCP伺服器和DHCP客戶端之間交換消息才能完成IP地址分配:
*Oct 3 20:35:48.042: DHCPD: DHCPDISCOVER received from client c08f.2073.8a83 on interface
GigabitEthernet1.
*Oct 3 20:35:48.042: DHCPD: Option 125 not present in the msg.
*Oct 3 20:35:48.042: Option 82 not present
*Oct 3 20:35:48.042: Option 82 not present
*Oct 3 20:35:48.042: DHCPD: Option 125 not present in the msg.
*Oct 3 20:35:48.042: DHCPD: Sending notification of DISCOVER:
*Oct 3 20:35:48.042: DHCPD: htype 1 chaddr c08f.2073.8a83
*Oct 3 20:35:48.042: DHCPD: remote id 020a0000ac0c025f01000000
*Oct 3 20:35:48.042: DHCPD: interface = GigabitEthernet1
*Oct 3 20:35:48.042: DHCPD: Sending DHCPOFFER to client c08f.2073.8a83 (10.4.5.5).DHCPD:
Setting only requested parameters
*Oct 3 20:35:48.042: DHCPD: classname not set in msg
*Oct 3 20:35:48.042: DHCPD: Selecting relay q from pool
*Oct 3 20:35:48.042: DHCPD: DHCPREQUEST received from client c08f.2073.8a83.
*Oct 3 20:35:48.042: DHCPD: DHCPREQUEST received on interface GigabitEthernet1.
*Oct 3 20:35:48.042: DHCPD: Found previous binding
*Oct 3 20:35:48.042: DHCPD: Allocated binding 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD: Adding binding to radix tree (10.4.5.5)
*Oct 3 20:35:48.042: DHCPD: Adding binding to hash tree 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD:dhcpd_binding_add_to_mac_hash: index- 461 add binding 7F6C1C366788
*Oct 3 20:35:48.042: DHCPD: 7F6C1C366788 inserting in mac hash next to 7F6C1C368FC8
*Oct 3 20:35:48.043: DHCPD: assigned IP address 10.4.5.5 to client c08f.2073.8a83.
*Oct 3 20:35:48.043: DHCPD: Saving workspace (ID=0xB200004F)
*Oct 3 20:35:48.043: DHCPD: New packet workspace 0x7F6C9CBE0FB8 (ID=0xAE000050)
*Oct 3 20:35:50.043: DHCPD: Reprocessing saved workspace (ID=0xB200004F)
*Oct 3 20:35:50.054: DHCPD: Sending DHCPACK to client c08f.2073.8a83 (10.4.5.5).DHCPD: Setting
only requested parameters
以下是在路由器上可以啟用的調試,用於解決DHCP問題:
偵錯 |
說明 |
調試ip dhcp伺服器事件 |
此命令顯示DHCP伺服器相關事件,例如DHCP客戶端請求、IP地址分配和其他重要的伺服器活動。檢視DHCP事件的摘要非常有用。 |
Debug ip dhcp server packet |
此命令顯示有關進入和離開伺服器的DHCP資料包的詳細資訊。您可以檢視DHCP請求、提供、請求和確認以調試通訊問題。 |
Debug ip dhcp conflict |
如果您的網路存在IP地址衝突問題,可以使用此命令調試和顯示有關DHCP衝突的資訊。 |
Debug ip dhcp binding |
此命令顯示有關DHCP伺服器分配的IP地址的資訊,包括分配的IP地址、客戶端的MAC地址和租用持續時間。 |
調試ip dhcp伺服器統計資訊 |
此命令顯示與DHCP伺服器操作相關的統計資訊,例如收到的DHCP請求數、IP地址租用和租用時間等。 |
全部取消調試 |
為了停止所有調試命令,您可以使用 undebug all 命令禁用所有正在進行的調試。 |
使用嵌入式資料包捕獲(EPC)和vManage捕獲工具捕獲DHCP流量
cEdge#monitor capture DHCP interface GigabitEthernet 1 both match any buffer circular limit pps 2000
Interface GigabitEthernet1 direction BOTH is already attached to the capture
Packets per second limit is already set, replace?[confirm]
cEdge#monitor capture DHCP start
Started capture point : DHCP
cEdge#
--- Wait some time to let DHCP negotiation proceed ---
cEdge#monitor capture DHCP stop
Stopped capture point : DHCP
cEdge#
然後使用以下命令匯出捕獲:
cEdge#monitor capture DHCP export bootflash:DHCP.pcap
Exported Successfully
cEdge#
若要清除擷取,請發出以下命令:
cEdge#monitor capture DHCP clear
Captured data is deleted [clear]?[confirm]
cleared buffer : DHCP
cEdge#
然後使用WireShark,確認您看到以下封包參與交涉:
開啟封包時必須看到以下資訊:
發現資料包
- 必須驗證的最重要資訊是源MAC地址;該地址必須與DHCP客戶端的MAC匹配。
- 目的地是
ff:ff:ff:ff:ff:ff
因為它是廣播地址,所以DHCP客戶端會傳送此消息來發現DHCP伺服器。
- 源IP地址設定為
0.0.0.0
.
- 用於此協商的埠是UDP 67和68。
- 您可以看到資料包包含的選項;這是關於DHCP伺服器在資料包上請求的資訊。
提供資料包
- 現在您可以看到源地址是不同的,因為DHCP伺服器已知IP地址
10.4.5.1
.
- 目的IP地址稱為
10.4.5.5
因為該地址是池中的可用地址之一。
請求資料包
在請求資料包上,源地址顯示為 0.0.0.0
而現在 10.4.5.5
address是新請求。
ACK資料包
- 源地址設定為
10.4.5.1
.
- 目標地址設定為
10.4.5.5
因為現在這是DCHP客戶端的新IP地址。
可以在vManage GUI上執行以下步驟進行資料包捕獲:
步驟 1.導航至 Monitor > Devices
.
步驟 2.按一下DHCP伺服器裝置。
步驟 3.在「安全監控」上,按一下 Troubleshooting
.
步驟 4.在流量上,按一下 Packet Capture
.
步驟 5.設定捕獲引數並按一下start。
步驟 6.等待捕獲完成並下載。
將其匯出並在資料包分析器(如WireShark)上驗證資料包。
相關資訊