DHCP故障處理手冊

目 錄

第1章 DHCP故障處理... 1

1.1 簡介.. 1

1.1.1 DHCP服務器簡介.. 3

1.1.2 DHCP中繼簡介.. 4

1.1.3 DHCP客戶端簡介.. 4

1.1.4 DHCP Snooping簡介.. 5

1.2 常見問題.. 5

1.2.1 DHCP服務器與DHCP客戶端在相同物理網段,DHCP客戶端無法獲取地址.. 5

1.2.2 DHCP客戶端無法通過DHCP中繼獲取地址.. 6

1.2.3 DHCP客戶端無法通過DHCP Snooping獲取地址.. 9

1.3 其他相關問題.. 9

1.3.1 DHCP客戶端沒有獲取到部分服務器配置的選項.. 9

1.3.2 禁止分配的靜態綁定地址,仍然參與地址分配.. 10

1.3.3 釋放的IP地址沒有放入可分配的IP地址表中.. 10

1.3.4 DHCP服務器的ping探測時間與配置不相符.. 10

1.3.5 DHCP服務器的租約已經過期,但DHCP中繼的安全表項仍然存在.. 11

1.3.6 DHCP服務器靜態綁定IP地址和客戶端MAC失效.. 11

1.3.7 DHCP Snooping無法生成表項.. 12

1.4 故障處理過程.. 12

1.4.1 DHCP服務器與DHCP客戶端在相同物理網段故障處理過程.. 12

1.4.2 DHCP客戶端通過DHCP中繼獲取IP地址故障處理過程.. 14

1.4.3 DHCP客戶端通過DHCP Snooping獲取IP地址故障處理過程.. 16

1.5 典型案例.. 18

1.5.1 PC做為DHCP客戶端獲取地址時間較長.. 18


第1章 DHCP故障處理

1.1 簡介

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)采用客戶/服務器通信模式。由客戶端先向服務器發送請求配置信息的報文(包括分配的IP地址、子網掩碼、缺省網關等參數),服務器根據策略返回攜帶相應配置信息的報文,以實現IP地址等信息的動態配置。請求報文和回應報文都采用UDP進行封裝。

DHCP客戶端從DHCP服務器動態獲取IP地址,主要通過四個階段進行,如圖1-1所示。

圖1-1 IP地址動態獲取過程

(1) 發現階段,即DHCP客戶端尋找DHCP服務器的階段。客戶端以廣播方式發送DHCP-DISCOVER報文。

(2) 提供階段,即DHCP服務器提供IP地址的階段。DHCP服務器接收到客戶端的DHCP-DISCOVER報文後,根據IP地址分配的優先次序選出一個IP地址,與其他參數一起通過DHCP-OFFER報文發送給客戶端。

(3) 選擇階段,即DHCP客戶端選擇IP地址的階段。如果有多台DHCP服務器向該客戶端發來DHCP-OFFER報文,客戶端隻接受第一個收到的DHCP-OFFER報文,然後以廣播方式發送DHCP-REQUEST報文,該報文中包含DHCP服務器在DHCP-OFFER報文中分配的IP地址。

(4) 確認階段,即DHCP服務器確認IP地址的階段。DHCP服務器收到DHCP客戶端發來的DHCP-REQUEST報文後,隻有DHCP客戶端選擇的服務器會進行如下操作:如果確認將地址分配給該客戶端,則返回DHCP-ACK報文;否則返回DHCP-NAK報文,表明地址不能分配給該客戶端。

DHCP有如下三種典型組網應用:

(1) DHCP客戶端和DHCP服務器處於相同的物理網段,DHCP客戶端可以與DHCP服務器直接通信。一般包含一台DHCP服務器和多台客戶端,如圖1-2所示。

圖1-2 DHCP典型應用一

(2) DHCP客戶端和DHCP服務器處於不同的物理網段,客戶端通過DHCP中繼與服務器通信,獲取IP地址及其他配置信息,如圖1-3所示。

圖1-3 DHCP典型應用二

(3) DHCP客戶端和DHCP服務器處於相同的物理網段,DHCP客戶端與DHCP服務器通過DHCP Snooping通信。如圖1-4所示。

圖1-4 DHCP典型應用三

1.1.1 DHCP服務器簡介

1. DHCP地址池

DHCP服務器通過配置地址池提供可分配的IP地址資源。

DHCP服務器按照如下優先次序為客戶端選擇IP地址:

l DHCP服務器中與客戶端MAC地址或客戶端ID靜態綁定的IP地址。

l DHCP服務器記錄的曾經分配給客戶端的IP地址。

l 客戶端發送的DHCP-DISCOVER報文中Option 50字段指定的IP地址。

l 選擇合適的地址池,從中順序查找可供分配的IP地址,最先找到的IP地址。

l 如果未找到可用的IP地址,則依次查詢租約過期、曾經發生過衝突的IP地址,如果找到則進行分配,否則將不予處理。

2. DHCP地址池的選擇

DHCP服務器選擇地址池原則:

l 客戶端與服務器在同一物理網段時,DHCP服務器根據接收DHCP請求報文接口的IP地址,選擇包含該IP地址的地址範圍最小的地址池。

l 客戶端與服務器不在同一物理網段,客戶端通過DHCP中繼獲取IP地址時,DHCP服務器根據DHCP請求報文中giaddr字段指定的IP地址,選擇包含該IP地址的地址範圍最小的地址池。

l 如果該地址池中沒有可供分配的IP地址,則服務器無法為客戶端分配地址。因此配置地址池網段時應該與報文接收接口的IP地址或者giaddr字段指定的IP地址一致,否則當DHCP服務器單播發送回應報文時可能由於沒有路由導致發送失敗。

1.1.2 DHCP中繼簡介

1. DHCP中繼轉發DHCP報文過程

DHCP中繼完成DHCP報文的轉發,如圖1-5所示。DHCP中繼發送給DHCP服務器和DHCP客戶端的報文的源IP地址都是接收到DHCP客戶端請求報文接口的IP地址。

圖1-5 DHCP中繼轉發過程

2. DHCP中繼支持Option 82

Option 82記錄了DHCP客戶端的位置信息。如果DHCP中繼配置Option 82功能,則當DHCP中繼接收到DHCP請求報文後,將根據報文中是否包含Option 82以及用戶配置的處理策略及填充格式對報文進行相應的處理,並將處理後的報文轉發給DHCP服務器。如果DHCP中繼收到的響應報文中帶有Option 82,則會將Option 82刪除後再轉發給DHCP客戶端。

管理員可以利用該選項定位DHCP客戶端,實現對客戶端的安全和計費等控製。

1.1.3 DHCP客戶端簡介

DHCP客戶端在配置ip address dhcp-alloc後不會立即發送DHCP-DISCOVER報文,而是在1~10秒內隨機發送。如果沒有收到DHCP服務器的回應報文,DHCP客戶端繼續發送請求報文,直到收到DHCP服務器的回應。

DHCP客戶端在收到DHCP-ACK後會通過發送免費ARP來檢測DHCP服務器分配的IP地址是否已經被其他客戶端使用。如果該IP地址已經被使用,則DHCP客戶端發送DHCP-DECLINE報文,然後重新申請。如果DHCP客戶端的其他接口配置了與DHCP服務器分配的IP地址在相同網段的IP地址,則DHCP客戶端獲取IP地址失敗且不再重新申請。

1.1.4 DHCP Snooping簡介

DHCP Snooping是DHCP的一種安全特性,在網絡中如果有私自架設的DHCP服務器,則可能導致用戶得到錯誤的IP地址。為了使用戶能通過合法的DHCP服務器獲取IP地址,DHCP Snooping安全機製允許將端口設置為信任端口和不信任端口:

l 信任端口是與合法的DHCP服務器直接或間接連接的端口。信任端口對接收到的DHCP報文正常轉發,從而保證了DHCP客戶端獲取正確的IP地址。

l 不信任端口是不與合法的DHCP服務器連接的端口。如果從不信任端口接收到DHCP服務器的響應報文則會丟棄,從而防止了DHCP客戶端獲得錯誤的IP地址。

DHCP Snooping還有一個重要的功能,就是嗅探用戶的地址申請過程,獲取用戶IP地址+MAC地址+PORT+VLAN的綁定。

本文主要關注由於配置引起的DHCP相關問題,以及某些容易理解錯誤的問題。

1.2 常見問題

1.2.1 DHCP服務器與DHCP客戶端在相同物理網段,DHCP客戶端無法獲取地址

1. 問題描述

如圖1-2所示,DHCP客戶端無法通過DHCP獲取IP地址。

2. 問題定位

在用戶視圖下打開DHCP服務器的debug開關:debugging dhcp server all,根據具體debug信息進行定位。

debug信息

可能的故障原因

沒有收到報文的debug信息

(1) (2)

Failed to get available ip from interface ip-address mask ip-address.

(3) (6)

DHCPServer: Lease is exhausted!

(3) (6)

Sending Message-Type failed!

(4)

DHCPServer: The number of leases has reached the maximum!

(5)

可能的故障原因包括:

(1) 物理鏈路不暢通

(2) DHCP未使能

(3) DHCP服務器沒有配置地址池

通過display dhcp server tree all查看地址池配置:是否配置了與接收報文的接口IP在相同網段的地址池,或者包含了接收報文接口IP地址的地址池。

(4) DHCP服務器地址池網段配置錯誤

如果DHCP客戶端請求DHCP服務器單播回應,則配置的地址池網段必須與接收接口IP在相同網段,否則回應報文會發送失敗。

(5) 租約達到規格

DHCP服務器分配的租約是有規格限製的(各款產品不同,請參考產品規格),如果達到規格,則DHCP服務器不再分配IP地址。可以通過display dhcp server ip-in-use all查看DHCP服務器已經分配的租約是否達到上限。

(6) DHCP服務器沒有可分配的地址

查看DHCP服務器是否有可分配的IP地址,依次查看如下表項:

l 通過display dhcp server free-ip查看是否存在可分配的地址(與接收報文接口IP在相同網段的IP地址);

l 通過display dhcp server expired all查看是否存在與接收報文接口在相同網段的IP地址;

l 通過display dhcp server conflict all查看是否存在與接收報文接口在相同網段的衝突IP地址,且衝突時間在1小時之前。

如果沒有符合以上條件的IP地址,DHCP服務器無法再分配租約。

3. 問題解決

(1) 重新連接網線;

(2) 在係統視圖下配置命令dhcp enable

(3) 配置包含或與接收接口IP地址在相同網段的地址池;

(4) 配置與接口IP地址網段相同的地址池網段;

(5) 通過display dhcp server expired all查看是否存在過期租約,如果有,通過reset dhcp server ip-in-use命令刪除過期租約;

(6) 擴大配置的地址池網段。

1.2.2 DHCP客戶端無法通過DHCP中繼獲取地址

1. 問題描述

如圖1-3所示,DHCP客戶端無法通過DHCP獲取IP地址。

2. 問題定位

在DHCP服務器的用戶視圖下打開debug開關:debugging dhcp server all,在DHCP中繼的用戶視圖下打開debug開關:debugging dhcp relay all根據具體debug信息進行定位。

debug信息

可能的故障原因

DHCP服務器的debug信息中沒有收到報文的debug信息

(1) (2) (3) (5)

DHCP中繼的debug信息中沒有收到報文的debug信息

(1) (2)

DHCP中繼有如下debug信息:

The interface does not exist

(3)

DHCP中繼有如下debug信息:

Sending packet failed when processing Message-Type packet!

其中Message-Type為DHCP請求報文類型

(4)

DHCP服務器有如下debug信息:

Failed to get available ip from interface ip-address mask ip-address.

(6) (9)

DHCP服務器有如下debug信息:

DHCPServer: Lease is exhausted!

(6) (9)

DHCPServer: The number of leases has reached the maximum!

(8)

DHCP服務器有如下debug信息:

Sending Message-Type failed!

(10)

DHCP中繼有如下debug信息:

Sending packet failed when processing Message-Type packet!

其中Message-Type為DHCP響應報文類型

(7)

可能的故障原因包括:

(1) 物理鏈路不暢通

(2) DHCP未使能

(3) DHCP中繼接口沒有選擇服務器組

在配置了DHCP中繼的接口上通過命令display this命令查看,沒有dhcp relay server-select的配置信息。

(4) DHCP中繼接口配置的server-group中指定的DHCP服務器不存在

(5) DHCP中繼接口配置的server-group中指定的DHCP服務器不是與DHCP中繼相連的DHCP服務器

(6) DHCP服務器沒有配置地址池

通過display dhcp server tree all查看地址池配置:是否配置了與DHCP中繼接口IP地址在相同網段的地址池,或者包含了DHCP中繼接口IP地址的地址池。

(7) DHCP服務器地址池網段配置錯誤

如果DHCP客戶端請求DHCP服務器單播回應,則配置的地址池網段必須與DHCP中繼接口IP網段相同,否則回應報文會發送失敗。

(8) DHCP服務器租約達到規格

DHCP服務器分配的租約是有規格限製的(各款產品不同,請參考產品規格),如果達到規格,則DHCP服務器不再分配IP地址。可以通過display dhcp server ip-in-use all查看DHCP服務器已經分配的租約是否達到上限。

(9) DHCP服務器沒有可分配的地址

查看DHCP服務器是否有可分配的IP地址,依次查看如下表項:

l 通過display dhcp server free-ip查看是否存在可分配的地址(與接收報文接口IP在相同網段的IP地址);

l 通過display dhcp server expired all查看是否存在與接收報文接口在相同網段的IP地址;

l 通過display dhcp server conflict all查看是否存在與接收報文接口在相同網段的衝突IP地址,且衝突時間在1小時之前。

如果沒有符合以上條件的IP地址,DHCP服務器無法再分配租約。

(10) 通過display ip routing-table查看在DHCP服務器上是否存在到DHCP中繼接口IP地址的路由,如果沒有,DHCP服務器的回應報文無法發送給DHCP中繼。

3. 問題解決

(1) 重新連接網線;

(2) 在係統視圖下配置命令dhcp enable

(3) 在DHCP中繼接口上通過命令dhcp relay server-select選擇接口的服務器組;

(4) 通過係統視圖下命令dhcp relay server-group server-group ip ip-address,配置ip-address為存在的DHCP服務器地址;

(5) 通過係統視圖下命令dhcp relay server-group server-group ip ip-address,配置ip-address為與DHCP中繼相連的服務器;

(6) 配置包含或與接收接口IP地址在相同網段的地址池;

(7) 配置與接口IP地址網段相同的地址池網段;

(8) 通過display dhcp server expired all查看是否存在過期租約,如果有,通過reset dhcp server ip-in-use命令刪除過期租約;

(9) 擴大配置的地址池網段;

(10) 配置路由協議或者DHCP服務器到DHCP中繼接口的靜態路由。

1.2.3 DHCP客戶端無法通過DHCP Snooping獲取地址

1. 問題描述

如圖1-4所示,DHCP客戶端無法通過DHCP獲取IP地址。

2. 問題定位

檢查如下配置是否正確:

(1) 參考“1.2.1 DHCP服務器與DHCP客戶端在相同物理網段,DHCP客戶端無法獲取地址”中問題定位的(1)~(6),檢查DHCP服務器配置。

(2) 檢查DHCP Snooping與DHCP服務器連接的端口是否配置了dhcp-snooping trust。如果沒有配置,DHCP Snooping會丟棄DHCP服務器的回應報文。

3. 問題解決

l 對於(1)中的情況,請參考“1.2.1 DHCP服務器與DHCP客戶端在相同物理網段,DHCP客戶端無法獲取地址”中的問題解決;

l 對於(2),請在DHCP Snooping與DHCP服務器連接的端口上配置dhcp-snooping trust命令。

1.3 其他相關問題

1.3.1 DHCP客戶端沒有獲取到部分服務器配置的選項

1. 問題描述

DHCP服務器地址池中配置了某些選項(比如,配置option 123 ascii abcdef),但DHCP客戶端沒有獲取到。

2. 問題定位

DHCP服務器配置了Option 123,但如果DHCP客戶端發送的請求報文中的請求參數列表(Option 50)沒有包含Option 123,那麼DHCP服務器就不會將配置的Option填充到回應報文中。

1.3.2 禁止分配的靜態綁定地址,仍然參與地址分配

1. 問題描述

進行如下配置:

#

dhcp server ip-pool 1

static-bind ip-address 1.1.1.1 mask 255.0.0.0

static-bind mac-address 0001-0001-0001

expired unlimited

#

dhcp server forbidden-ip 1.1.1.1

#

但IP地址1.1.1.1仍然可以分配出去。

2. 問題定位

靜態綁定的IP地址優先級高於禁止分配的IP地址,因此,靜態綁定的地址可以分配出去。刪除靜態綁定後,該地址被禁止動態分配。

1.3.3 釋放的IP地址沒有放入可分配的IP地址表中

1. 問題描述

DHCP服務器收到DHCPRELEASE報文後,不將釋放的IP地址放回到free-IP中。

2. 問題定位

DHCP服務器將釋放的地址放在了過期租約中。

根據RFC 2131建議的“盡量給同一個主機分配同一個IP地址”原則,DHCP服務器會盡量保存用戶的租約記錄,隻要用戶曾經申請使用過地址,DHCP服務器就會記錄。當用戶申請地址時,DHCP服務器會優先查找租約記錄進行分配,保證用戶在下次再申請的時候可以申請到相同的IP地址。

1.3.4 DHCP服務器的ping探測時間與配置不相符

1. 問題描述

設置DHCP服務器的ping功能的timeout選項為小於100ms的值時,ICMP發包的間隔時間還是為100ms,達不到timeout選項所設定的值,設置不生效。

2. 問題定位

由於目前DHCP服務器使用的定時器的時間精度為100ms,因此配置的超時時間會根據定時器精度進行調整,向上調整為100ms的整數倍。

例如,配置的時間為50ms,則調整為100ms;配置的時間為230ms,則調整為300ms

1.3.5 DHCP服務器的租約已經過期,但DHCP中繼的安全表項仍然存在

1. 問題描述

當DHCP服務器的租約過期時,DHCP中繼上的安全表項仍然存在。

2. 問題定位

DHCP中繼的安全表項不會立刻刪除,老化刪除的時間跟配置的老化時間和表項的個數有關。假設現有N條有效安全表項,那麼第一條有效安全表項被老化的時間(秒)為:

(1) 缺省(auto狀態)情況下

l 如果60/N大於等於0.5,則被老化的時間為:60/N*N*2 + 60/N=120+60/N,即老化探測報文發送的時間間隔是60/N;

l 如果60/N小於0.5,則被老化的時間為:0.5 *N*2 +0.5 =N+0.5,即老化探測報文發送的時間間隔是0.5秒

(2) 非缺省情況下

假設配置的定時器時間超時間隔為T,現有N條有效安全表項,則第一條有效安全表項被老化的時間為T*N*2+T,即老化探測報文發送的時間間隔為T。

1.3.6 DHCP服務器靜態綁定IP地址和客戶端MAC失效

1. 問題描述

DHCP服務器配置了客戶端MAC和IP地址的靜態綁定,但客戶端獲取的IP地址不是靜態綁定的IP地址。

2. 問題定位

DHCP服務器的靜態綁定配置兩種方式:

l IP+MAC方式:適用於在發送請求報文時不攜帶ClientID選項(Option 61)的客戶端;

l IP+ClientID方式:適用於在發送請求報文時攜帶ClientID選項(Option 61)的客戶端。

通過命令display dhcp server ip-in-use ip ip-address查看租約,其中ip-address為客戶端獲取的IP地址。如果租約中的Client-identifier/Hardware address不是MAC,則說明該客戶端需要通過IP+ClientID方式配置靜態綁定;否則為設備故障,請聯係用服人員。

1.3.7 DHCP Snooping無法生成表項

1. 問題描述

DHCP客戶端通DHCP Snooping設備成功獲取到IP地址,但是在DHCP Snooping設備上沒有相應的表項。

2. 問題定位

在某些設備上配置DHCP Snooping之後,是通過下發ACL將DHCP報文送給CPU處理的。如果係統的ACL資源不足而導致下發ACL失敗。雖然為DHCP Snooping的信任端口,但是DHCP報文實際上無法上送CPU,因而無法創建DHCP Snooping表項。

1.4 故障處理過程

1.4.1 DHCP服務器與DHCP客戶端在相同物理網段故障處理過程

1. 診斷流程

圖1-6 DHCP服務器故障診斷流程圖

2. 故障處理步驟

(1) 檢查物理連接是否暢通

如圖1-2,DHCP服務器通過接口Ethernet1/0與DHCP客戶端相連。在客戶端為與服務器連接的網卡配置IP地址,該IP地址與服務器端接口Ethernet1/0的IP地址在同一網段,查看是否可以ping通Ethernet1/0的IP地址。如果可以ping通,則說明連接暢通,可以排除物理線路故障。

也可以在服務器端打開DHCP的調試開關,查看是否可以收到客戶端的DHCP-DISCOVER報文。

(2) 檢查DHCP服務器是否使能

在係統視圖中使用display current-configuration命令查看是否使能DHCP。如果沒有使能,則配置dhcp enable使能DHCP服務。

(3) 檢查DHCP服務器地址池配置

執行命令display dhcp server tree all查看是否有配置全局地址池及地址池的網段。

查看配置的網段和接口Ethernet1/0的IP地址是否在同一個大網段。例如網段的配置是network 1.1.1.1 24,而Ethernet1/0的IP地址為2.2.2.2 ,顯然不在同一個網段,那麼圖1-2直連的組網環境中客戶端是無法正常獲取IP地址的。

如果上麵的檢查都沒有問題,請繼續下麵的步驟3。

(4) 檢查地址池內是否有可用IP

執行命令display dhcp server free-ip檢查地址池內是否存在可用的IP地址。

如果沒有可用的IP地址,執行命令display dhcp server expired all查看是否有過期的IP地址,且IP地址與接口地址在同一網段。

如果不存在過期IP地址,執行命令display dhcp server conflict all,查看是否有衝突的IP地址,如果有的話,查看其衝突時間是否已經超過1小時,隻有衝突IP在發生衝突1小時以後才可以重新分配使用。

執行完上麵的步驟,如果發現地址池中的可用IP地址、過期IP地址和衝突的IP地址都不存在,就說明地址池中IP地址已經用盡。否則,請繼續步驟4.

(5) 檢查地址池的租約是否達到規格

執行命令display dhcp server ip-in-use all,查看租約是否已經達到規格,如果已經達到規格,DHCP服務器無法再分配租約。

1.4.2 DHCP客戶端通過DHCP中繼獲取IP地址故障處理過程

1. 診斷流程

圖1-7 DHCP中繼組網故障診斷流程圖

2. 故障處理步驟

(1) 檢查物理連接是否通暢

如圖1-3所示,分別檢查DHCP服務器與DHCP中繼之間的物理鏈接和DHCP中繼與DHCP客戶端之間的物理鏈接是否通暢。

(2) 檢查DHCP中繼和DHCP服務器是否使能

在係統視圖中使用display current-configuration命令查看是否使能DHCP。

如果沒有使能,通過命令dhcp enable使能DHCP服務。

(3) 檢查DHCP中繼的配置

查看是否指定服務器地址,即檢查Ethernet1/1接口上是否配置dhcp select relaydhcp relay server-select通過命令display dhcp relay server-group查看server-group中是否包含了DHCP服務器的IP地址10.1.1.1。

(4) 檢查DHCP服務器的配置

執行display dhcp server tree all 查看是否有配置全局地址池及地址池分配的網段。

查看地址池分配的網段和接口Ethernet1/0的IP地址網段相同,或者包含了接口的IP地址網段(建議配置與接口網段相同的地址池可分配網段,確保當DHCP客戶端請求單播回應時DHCP中繼可以成功發送報文)。在這個例子中檢查是否配置為network 10.10.1.0 mask 255.255.255.0

(5) 檢查地址池內是否有可用IP

執行命令display dhcp server free-ip檢查地址池內是否存在可用的IP地址。

如果不存在可用的IP地址,執行命令display dhcp server expired pool查看是否存在過期IP地址。

如果不存在過期IP地址,執行命令display dhcp server conflict all,查看是否有衝突的IP地址,如果有的話,查看其衝突時間是否已經超過1小時,隻有衝突IP在發生衝突1小時以後才可以重新分配使用。

執行完上麵的步驟,如果發現地址池中的可用IP地址、過期IP地址和衝突的IP地址都不存在,就說明地址池中IP地址已經用盡。否則請繼續步驟4.

(6) 檢查地址池的租約是否達到規格

執行命令display dhcp server ip-in-use all,查看租約是否已經達到規格,如果已經達到規格,DHCP服務器無法再分配租約。

(7) 檢查中繼和服務器間是否存在路由

從DHCP服務器上ping 10.10.1.1查看是否可以ping通。

如果不能ping通,DHCP服務器上執行命令display ip routing-table,查看是否有到對端的路由表項,如果沒有,在服務器上執行命令ip route-static 10.10.1.1 24 10.1.1.2

如果還是不能ping通,請檢查物理線路是否正常。

1.4.3 DHCP客戶端通過DHCP Snooping獲取IP地址故障處理過程

1. 診斷流程

圖1-8 DHCP Snooping組網故障診斷流程圖

2. 故障處理步驟

(1) 檢查物理連接是否暢通

如圖1-4,DHCP服務器通過Ethernet1/0與DHCP客戶端相連。在客戶端為與服務器連接的網卡上配置IP地址,該IP地址與服務器端接口Ethernet1/0的IP地址在同一網段,查看是否可以ping通Ethernet1/0的IP地址。如果可以ping通,則說明連接暢通,可以排除物理線路故障。

也可以在服務器端打開DHCP的調試開關,查看是否可以收到客戶端的DHCP-DISCOVER報文。

(2) 檢查DHCP服務器是否使能

在係統視圖中使用display current-configuration命令查看是否使能DHCP。

如果沒有使能,通過命令dhcp enable使能DHCP服務。

(3) 檢查DHCP Snooping的配置

在係統視圖中使用display current-configuration命令查看是否使能了DHCP Snooping,接口Ethernet1/1是否配置了dhcp-snooping trust

(4) 檢查DHCP服務器的配置

執行命令dhcp enable使能DHCP服務。

執行命令display dhcp server tree all,查看是否有配置全局地址池及地址池的網段。

查看配置的網段和接口Eth1/0的IP地址是否在同一個大網段。例如網段的配置是network 1.1.1.1 24,而Eth1/0的IP地址為2.2.2.2 ,顯然不在同一個網段,那麼圖1-4的組網環境中客戶端是無法正常獲取IP地址的。

如果上麵的檢查都沒有問題,請繼續下麵的步驟4。

(5) 檢查地址池內是否有可用IP

執行命令display dhcp server free-ip檢查地址池內是否存在可用的IP地址。

如果沒有可用的IP地址,執行命令display dhcp server expired all查看是否有過期的IP地址,且IP地址與接口在同一網段。

如果不存在過期IP地址,執行命令display dhcp server conflict all,查看是否有衝突的IP地址,如果有的話,查看其衝突時間是否已經超過1小時,隻有衝突IP在發生衝突1小時以後才可以重新分配使用。

執行完上麵的步驟,如果發現地址池中的可用IP地址、過期IP地址和衝突的IP都不存在,就說明地址池中IP地址已經用盡。否則請繼續步驟5.

(6) 檢查地址池的租約是否達到規格

執行命令display dhcp server ip-in-use all,查看租約是否已經達到規格,如果已經達到規格,DHCP服務器無法再分配租約。

1.5 典型案例

1.5.1 PC做為DHCP客戶端獲取地址時間較長

1. 組網環境

圖1-9 案例組網圖

2. 故障現象

以PC做為DHCP客戶端,通過DHCP申請地址,經過1分鍾左右才能獲取地址。

3. 處理過程

l 檢查DHCP服務器配置

DHCP服務器上的配置如下,不存在問題。

#

dhcp server ip-pool 1

network 1.1.0.0 mask 255.255.0.0

#

……

#

interface Ethernet1/0

port link-mode route

ip address 1.1.1.1 255.255.255.0

#

……

#

dhcp enable

#

l 檢查DHCP服務器上接口Ethernet1/0的狀態

與DHCP客戶端相連的接口Ethernet1/0處於up狀態。

[server] display ip interface brief Ethernet 1/0

*down: administratively down

(s): spoofing

Interface Physical Protocol IP Address

Ethernet1/0 up up 1.1.1.1

l 檢查物理連接是否通暢

在PC上手工配置IP地址1.1.1.2,可以ping通DHCP服務器的IP地址1.1.1.2。

l 通過調試信息進行定位

在用戶視圖下打開DHCP服務器的調試信息開關debugging dhcp server all

DHCP服務器上打印如下調試信息:

<server> debugging dhcp server all

*May 27 13:02:19:494 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Receive DHCPDISCOVER from 00e0-e100-0201.

*May 27 13:02:19:494 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Rx, interface Ethernet1/0

Message type: request

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 16777216

Seconds: 0, Broadcast flag: 0

Client IP address: 0.0.0.0 Your IP address: 0.0.0.0

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 00e0-e100-0201

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Discover

*May 27 13:02:19:494 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Assign Free Lease from global pool.

……

*May 27 13:02:20:110 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Tx, interface Ethernet1/0

Message type: reply

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 16777216

Seconds: 0, Broadcast flag: 0

Client IP address: 0.0.0.0 Your IP address: 1.1.0.2

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 00e0-e100-0201

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Offer

*May 27 13:02:20:110 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DhcpServer: Failed to send DHCPOFFER to MAC=> 00e0-e100-0201 .

*May 27 13:02:20:110 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Sending DHCPOFFER failed!

……

*May 27 13:09:54:228 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Receive DHCPDISCOVER from 00e0-e100-0201.

*May 27 13:09:54:228 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Rx, interface Ethernet1/0

Message type: request

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 266602672

Seconds: 0, Broadcast flag: 1

Client IP address: 0.0.0.0 Your IP address: 0.0.0.0

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 00e0-e100-0201

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Discover

*May 27 13:09:54:228 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Assign Free Lease from global pool.

……

*May 27 13:09:54:816 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Tx, interface Ethernet1/0

Message type: reply

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 266602672

Seconds: 0, Broadcast flag: 1

Client IP address: 0.0.0.0 Your IP address: 1.1.0.2

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 00e0-e100-0201

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Offer

*May 27 13:09:54:816 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DhcpServer: Send DHCPOFFER to 00e0-e100-0201 Offer IP=> 1.1.0.2.

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Receive DHCPREQUEST from 00e0-e100-0201.

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Rx, interface Ethernet1/0

Message type: request

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 266602672

Seconds: 0, Broadcast flag: 1

Client IP address: 0.0.0.0 Your IP address: 0.0.0.0

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 0000-5e00-4701

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Request

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Acknowledge the DHCPREQUEST message!

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_PACKET:

Tx, interface Ethernet1/0

Message type: reply

Hardware type: 1, Hardware address length: 6

Hops: 0, Transaction ID: 266602672

Seconds: 0, Broadcast flag: 0

Client IP address: 0.0.0.0 Your IP address: 1.1.0.2

Server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0

Client hardware address: 00e0-e100-0201

Server host naame: Not Configured, Boot file name: Not Configured

DHCP message type: DHCP Ack

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DhcpServer: Send DHCPACK to 00e0-e100-0201 Offer IP=> 1.1.0.2.

*May 27 13:09:54:848 2007 server DHCPS/7/DHCPS_DEBUG_COMMON:

DHCPServer: Requesting security module(s) to add a security entry (1.1.0.4 00e0-e100-0201) succeeded.

從debug信息分析,PC發送了5個DHCP-DISCOVER報文後才申請到了地址。前4個,DHCP服務器都分配了租約,但在發送DHCP-OFFER報文的時候發送失敗了,直到PC發送了第5個DHCP-DISCOVER報文後,DHCP服務器才成功分配了租約。比較第5個DHCP-DISCOVER報文與前4個的不同,發現報文的Broadcast flag不一樣,前4個為0,即要求DHCP服務器單播發送回應報文,第5個為1,DHCP服務器廣播發送回應報文。

DHCP服務器在單播回應報文的時候發送失敗,原因是DHCP服務器Ethernet1/0接口配置的IP地址為1.1.1.1/24,沒有到1.1.0.0/16網段的路由,導致單播到1.1.0.2失敗。

將地址池的可分配網段修改為與接口一致,則可以解決上述問題:

#

dhcp server ip-pool 1

network 1.1.1.0 mask 255.255.255.0

#

Copyright ©2008 杭州華三通信技術有限公司 版權所有,保留一切權利。

非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。

本文檔中的信息可能變動,恕不另行通知。

附件下載

聯係我們