03-DHCP配置
本章節下載: 03-DHCP配置 (938.45 KB)
目 錄
2.4.9 配置DHCP客戶端使用的WINS服務器地址和NetBIOS節點類型
2.4.12 配置DHCP客戶端使用的下一個提供服務的服務器IP地址
2.4.13 配置DHCP客戶端使用的Option 184參數
2.7 開啟為MAC地址相同的DHCP客戶端分配不同IP地址功能
2.13.2 配置DHCP服務器發送DHCP應答報文不攜帶Option 60選項
2.13.3 配置當DHCP客戶端請求的新地址與之前DHCP服務器分配的地址不同或該地址對應的租約不存在時,DHCP服務器回複NAK報文功能
2.13.5 配置DHCP服務器以RFC 1048規定的格式發送BOOTP應答報文
2.14 配置DHCP服務器發送DHCP報文的DSCP優先級
3.11.2 通過smart-relay功能指定DHCP報文中填充的中繼地址
3.14 配置DHCP中繼通過Option82信息轉發DHCP應答報文
3.17.1 DHCP客戶端無法通過DHCP中繼獲取配置信息
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)采用客戶端/服務器模式,由服務器為網絡設備動態地分配IP地址等網絡配置參數。DHCP客戶端和DHCP服務器處於不同物理網段時,客戶端可以通過DHCP中繼與服務器通信,獲取IP地址及其他配置信息。DHCP中繼的詳細介紹,請參見“3.1 DHCP中繼簡介”。
圖1-1 同網段DHCP組網應用
針對客戶端的不同需求,DHCP提供三種IP地址分配策略:
· 手工分配地址:由管理員為少數特定客戶端(如WWW服務器等)靜態綁定固定的IP地址。通過DHCP將配置的固定IP地址分配給客戶端。
· 自動分配地址:DHCP為客戶端分配租期為無限長的IP地址。
· 動態分配地址:DHCP為客戶端分配具有一定有效期限的IP地址,到達使用期限後,客戶端需要重新申請地址。絕大多數客戶端得到的都是這種動態分配的地址。
圖1-2 IP地址動態獲取過程
如圖1-2所示,DHCP客戶端從DHCP服務器獲取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-ACK確認報文後,會以廣播的方式發送免費ARP報文,探測是否有主機使用服務器分配的IP地址,如果在規定的時間內未收到回應,並且客戶端上不存在與該地址同網段的其他地址時,客戶端才使用此地址。否則,客戶端會發送DHCP-DECLINE報文給DHCP服務器,並重新申請IP地址。
如果網絡中存在多個DHCP服務器,除DHCP客戶端選中的服務器外,其它DHCP服務器中本次未分配出的IP地址仍可分配給其他客戶端。
DHCP服務器分配給客戶端的IP地址具有一定的租借期限(除自動分配的IP地址),該租借期限稱為租約。當租借期滿後服務器會收回該IP地址。如果DHCP客戶端希望繼續使用該地址,則DHCP客戶端需要申請延長IP地址租約。
在DHCP客戶端的IP地址租約期限達到一半左右時間時,DHCP客戶端會向為它分配IP地址的DHCP服務器單播發送DHCP-REQUEST報文,以進行IP租約的更新。如果客戶端可以繼續使用此IP地址,則DHCP服務器回應DHCP-ACK報文,通知DHCP客戶端已經獲得新IP租約;如果此IP地址不可以再分配給該客戶端,則DHCP服務器回應DHCP-NAK報文,通知DHCP客戶端不能獲得新的租約。
如果在租約的一半左右時間進行的續約操作失敗,DHCP客戶端會在租約期限達到7/8時,廣播發送DHCP-REQUEST報文進行續約。DHCP服務器的處理方式同上,不再贅述。
DHCP有8種類型的報文,每種報文的格式都相同,隻是某些字段的取值不同。DHCP的報文格式如圖1-3所示,括號中的數字表示該字段所占的字節。
圖1-3 DHCP報文格式
各字段的解釋如下:
· op:報文的操作類型,分為請求報文和響應報文,1為請求報文;2為響應報文。具體的報文類型在options字段中標識。
· htype、hlen:DHCP客戶端的硬件地址類型及長度。
· hops:DHCP報文經過的DHCP中繼的數目。DHCP請求報文每經過一個DHCP中繼,該字段就會增加1。
· xid:客戶端發起一次請求時選擇的隨機數,用來標識一次地址請求過程。
· secs:DHCP客戶端開始DHCP請求後所經過的時間。目前沒有使用,固定為0。
· flags:第一個比特為廣播響應標識位,用來標識DHCP服務器響應報文是采用單播還是廣播方式發送,0表示采用單播方式,1表示采用廣播方式。其餘比特保留不用。
· ciaddr:DHCP客戶端的IP地址。如果客戶端有合法和可用的IP地址,則將其添加到此字段,否則字段設置為0。此字段不用於客戶端申請某個特定的IP地址。
· yiaddr:DHCP服務器分配給客戶端的IP地址。
· siaddr:DHCP客戶端獲取啟動配置信息的服務器IP地址。
· giaddr:DHCP客戶端發出請求報文後經過的第一個DHCP中繼的IP地址。
· chaddr:DHCP客戶端的硬件地址。
· sname:DHCP客戶端獲取啟動配置信息的服務器名稱。
· file:DHCP服務器為DHCP客戶端指定的啟動配置文件名稱及路徑信息。
· options:可選變長選項字段,包含報文的類型、有效租期、DNS服務器的IP地址、WINS服務器的IP地址等配置信息。
為了與BOOTP(Bootstrap Protocol,自舉協議)兼容,DHCP保留了BOOTP的消息格式。DHCP和BOOTP消息的不同主要體現在選項(Options)字段。DHCP在BOOTP基礎上增加的功能,通過Options字段來實現。
DHCP利用Options字段傳遞控製信息和網絡配置參數,實現地址動態分配的同時,為客戶端提供更加豐富的網絡配置信息。
DHCP選項的格式如圖1-4所示。
圖1-4 DHCP選項格式
常見的DHCP選項有:
· Option 3:路由器選項,用來指定為客戶端分配的網關地址。
· Option 6:DNS服務器選項,用來指定為客戶端分配的DNS服務器地址。
· Option 33:靜態路由選項。該選項中包含一組有分類靜態路由(即目的網絡地址的掩碼固定為自然掩碼,不能劃分子網),客戶端收到該選項後,將在路由表中添加這些靜態路由。如果Option 33和Option 121同時存在,則忽略Option 33。
· Option 51:IP地址租約選項。
· Option 53:DHCP消息類型選項,標識DHCP消息的類型。
· Option 55:請求參數列表選項。客戶端利用該選項指明需要從服務器獲取哪些網絡配置參數。該選項內容為客戶端請求的參數對應的選項值。
· Option 60:廠商標識選項。客戶端利用該選項標識自己所屬的廠商;DHCP服務器可以根據該選項區分客戶端所屬的廠商,並為其分配特定範圍的IP地址。
· Option 66:TFTP服務器名選項,用來指定為客戶端分配的TFTP服務器的域名。
· Option 67:啟動文件名選項,用來指定為客戶端分配的啟動文件名。
· Option 121:無分類路由選項。該選項中包含一組無分類靜態路由(即目的網絡地址的掩碼為任意值,可以通過掩碼來劃分子網),客戶端收到該選項後,將在路由表中添加這些靜態路由。如果Option 33和Option 121同時存在,則忽略Option 33。
· Option 150:TFTP服務器地址選項,用來指定為客戶端分配的TFTP服務器的地址。
更多DHCP選項的介紹,請參見RFC 2132和RFC 3442。
有些選項的內容,RFC 2132中沒有統一規定,例如Option 43、Option 82和Option 184。下麵將介紹設備上定義的幾種選項。
Option 43稱為廠商特定信息選項。DHCP服務器和DHCP客戶端通過Option 43交換廠商特定的信息。
設備作為DHCP客戶端時,可以通過Option 43獲取:
· ACS(Auto-Configuration Server,自動配置服務器)的參數,包括URL地址、用戶名和密碼。
· 服務提供商標識,CPE(Customer Premises Equipment,用戶側設備)從DHCP服務器獲取該信息後,將該信息通告給ACS,以便ACS選擇服務提供商特有的配置和參數等。
· PXE(Preboot eXecution Environment,預啟動執行環境)引導服務器地址,以便客戶端從PXE引導服務器獲取啟動文件或其他控製信息。
· 在無線網絡中,AP(Access Point,接入點)作為DHCP客戶端,可以通過Option 43獲取AC(Access Controller,接入控製器)地址,以便AP從AC獲取啟動文件或其他控製信息。
為了提供可擴展性,通過Option 43為客戶端分配更多的信息,Option 43采用子選項的形式,通過不同的子選項為用戶分配不同的網絡配置參數。如圖1-5所示。子選項中各字段的含義為:
· Sub-option type:子選項類型。目前,子選項類型值可以為0x01表示ACS參數子選項,0x02表示服務提供商標識子選項,0x80表示PXE引導服務器地址子選項。
· Sub-option length:子選項的長度,不包括子選項類型和子選項長度字段。
· Sub-option value:子選項的取值。不同類型的子選項,取值格式有所不同。
· ACS參數子選項的取值字段格式如圖1-6所示。ACS的URL地址、用戶名和密碼長度可變,每個參數之間用空格(十六進製數為20)隔開。
圖1-6 ACS參數子選項取值字段的格式
· 服務提供商標識子選項的取值字段內容為服務提供商的標識。
· PXE引導服務器地址子選項的取值字段格式如圖1-7所示。其中,PXE服務器類型目前取值隻能為0;Server number為子選項中包含的PXE服務器地址的數目;Server IP addresses為PXE服務器的IP地址。
圖1-7 PXE引導服務器地址子選項取值字段的格式
Option 82稱為中繼代理信息選項,該選項記錄了DHCP客戶端的位置信息。DHCP中繼或DHCP Snooping設備接收到DHCP客戶端發送給DHCP服務器的請求報文後,在該報文中添加Option 82,並轉發給DHCP服務器。
管理員可以從Option 82中獲得DHCP客戶端的位置信息,以便定位DHCP客戶端,實現對客戶端的安全和計費等控製。支持Option 82的服務器還可以根據該選項的信息製定IP地址和其他參數的分配策略,提供更加靈活的地址分配方案。
Option 82最多可以包含255個子選項。若定義了Option 82,則至少要定義一個子選項。目前設備隻支持兩個子選項:sub-option 1(Circuit ID,電路ID子選項)和sub-option 2(Remote ID,遠程ID子選項)。
由於Option 82的內容沒有統一規定,不同廠商通常根據需要進行填充。
設備上,Circuit ID的填充模式有以下幾種:
· 采用string模式填充:sub-option 1的內容是用戶配置的字符串。
· 采用normal模式填充:sub-option 1的內容是接收到DHCP客戶端請求報文的接口所屬的VLAN ID以及接口編號。
· 采用verbose模式填充:sub-option 1的內容包括用戶配置的接入節點標識,接收到DHCP客戶端請求報文的接口類型、接口編號和接口所屬的VLAN ID。
Remote ID的填充模式有以下幾種:
· 采用string模式填充:sub-option 2的內容是用戶配置的字符串。
· 采用normal模式填充:sub-option 2的內容是接收到DHCP客戶端請求報文的接口MAC地址(DHCP中繼)或設備的橋MAC地址(DHCP Snooping)。
· 采用sysname模式填充:sub-option 2的內容是設備的係統名稱。設備的係統名稱可以通過係統視圖下的sysname命令配置。
Option 184是RFC中規定的保留選項,用戶可以自定義該選項中攜帶的信息。設備上,Option 184攜帶了語音呼叫所需的信息。通過Option 184,可以實現在為具有語音功能的DHCP客戶端提供語音呼叫相關信息。
目前Option 184支持四個子選項,承載的內容如下:
· sub-option 1:網絡呼叫處理器的IP地址,用來標識作為網絡呼叫控製源及應用程序下載的服務器。隻有定義了sub-option 1(網絡呼叫處理器的IP地址子選項),其他子選項才能生效。
· sub-option 2:備用服務器的IP地址,當sub-option 1中攜帶的網絡呼叫處理器不可達或不合法時,DHCP客戶端使用該選項指定的備用服務器作為網絡呼叫處理器。
· sub-option 3:語音VLAN信息,指定語音VLAN的ID及DHCP客戶端是否會將所指定的VLAN作為語音VLAN。
· sub-option 4:自動故障轉移呼叫路由,指定故障轉移呼叫路由的IP地址及其關聯的撥號串,即SIP(Session Initiation Protocol,會話初始協議)用戶之間互相通信時對端的IP地址和呼叫號碼。當網絡呼叫處理器和備用服務器均不可達時,SIP用戶可以使用對端IP地址及呼叫號碼直接與對端SIP用戶建立連接並通信。
與DHCP相關的協議規範有:
· RFC 2131:Dynamic Host Configuration Protocol
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
· RFC 3046:DHCP Relay Agent Information Option
· RFC 3442:The Classless Static Route Option for Dynamic Host Configuration Protocol (DHCP) version 4
DHCP服務器通過地址池保存IP地址和網絡參數,從地址池中選擇IP地址和網絡參數分配給客戶端。
地址池的地址管理方式有以下幾種:靜態綁定IP地址,即通過將客戶端的MAC地址或客戶端ID與IP地址綁定的方式,實現為特定的客戶端分配特定的IP地址;動態選擇IP地址,即在地址池中指定可供分配的IP地址範圍,當收到客戶端的IP地址申請時,從該地址範圍中動態選擇IP地址,分配給該客戶端。
在地址池中指定可供分配的IP地址範圍,有以下幾種方法:
多個地址範圍是指一個地址池動態分配的IP地址範圍(公共地址範圍)和多個為DHCP用戶類分配的IP地址範圍。
DHCP服務器通過定義DHCP用戶類,實現為滿足特定條件的客戶端分配特定地址範圍的IP地址。DHCP服務器根據客戶端發送的請求報文,判斷DHCP客戶端所屬的用戶類。每個用戶類可以配置多個匹配條件,隻要客戶端發送的DHCP請求報文滿足任意一個匹配條件,就認為該客戶端屬於該用戶類。在地址池下,可以為不同的用戶類指定不同的地址範圍。如果DHCP客戶端屬於某個用戶類,則從該用戶類的地址範圍內選擇地址分配給該客戶端。
采用這種地址管理方式時,地址選擇過程為:
(1) 按照地址池下用戶類地址範圍的配置順序,將DHCP客戶端和用戶類進行匹配。
(2) 如果DHCP客戶端屬於某個用戶類,則從該用戶類的地址範圍中選擇地址分配給客戶端。
(3) 如果該用戶類中沒有可供分配的地址,則繼續匹配下一個用戶類。如果所有匹配上的用戶類地址範圍都沒有可供分配的地址,則從公共地址範圍中選擇地址分配給客戶端。
(4) 如果DHCP客戶端不屬於任何一個DHCP用戶類,則會從地址池動態分配的IP地址範圍(通過address range命令配置)中選擇地址分配給DHCP客戶端。
(5) 如果動態分配的IP地址範圍內也沒有空閑地址,或者未配置動態分配的IP地址範圍,則地址分配失敗,即DHCP服務器無法為DHCP客戶端分配地址。
每個地址範圍內的地址都必須屬於指定的主網段,否則無法分配該範圍內的地址。
采用此種地址分配方式時,地址選擇的過程是:首先從地址池主網段中查找可供分配的IP地址。如果主網段中沒有可供分配的IP地址,則按照該地址池下從網段的配置順序,依次查找可供分配的IP地址。
DHCP服務器為客戶端分配IP地址時,按照如下順序選擇地址池:
(1) 如果存在將客戶端MAC地址或客戶端ID與IP地址靜態綁定的地址池,則選擇該地址池,並將靜態綁定的IP地址和其他網絡參數分配給客戶端。
(2) 如果接收到DHCP請求報文的接口引用了某個地址池,則選擇該地址池,從該地址池中選取IP地址和其他網絡參數分配給客戶端。
(3) 如果配置了DHCP策略,則DHCP客戶端匹配某個DHCP用戶類時,DHCP服務器選擇與該DHCP用戶類關聯的DHCP地址池;DHCP客戶端未匹配到DHCP用戶類時,若配置了默認DHCP地址池,則選擇該DHCP地址池;若未配置默認DHCP地址池或DHCP默認地址池不存在可供分配的IP地址時,IP地址或其他參數分配失敗。
(4) 如果上述條件均不滿足,則使用以下方法選擇DHCP地址池:
¡ 如果客戶端與服務器在同一網段,則將DHCP請求報文接收接口的IP地址與所有地址池配置的主網段進行匹配,並選擇最長匹配的主網段所對應的地址池。如果未匹配到主網段,則將DHCP請求報文接收接口的IP地址與所有地址池配置的從網段進行匹配,並選擇最長匹配的網段所對應的地址池。
¡ 如果客戶端與服務器不在同一網段,即客戶端通過DHCP中繼獲取IP地址,則將DHCP請求報文中giaddr字段指定的IP地址與所有地址池配置的主網段進行匹配,並選擇最長匹配的網段所對應的地址池。如果未匹配到主網段,則將DHCP請求報文中giaddr字段指定的IP地址與所有地址池配置的從網段進行匹配,並選擇最長匹配的網段所對應的地址池。
例如,DHCP服務器上配置了兩個地址池,動態分配的網段分別是1.1.1.0/24和1.1.1.0/25,如果接收DHCP請求報文的接口IP地址為1.1.1.1/25,且未引用地址池,服務器將從1.1.1.0/25地址池中選擇IP地址分配給客戶端,1.1.1.0/25地址池中如果沒有可供分配的IP地址,則服務器無法為客戶端分配地址;如果接收DHCP請求報文的接口IP地址為1.1.1.130/25,服務器將從1.1.1.0/24地址池中選擇IP地址分配給客戶端。
· 配置地址池動態分配的網段和IP地址範圍時,請盡量保證其與DHCP服務器接口或DHCP中繼接口地址的網段一致,以免分配錯誤的IP地址。
· 建議合理規劃DHCP服務器上各地址池中主網段的配置,盡量避免客戶端匹配不到主網段、直接匹配從網段的情況發生。
DHCP服務器為客戶端分配IP地址的優先次序如下:
(1) 與客戶端MAC地址或客戶端ID靜態綁定的IP地址。
(2) DHCP服務器記錄的曾經分配給客戶端的IP地址。
(3) 客戶端發送的DHCP-DISCOVER報文中Option 50字段指定的IP地址。Option 50為客戶端請求的IP地址選項(Requested IP Address),客戶端通過在DHCP-DISCOVER報文中添加該選項來指明客戶端希望獲取的IP地址。該選項的內容由客戶端決定。
(4) 按照“2.1.1 地址池的地址管理方式”和“2.1.2 地址池的選取原則”中所述的動態分配地址選擇原則,順序查找可供分配的IP地址,選擇最先找到的IP地址。
(5) 如果未找到可用的IP地址,則從當前匹配地址池中依次查詢租約過期、曾經發生過衝突的IP地址,如果找到則進行分配,否則將不予處理。
· 如果客戶端所在的網段發生變化,服務器不會為客戶端分配曾經分配給它的IP地址,而是從匹配新網段的地址池中重新選擇IP地址。
· 使用曾經發生過衝突的IP地址時,隻有衝突狀態超過一小時的IP地址才能夠被服務器分配給新的DHCP客戶端。
DHCP服務器配置任務如下:
(1) (可選)創建DHCP用戶類
(2) 配置DHCP服務器的地址池
(3) (可選)修改DHCP服務器的地址池選擇方式
(4) (可選)開啟為MAC地址相同的DHCP客戶端分配不同IP地址功能
(5) 開啟DHCP服務
(6) 配置接口工作在DHCP服務器模式
(7) (可選)配置高級功能
(8) (可選)配置告警及日誌功能
DHCP用戶類通過DHCP請求報文中的硬件地址、Option信息或Giaddr字段來匹配一組特定的DHCP客戶端,以實現為特定的DHCP客戶端分配特定的IP地址和其他參數。
(1) 進入係統視圖。
system-view
(2) 創建DHCP用戶類,並進入DHCP用戶類視圖。
dhcp class class-name
(3) 配置DHCP用戶類的匹配規則。
if-match rule rule-number { hardware-address hardware-address mask hardware-address-mask | option option-code [ ascii ascii-string [ offset offset | partial ] | hex hex-string [ mask mask | offset offset length length | partial ] ] | relay-agent gateway-address }
缺省情況下,未配置DHCP用戶類的匹配規則。
DHCP服務器地址池配置任務如下:
(1) 創建DHCP地址池
(2) 配置為DHCP客戶端分配地址
同一個地址池中不能同時配置兩種動態地址管理方式,除了DHCP地址池支持動態分配子網段功能,其他的動態地址管理方式可以和靜態地址綁定方式配合使用。
¡ 配置靜態地址綁定
(3) 配置為DHCP客戶端分配其他參數
¡ 配置DHCP客戶端使用的WINS服務器地址和NetBIOS節點類型
(4) (可選)為DHCP服務器上的地址池綁定VPN實例
(5) (可選)配置DHCP用戶類白名單功能
(6) (可選)配置DHCP地址池老化地址保留功能
(7) (可選)配置DHCP地址池隨機分配新地址功能
(8) (可選)配置DHCP服務器輔助網關信息
(9) (可選)配置DHCP服務器輔助路由信息
(1) 進入係統視圖。
system-view
(2) 創建DHCP地址池,並進入DHCP地址池視圖。
dhcp server ip-pool pool-name
在某些組網應用中,需要將一個網段下的不同客戶端,按照一定的規則劃分到不同的地址範圍中。此時,可以按照客戶端劃分規則創建對應的DHCP用戶類,並在地址池內為不同的用戶類配置不同的地址範圍,從而實現為特定的客戶端分配特定範圍的地址。在這種情況下,還可以配置一個公共地址範圍,為不匹配任何用戶類的客戶端分配給該範圍的地址。如果不配置公共地址範圍,則不匹配任何用戶類的客戶端將無法獲取到IP地址。
如果不需要對客戶端進行分類,而僅需要限製網段內可分配的動態地址範圍,則可以隻配置公共地址範圍,而不配置用戶類的地址範圍。
配置為客戶端分配的IP地址時,需要注意:
· 在同一個DHCP地址池中,如果多次執行network或address range命令,新的配置會覆蓋已有配置;如果多次執行class命令,則可以為多個用戶類指定不同的地址範圍;多次執行forbidden-ip命令或forbidden-ip-range命令,可以配置多個不參與自動分配的IP地址。
· 在DHCP地址池視圖下通過forbidden-ip命令或forbidden-ip-range命令配置不參與自動分配的IP地址後,隻有當前的地址池不能分配這些IP地址,其他地址池仍然可以分配這些IP地址;通過dhcp server forbidden-ip命令指定不參與自動分配的IP地址後,所有地址池都不能分配這些IP地址。
· 當用戶配置class range命令修改已存在的為DHCP用戶類動態分配的IP地址範圍,且新的IP地址範圍包括之前IP地址範圍中已分配的地址租約時,如果DHCP服務器收到該地址租約的續約需求,DHCP服務器會給該DHCP客戶端分配新的IP地址租約,已分配的地址租約會繼續老化等待超期釋放。如果需要已分配的地址租約立即釋放,則需配置reset dhcp server ip-in-use命令進行清除地址租約操作。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池動態分配的主網段。
network network-address [ mask-length | mask mask ]
缺省情況下,未配置主網段。
(4) (可選)配置地址池動態分配的IP地址範圍,即公共地址範圍。
address range start-ip-address end-ip-address
缺省情況下,未配置動態分配的IP地址範圍。
(5) (可選)配置DHCP地址池為指定DHCP用戶類動態分配的IP地址範圍。
class class-name range start-ip-address end-ip-address
缺省情況下,未配置為指定DHCP用戶類動態分配的IP地址範圍。
class命令中指定的DHCP用戶類,必須通過dhcp class命令創建。否則,無法為該用戶類分配指定範圍的地址。
(6) (可選)配置動態分配的IP地址的租約有效期限。
expired { allow-hint | { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } [ allow-hint ] }
缺省情況下,IP地址租約有效期限為1天。
(7) (可選)配置DHCP地址池中不參與自動分配的IP地址。
forbidden-ip ip-address&<1-8>
缺省情況下,除DHCP服務器接口的IP地址外,IP地址池中的所有IP地址都參與自動分配。
(8) (可選)配置IP地址池中不參與自動分配的IP地址段。
forbidden-ip-range start-ip-address [ end-ip-address ]
缺省情況下,除DHCP服務器接口的IP地址外,IP地址池中的所有IP地址都參與自動分配。
(9) (可選)在係統視圖配置全局不參與自動分配的IP地址。
a. 退回係統視圖。
quit
b. 配置全局不參與自動分配的IP地址。
dhcp server forbidden-ip start-ip-address [ end-ip-address ] [ vpn-instance vpn-instance-name ]
缺省情況下,除DHCP服務器接口的IP地址外,DHCP地址池中的所有IP地址都參與自動分配。
在配置了一個主網段和多個從網段的地址池中,從網段的作用是對主網段地址空間的補充。當主網段中沒有空閑地址分配給客戶端時,服務器會從該地址池中的從網段獲取地址分配給客戶端。
在DHCP地址池視圖下通過forbidden-ip命令或forbidden-ip-range命令配置不參與自動分配的IP地址後,隻有當前的地址池不能分配這些IP地址,其他地址池仍然可以分配這些IP地址;通過dhcp server forbidden-ip命令指定不參與自動分配的IP地址後,所有地址池都不能分配這些IP地址。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池動態分配的主網段。
network network-address [ mask-length | mask mask ]
缺省情況下,未配置主網段。
每個DHCP地址池中隻能配置一個主網段,如果多次執行network命令配置主網段,則新的配置會覆蓋已有配置。
(4) (可選)配置DHCP地址池動態分配的從網段。
network network-address [ mask-length | mask mask ] secondary
缺省情況下,未配置從網段。
每個DHCP地址池中,最多可以配置32個從網段。
(5) (可選)退回地址池視圖。
quit
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置動態分配的IP地址的租約有效期限。
expired { allow-hint | { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } [ allow-hint ] }
缺省情況下,IP地址租約有效期限為1天。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池中不參與自動分配的IP地址。
forbidden-ip ip-address&<1-8>
缺省情況下,除DHCP服務器接口的IP地址外,IP地址池中的所有IP地址都參與自動分配。
多次執行forbidden-ip命令,可以配置多個不參與自動分配的IP地址段。
(4) (可選)配置IP地址池中不參與自動分配的IP地址段。
forbidden-ip-range start-ip-address [ end-ip-address ]
缺省情況下,除DHCP服務器接口的IP地址外,IP地址池中的所有IP地址都參與自動分配。
(5) (可選)在係統視圖下配置全局不參與自動分配的IP地址。
a. 退回係統視圖。
quit
b. 配置全局不參與自動分配的IP地址。
dhcp server forbidden-ip start-ip-address [ end-ip-address ] [ vpn-instance vpn-instance-name ]
缺省情況下,除DHCP服務器接口的IP地址外,DHCP地址池中的所有IP地址都參與自動分配。
多次執行dhcp server forbidden-ip命令,可以配置多個不參與自動分配的IP地址段。
某些客戶端(如Web服務器等)需要固定的IP地址,通過以下幾種方式可以實現為特定的客戶端分配特定的IP地址:
· 將客戶端的硬件地址與IP地址綁定:當具有此MAC地址的客戶端申請IP地址時,DHCP服務器將根據客戶端的MAC地址查找到對應的IP地址,並分配給客戶端。
· 將客戶端ID與IP地址綁定:某些客戶端在向DHCP服務器發送DHCP-DISCOVER報文申請IP地址時,會構建客戶端ID並添加到報文中一起發送。如果在DHCP服務器上將客戶端ID與IP地址綁定,則當該客戶端申請IP地址時,DHCP服務器將根據客戶端ID查找到對應的IP地址並分配給客戶端。
· 靜態綁定的IP地址不能是DHCP服務器的接口IP地址,否則會導致IP地址衝突,被綁定的客戶端將無法正常獲取到IP地址。
· 如果作為DHCP客戶端的設備,接口的MAC地址相同,則為了區分不同接口,采用靜態綁定方式進行地址分配時,需要在服務器上配置靜態綁定的客戶端ID,而不能配置靜態綁定的客戶端MAC地址,否則可能導致客戶端無法成功獲取IP地址。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置靜態地址綁定。
static-bind ip-address ip-address [ mask-length | mask mask ] { client-identifier client-identifier | hardware-address hardware-address [ ethernet | token-ring ] }
缺省情況下,未配置靜態地址綁定。
同一地址隻能綁定給一個客戶端。不允許通過重複執行static-bind ip-address命令的方式修改IP地址與客戶端的綁定關係。隻有刪除了某個地址的綁定關係,才能將該地址與其他客戶端綁定。
(4) (可選)配置靜態綁定IP地址的租約有效期限。
expired { allow-hint | { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } [ allow-hint ] }
缺省情況下,IP地址租約有效期限為1天。
DHCP客戶端訪問本網段以外的服務器或主機時,數據必須通過網關進行轉發。DHCP服務器可以為客戶端指定網關的地址。
· 在DHCP服務器上,可以為每個地址池分別指定客戶端對應的網關地址。目前,每個DHCP地址池視圖下、每個從網段視圖下最多可以配置64個網關地址。
· DHCP地址池視圖下執行gateway-list命令,配置的是為地址池中所有DHCP客戶端分配的網關地址。如果用戶需要為地址池下某個從網段的DHCP客戶端分配其它的網關地址,可以在地址池的從網段視圖下執行gateway-list命令。如果在地址池視圖和從網段視圖下都配置了網關地址,則優先將從網段視圖下配置的網關地址分配給從網段的DHCP客戶端。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置為DHCP客戶端分配的網關地址。
gateway-list ip-address&<1-64>
缺省情況下,未配置為DHCP客戶端分配的網關地址。
(4) (可選)在從網段視圖中配置為DHCP客戶端分配的網關地址。
a. 進入從網段視圖。
network network-address [ mask-length | mask mask ] secondary
b. 配置為DHCP客戶端分配的網關地址。
gateway-list ip-address&<1-64>
缺省情況下,未配置為DHCP客戶端分配的網關地址。
在DHCP服務器上,可以為每個地址池指定客戶端使用的域名後綴。
在客戶端進行域名解析時,用戶隻需要輸入域名的部分字段,客戶端會自動將輸入的域名加上從DHCP服務器獲得的域名後綴進行解析。有關域名後綴的詳細介紹,請參見“三層技術-IP業務配置指導”中的“域名解析”。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置為DHCP客戶端分配的域名後綴。
domain-name domain-name
缺省情況下,未配置為DHCP客戶端分配的域名後綴。
為了使DHCP客戶端能夠通過域名訪問Internet上的主機,DHCP服務器應在為客戶端指定DNS(Domain Name System,域名係統)服務器地址。目前,每個DHCP地址池視圖下最多可以配置8個DNS服務器地址。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置為DHCP客戶端分配的DNS服務器地址。
dns-list ip-address&<1-8>
缺省情況下,未配置為DHCP客戶端分配的DNS服務器地址。
對於使用Microsoft Windows操作係統的客戶端,由WINS(Windows Internet Naming Service,Windows Internet名稱服務)服務器為通過NetBIOS協議通信的主機提供主機名到IP地址的解析。所以,大部分Windows網絡客戶端需要進行WINS的設置。
為了使DHCP客戶端實現主機名到IP地址的解析,DHCP服務器應該為客戶端指定WINS服務器地址。
DHCP客戶端在網絡上使用NetBIOS協議通信時,需要在主機名和IP地址之間建立映射關係。根據獲取映射關係方式的不同,NetBIOS節點分為四種:
· b類節點(b-node):“b”代表廣播(broadcast),即此類節點采用廣播方式獲取映射關係。源節點通過發送帶有目的節點主機名的廣播報文來獲取目的節點的IP地址,目的節點收到廣播報文後,就將自己的IP地址返回給源節點。
· p類節點(p-node):“p”代表端到端(peer-to-peer),即此類節點采用發送單播報文與WINS服務器通信的方式獲取映射關係。源節點給WINS服務器發送單播報文,WINS服務器收到單播報文後,返回源節點請求的目的節點名所對應的IP地址。
· m類節點(m-node):“m”代表混合(mixed),是具有部分廣播特性的p類節點。即此類節點首先發送廣播報文來獲取映射關係,如果沒有獲取到,則再發送單播報文與WINS服務器通信來獲取映射關係。
· h類節點(h-node):“h”代表混合(hybrid),是具備“端到端”通信機製的b類節點。即此類節點首先發送單播報文與WINS服務器通信來獲取映射關係,如果沒有獲取到,再發送廣播報文來獲取映射關係。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置為DHCP客戶端分配的WINS服務器地址。
nbns-list ip-address&<1-8>
缺省情況下,未配置為DHCP客戶端分配的WINS服務器地址。
對於b類節點,為可選;其他情況下,為必選。每個DHCP地址池視圖下最多可以配置8個WINS服務器地址。
(4) 配置為DHCP客戶端分配的NetBIOS節點類型。
netbios-type { b-node | h-node | m-node | p-node }
缺省情況下,未配置為DHCP客戶端分配的NetBIOS節點類型。
為了使DHCP客戶端通過BIMS(Branch Intelligent Management System,分支網點智能管理係統)服務器進行軟件的備份和升級等操作,DHCP服務器需要將BIMS服務器的IP地址、端口號以及加密的共享密鑰等信息發給DHCP客戶端。之後,DHCP客戶端就可以定期向BIMS服務器發送連接請求,從BIMS服務器上獲取配置文件,進行軟件的備份和升級等操作。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置為DHCP客戶端分配的BIMS服務器的IP地址、端口及共享密鑰信息。
bims-server ip ip-address [ port port-number ] sharekey { cipher | simple } string
缺省情況下,未配置為DHCP客戶端分配的BIMS服務器信息。
服務器自動配置功能在空配置啟動的設備上不需要進行任何配置,但需要在DHCP服務器上配置一些必需的參數,包括TFTP服務器地址、TFTP服務器名和啟動文件名或遠程啟動文件的HTTP形式URL等。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP客戶端使用的TFTP服務器信息。請選擇其中至少一項進行配置。
¡ 配置DHCP客戶端使用的TFTP服務器地址。
tftp-server ip-address ip-address
缺省情況下,未配置DHCP客戶端使用的TFTP服務器地址。
¡ 配置DHCP客戶端使用的TFTP服務器名。
tftp-server domain-name domain-name
缺省情況下,未配置DHCP客戶端使用的TFTP服務器名。
(4) 配置DHCP客戶端使用的啟動文件名。
bootfile-name { bootfile-name | url }
缺省情況下,未配置DHCP客戶端使用的啟動文件名。
設備在啟動後,可能需要訪問某些服務器獲取設備運行需要的信息,例如從TFTP服務器上獲取配置文件。通過本配置可以指定DHCP服務器為DHCP客戶端分配的下一個提供服務的服務器IP地址,以便客戶端啟動後訪問該服務器,獲取必要的信息。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池為DHCP客戶端分配的下一個提供服務的服務器IP地址。
next-server ip-address
缺省情況下,未配置DHCP地址池為DHCP客戶端分配的下一個提供服務的服務器IP地址。
為了使具有語音功能的DHCP客戶端能夠在通過DHCP獲取IP地址的同時,獲取到語音呼叫所需的相關信息,需要在DHCP服務器上配置Option 184。Option 184內容的詳細介紹,請參見“1.6.3 Option 184”。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置網絡呼叫處理器的地址。
voice-config ncp-ip ip-address
缺省情況下,未配置網絡呼叫處理器的地址。
隻有配置了網絡呼叫處理器的地址,其他配置才能生效。
(4) (可選)配置備用服務器的地址。
voice-config as-ip ip-address
缺省情況下,未配置備用服務器的地址。
(5) (可選)配置語音VLAN。
voice-config voice-vlan vlan-id { disable | enable }
缺省情況下,未配置語音VLAN。
(6) (可選)配置自動故障轉移呼叫路由。
voice-config fail-over ip-address dialer-string
缺省情況下,未配置自動故障轉移呼叫路由。
本配置為DHCP服務器提供了靈活的選項配置方式,使得DHCP服務器可以為DHCP客戶端提供更加豐富的選項內容。在以下情況下,可以使用本命令自定義DHCP選項:
· 隨著DHCP的不斷發展,新的DHCP選項會陸續出現。通過自定義DHCP選項,可以方便地添加新的DHCP選項。
· 有些選項的內容,RFC中沒有統一規定。廠商可以根據需要定義選項的內容,如Option 43。通過自定義DHCP選項,可以為DHCP客戶端提供廠商指定的信息。
· 設備上隻提供了有限的選項配置命令(如gateway-list、dns-list命令),對於沒有專門命令來配置的DHCP選項,可以通過option命令配置選項內容。例如,可以通過option 4 ip-address 1.1.1.1命令指定為DHCP客戶端分配的時間服務器地址為1.1.1.1。
· 擴展已有的DHCP選項。當前已提供的方式無法滿足用戶需求時(比如通過dns-list命令最多隻能配置8個DNS服務器地址,如果用戶需要配置的DNS服務器地址數目大於8,則該命令無法滿足需求),可以通過自定義DHCP選項的方式進行擴展。
表2-1中列出了常用的DHCP選項名稱、對應的配置命令和推薦的Option命令參數信息。
表2-1 常用Option選項信息
選項編號 |
選項名稱 |
對應的配置命令 |
推薦的option命令參數 |
3 |
Router Option |
gateway-list |
ip-address |
6 |
Domain Name Server Option |
dns-list |
ip-address |
15 |
Domain Name |
domain-name |
ascii |
44 |
NetBIOS over TCP/IP Name Server Option |
nbns-list |
ip-address |
46 |
NetBIOS over TCP/IP Node Type Option |
netbios-type |
hex |
66 |
TFTP server name |
tftp-server |
ascii |
67 |
Bootfile name |
bootfile-name |
ascii |
43 |
Vendor Specific Information |
- |
hex |
· 自定義DHCP選項時,取值的獲取比較複雜,配置錯誤可能會對DHCP的工作過程造成影響,請謹慎使用該功能。
· 用戶可在DHCP地址池中自定義選項信息。
· 用戶可在DHCP選項組中自定義選項信息,並在DHCP地址池中配置DHCP用戶類和DHCP選項組關聯,為DHCP客戶端分配選項信息。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 自定義DHCP地址池選項。
option code { ascii ascii-string | hex hex-string | ip-address ip-address&<1-8> }
缺省情況下,未自定義DHCP地址池選項。
DHCP服務器在應答DHCP客戶端報文時,如果DHCP選項組的選項編號和DHCP地址池選項編號相同且匹配用戶類時,以DHCP選項組的選項為準。
(1) 進入係統視圖。
system-view
(2) 創建DHCP選項組,並進入DHCP選項組視圖。
dhcp option-group option-group-number
(3) 自定義DHCP選項組選項。
option code { ascii ascii-string | hex hex-string | ip-address ip-address&<1-8> }
缺省情況下,未定義DHCP選項組的選項。
DHCP服務器在應答客戶端報文時,如果多個DHCP選項組的選項編號相同時,以最先匹配的DHCP用戶類對應的DHCP選項組的選項為準。
(4) 返回係統視圖。
quit
(5) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(6) 配置DHCP用戶類與DHCP選項組的關聯。
class class-name option-group option-group-number
缺省情況下,未配置指定DHCP用戶類與DHCP 選項組的關聯。
當地址池綁定了VPN實例後,DHCP服務器可以將網絡劃分成公網和VPN私網。未配置VPN屬性的地址池被劃分到公網,配置了VPN屬性的地址池被劃分到相應的VPN私網,這樣,對於處於公網或VPN私網中的客戶端,服務器都能夠選擇合適的地址池來為客戶端分配租約並且記錄該客戶端的狀態信息。
DHCP服務器可以通過如下方式判斷DHCP客戶端所屬的VPN實例:
· 認證模塊(如IPoE),用戶接入時在AAA服務器處授權獲得VPN實例信息;
· DHCP服務器接收報文的接口綁定的VPN實例即為該客戶端所屬的VPN實例。
如果以上兩種方式都可獲取到DHCP客戶端所屬的VPN實例,則以認證模塊為準。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 為DHCP服務器上的地址池綁定VPN實例。
vpn-instance vpn-instance-name
缺省情況下,DHCP服務器上的地址池未綁定VPN實例。
配置DHCP用戶類白名單功能,DHCP服務器隻有收到屬於用戶類白名單的DHCP客戶端發送的請求報文,才會進行處理。
如果DHCP客戶端請求的是靜態綁定租約,則DHCP服務器不進行白名單檢查直接進行處理。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 開啟DHCP用戶類白名單功能。
verify class
缺省情況下, DHCP用戶類白名單功能處於關閉狀態。
(4) 配置DHCP用戶類白名單包括的用戶類名。
valid class class-name&<1-8>
缺省情況下,未配置DHCP用戶類白名單包括的用戶類名。
當DHCP客戶端下線後,DHCP服務器會將該客戶端對應的地址保存在老化租約中。為了確保DHCP客戶端再次上線時能使用到之前用過的IP地址,管理員可以通過配置DHCP地址池老化地址保留功能來確定老化租約保留模式、保留老化租約最大數目和保留時間。DHCP地址池老化地址保留模式包括:
· 按客戶端ID保留模式:如果用戶第一次上線時,DHCP服務器記錄用戶的客戶端ID信息和分配給用戶的IP地址,當用戶下線並再次上線時,仍然可以獲取到之前使用的IP地址,這種保留模式為按客戶端ID保留。
· 按客戶端MAC地址保留模式:如果用戶第一次上線時,DHCP服務器記錄用戶的MAC地址和分配給用戶的IP地址,當用戶下線並再次上線時,仍然可以獲取到之前使用的IP地址,這種保留模式為按客戶端MAC地址保留。
如果管理員希望DHCP地址池不保留IP地址老化租約,DHCP客戶端下線後釋放的IP地址可以直接用來分配給其他的DHCP客戶端,管理員可以關閉DHCP地址池老化地址保留功能。
當網絡中存在多個DHCP客戶端的客戶端ID相同時,需要配置按客戶端MAC地址保留模式。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 開啟DHCP地址池老化地址保留功能。
reserve expired-ip enable
缺省情況下,保留DHCP老化租約的功能處於開啟狀態。
(4) 配置DHCP地址池下老化地址保留模式。
reserve expired-ip mode { client-id | mac } [ limit limit-number | time time ] *
缺省情況下,當開啟了DHCP地址池老化地址保留功能,則設備按照客戶端ID保留IP地址。
目前DHCP地址池正常的地址分配方式是盡量保證同一用戶上線能夠獲得相同的IP地址。但是在某些應用中,用戶需要實現每次上線能夠獲得不同的IP地址的需求。針對這種需求,設備需提供DHCP地址池隨機分配新地址的需求。本功能保證用戶在斷線重撥後可以獲得不同的IP地址。
隻有開啟了DHCP服務器老化地址保留功能,本功能才生效。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池。
dhcp server ip-pool pool-name
(3) 配置DHCP地址池隨機分配新地址功能。
allocate-new-ip enable
缺省情況下,DHCP地址池隨機分配新地址功能處於關閉狀態。
在某些接入組網類型中,如圖2-1所示,接入設備上除了配置接入特性還需要配置DHCP服務器功能。由於接入設備需要接入多種業務的客戶端(如IPTV、IP電話和寬帶業務等),而不同業務的設備需要獲取不同網段的IP地址,所以接入設備的下行口一般不能配置IP地址。此時可以通過在接入設備的DHCP地址池中配置輔助網關功能使不同類型的業務流量能夠正常轉發。本特性使用輔助網關的IP地址和MAC地址信息應答客戶端的ARP請求,即可實現對不同類型的業務流量的引導。
圖2-1 DHCP服務器輔助網關組網圖
如果地址池綁定了VPN實例,需保證該VPN實例存在。滿足了以上條件,該接入設備的輔助網關功能才能生效。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP服務器輔助網關信息。
gateway-list ip-address&<1-64> export-route
缺省情況下,未配置DHCP服務器輔助網關信息。
在某些特定的業務模型下,BRAS設備需要實時監測網絡流量,並將統計數據發送到RADIUS服務器。該統計數據為用戶上線以來產生的所有上下行流量數據,而不能是設備在某個時間段內發生的上下行流量數據。由於RADIUS服務器刷新計數的方法是覆蓋以前數據而不是進行累加,所以當一台設備的上下行流量分別從兩台BRAS設備上通過時,在RADIUS服務器上記錄的數據就會相互覆蓋,這時RADIUS服務器得到的統計數據是不準確的。為了提高準確性,需保證一台設備的上下行流量經過同一台BRAS設備。通過配置輔助路由信息,並對外發布此網段路由,引導指定網段的下行數據流量來保證上下行流量從一台BRAS設備經過。
圖2-2 DHCP服務器輔助路由組網圖
如果地址池綁定了VPN實例,需保證該VPN實例存在。滿足了以上條件,該接入設備的輔助路由功能才能生效。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP服務器輔助路由信息。
network network-address [ mask-length | mask mask ] export-route [ preference preference | tag tag ] * [ secondary ]
缺省情況下,未配置DHCP服務器輔助路由信息。
創建地址池,並在接口引用該地址池後,接口接收到DHCP請求,將優先為客戶端分配靜態綁定的IP地址;如果不存在靜態綁定的IP地址,則從引用的地址池中選擇IP地址分配給客戶端。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口引用地址池。
dhcp server apply ip-pool pool-name
缺省情況下,接口未引用地址池。
如果接口引用的地址池不存在,將導致無法動態分配地址。
創建DHCP策略,並在接口引用該策略後,該接口接收到DHCP請求報文時,則根據配置順序逐個匹配DHCP策略中通過class ip-pool命令指定的DHCP用戶類。匹配情況如下:
· 若匹配DHCP用戶類成功,當該DHCP用戶類關聯的DHCP地址池中存在可供分配的地址信息時,則從該DHCP地址池中分配IP地址和其他參數;當該DHCP用戶類關聯的DHCP地址池中不存在可供分配的地址信息時,IP地址和其他參數分配失敗。
· 若匹配DHCP策略中的所有DHCP用戶類失敗,當配置了默認DHCP地址池時,則從該地址池中分配IP地址和其他參數;當未配置默認DHCP地址池或默認DHCP地址池中不存在可供分配的地址信息時,IP地址和其他參數分配失敗。
若接收DHCP請求報文的接口引用的DHCP策略不存在或匹配的DHCP用戶類關聯的DHCP地址池不存在時,IP地址和其他參數分配失敗。
DHCP策略需要在接口上引用才生效。
(1) 進入係統視圖。
system-view
(2) 創建DHCP策略,並進入DHCP策略視圖。
dhcp policy policy-name
(3) 指定DHCP用戶類關聯的DHCP地址池。
class class-name ip-pool pool-name
缺省情況下,未指定DHCP用戶類關聯的DHCP地址池。
(4) 指定默認DHCP地址池。
default ip-pool pool-name
缺省情況下,未指定默認DHCP地址池。
(5) 退回係統視圖。
quit
(6) 進入接口視圖。
interface interface-type interface-number
(7) 指定接口引用的DHCP策略。
dhcp apply-policy policy-name
缺省情況下,接口未引用DHCP策略。
目前,當網絡中隻存在一台DHCP服務器時,相同MAC地址的多個DHCP客戶端中隻有一台DHCP客戶端能夠獲取到IP地址。在某些組網應用中,需要實現相同MAC地址的DHCP客戶端可以獲取到不同的IP地址。針對這種需求,DHCP服務器需要支持為MAC地址相同的DHCP客戶端分配不同IP地址的功能。
開啟本功能後,DHCP服務器通過以下方式來區分MAC地址相同的DHCP客戶端:
· 如果網絡中存在DHCP Snooping或DHCP中繼,需要在DHCP Snooping或DHCP中繼上開啟支持Option 82功能。DHCP服務器根據DHCP請求報文中的DHCP客戶端MAC地址和Option 82字段區分不同的DHCP客戶端,並為不同的客戶端分配不同的IP地址。
· 如果網絡中不存在DHCP Snooping和DHCP中繼,DHCP服務器根據DHCP客戶端MAC地址、收到DHCP請求報文的接口名或接口VLAN信息區分不同的DHCP客戶端,並為不同的客戶端分配不同的IP地址。
(1) 進入係統視圖。
system-view
(2) 開啟為MAC地址相同的DHCP客戶端分配不同IP地址功能。
dhcp server multi-ip per-mac enable
缺省情況下,為MAC地址相同的DHCP客戶端分配不同IP地址功能處於關閉狀態。
隻有開啟DHCP服務後,其它相關的DHCP服務器配置才能生效。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP服務。
dhcp enable
缺省情況下,DHCP服務處於關閉狀態。
配置接口工作在DHCP服務器模式後,當接口收到DHCP客戶端發來的DHCP報文時,將從DHCP服務器的地址池中分配地址等參數。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口工作在DHCP服務器模式。
dhcp select server
缺省情況下,接口工作在DHCP服務器模式。
為防止IP地址重複分配導致地址衝突,DHCP服務器為客戶端分配地址前,需要先對該地址進行探測。
DHCP服務器的地址探測是通過ping功能實現的,通過檢測是否能在指定時間內得到ping響應來判斷是否存在地址衝突。DHCP服務器發送目的地址為待分配地址的ICMP回顯請求報文。如果在指定時間內收到ICMP回顯響應報文,則認為存在地址衝突。DHCP服務器從地址池中選擇新的IP地址,並重複上述操作。如果在指定時間內未收到ICMP回顯響應報文,則繼續發送ICMP回顯請求報文,直到發送的ICMP回顯顯示報文數目達到最大值。如果仍然未收到ICMP回顯響應報文,則將地址分配給客戶端,從而確保客戶端獲得的IP地址唯一。
DHCP服務器通過ping操作來檢測是否發生地址衝突,而DHCP客戶端則通過發送免費ARP報文檢測是否發生地址衝突。
(1) 進入係統視圖。
system-view
(2) (可選)配置DHCP服務器發送ICMP回顯請求報文的最大數目。
dhcp server ping packets number
缺省情況下,DHCP服務器發送ICMP回顯請求報文的最大數目為1。
0表示DHCP服務器將IP地址分配給DHCP客戶端之前,不會通過ping操作探測該地址是否衝突。
(3) (可選)配置DHCP服務器等待ICMP回顯響應報文的超時時間。
dhcp server ping timeout milliseconds
缺省情況下,DHCP服務器等待ICMP回顯響應報文的超時時間為500毫秒。
0表示DHCP服務器將IP地址分配給DHCP客戶端之前,不會通過ping操作探測該地址是否衝突。
如果配置DHCP服務器處理Option 82,則當DHCP服務器收到帶有Option 82的報文後,會在響應報文中攜帶Option 82,並為客戶端分配IP地址等信息。
如果配置DHCP服務器忽略Option 82,則當DHCP服務器收到帶有Option 82的報文後,不會在響應報文中攜帶Option 82,隻為客戶端分配IP地址等信息。
為使Option 82功能正常使用,需要在DHCP服務器和DHCP中繼上都進行相應配置。DHCP中繼支持Option 82功能的相關配置請參見“3.8 配置DHCP中繼支持Option 82功能”。
(1) 進入係統視圖。
system-view
(2) 配置DHCP服務器處理Option 82。
dhcp server relay information enable
缺省情況下,DHCP服務器處理Option 82。
如果網絡中存在DHCP中繼,DHCP服務器收到的DHCP請求報文中源MAC地址會被DHCP中繼替換。所以這種組網情況下DHCP服務器安全功能不適用,隻能開啟DHCP中繼的安全功能。關於DHCP中繼的安全功能的介紹,請參見“3.6 配置DHCP中繼的安全功能”。
DHCP餓死攻擊是指攻擊者偽造chaddr字段各不相同的DHCP請求報文,向DHCP服務器申請大量的IP地址,導致DHCP服務器地址池中的地址耗盡,無法為合法的DHCP客戶端分配IP地址,或導致DHCP服務器消耗過多的係統資源,無法處理正常業務。DHCP報文字段的相關內容請參見“1.3 DHCP報文格式”。
如果封裝DHCP請求報文的數據幀的源MAC地址各不相同,則通過mac-address max-mac-count命令限製端口可以學習到的MAC地址數,並配置學習到的MAC地址數達到最大值時,丟棄源MAC地址不在MAC地址表裏的報文,能夠避免攻擊者申請過多的IP地址,在一定程度上阻止了DHCP餓死攻擊。此時,不存在DHCP餓死攻擊的端口下的DHCP客戶端可以正常獲取IP地址,但存在DHCP餓死攻擊的端口下的DHCP客戶端仍可能無法獲取IP地址。
如果封裝DHCP請求報文的數據幀的MAC地址都相同,則通過mac-address max-mac-count命令無法防止DHCP餓死攻擊。在這種情況下,需要開啟DHCP 服務器的MAC地址檢查功能。開啟該功能後,DHCP服務器檢查接收到的DHCP請求報文中的chaddr字段和數據幀的源MAC地址字段是否一致。如果一致,則認為該報文合法,進行後續處理;如果不一致,則丟棄該報文。mac-address max-mac-count命令的詳細介紹,請參見“二層技術-以太網交換”中的“MAC地址表”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟DHCP服務器源MAC檢查功能。
dhcp server check mac-address
缺省情況下,DHCP服務器的MAC地址檢查功能處於關閉狀態。
當DHCP客戶端的行為不符合RFC協議規定時,為了與之兼容,需要配置DHCP服務器兼容性功能。
一般情況下,隻有DHCP請求報文的廣播標誌位為1的時候,DHCP服務器才會以廣播的方式發送應答報文。如果DHCP客戶端發送的請求報文中廣播標誌位為0,且該客戶端不支持接收單播的應答報文,則可以配置DHCP服務器忽略請求報文的廣播標誌位,始終以廣播方式發送應答報文。
當已經存在IP地址的客戶端發出請求報文(即報文中ciaddr字段不為0)時,無論是否開啟DHCP服務器的廣播回應報文功能,DHCP服務器都會以單播形式將回應報文發送給DHCP客戶端(即目的地址為ciaddr)。
當請求報文通過DHCP中繼轉發到DHCP服務器(即報文中giaddr字段不為0)時,無論是否開啟DHCP服務器的廣播回應報文功能,DHCP服務器都會以單播形式將回應報文發送給DHCP中繼(即目的地址為giaddr)。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP服務器的廣播回應報文功能。
dhcp server always-broadcast
缺省情況下,DHCP服務器的廣播回應報文功能處於關閉狀態。DHCP服務器根據請求報文中的廣播標誌位來決定以廣播還是單播的形式發送應答報文。
如果網絡中存在不支持解析Option 60的DHCP客戶端,DHCP服務器需要配置DHCP服務器發送DHCP應答報文時不攜帶Option 60選項功能。配置該功能後,DHCP服務器無論收到的DHCP報文中是否攜帶Option 60選項,也無論DHCP地址池中是否已經配置了Option 60選項內容,DHCP服務器應答的DHCP報文中都不攜帶Option 60選項。
(1) 進入係統視圖。
system-view
(2) 配置DHCP服務器發送DHCP應答報文不攜帶Option 60選項。
dhcp server reply-exclude-option60
缺省情況下,DHCP服務器發送DHCP應答報文時可以攜帶Option 60選項。
本功能隻在以下環境中生效:
· DHCP客戶端不發送DHCP-DISCOVER報文卻直接發送DHCP-REQUEST報文請求IP地址,DHCP服務器收到DHCP客戶端發送的DHCP-REQUEST報文中的請求地址與之前DHCP服務器分配的地址不同或該地址對應的租約不存在。
· DHCP客戶端收到DHCP-OFFER報文後發送DHCP-REQUEST請求報文,DHCP服務器收到DHCP客戶端發送的DHCP-REQUEST報文中的請求地址與之前DHCP服務器分配的地址不同或該地址對應的租約不存在。
未開啟本功能時,當收到DHCP客戶端發送的DHCP-REQUEST報文中的請求地址與之前DHCP服務器分配的地址不同或該地址對應的租約不存在時,DHCP服務器不回複應答報文。當DHCP服務器上保存的地址租約到期後,DHCP服務器才會應答DHCP客戶端的請求並分配新的IP地址。
開啟本功能時,如果DHCP客戶端請求的新地址與之前使用的地址不同或該地址對應的租約不存在時,DHCP服務器直接回複NAK報文拒絕DHCP客戶端的地址請求,DHCP客戶端收到NAK報文後,重新申請IP地址。
(1) 進入係統視圖。
system-view
(2) 當DHCP客戶端請求的新地址與之前使用的地址不同或者租約不存在時,DHCP服務器回複NAK報文的功能。
dhcp server request-ip-address check
缺省情況下,當收到DHCP客戶端發送的DHCP-REQUEST報文中的請求地址與之前DHCP服務器分配的地址不同或該地址對應的租約不存在時,DHCP服務器不回複NAK報文。
BOOTP客戶端申請到的地址租約是無限期的。在某些組網環境中,可能不希望出現無限期的地址租約。此時,可以通過配置DHCP服務器忽略BOOTP請求報文,避免分配無限期的地址租約。
(1) 進入係統視圖。
system-view
(2) 配置DHCP服務器忽略BOOTP請求報文。
dhcp server bootp ignore
缺省情況下,DHCP服務器不會忽略BOOTP請求報文。
有些BOOTP客戶端發送的請求報文中,vend字段的格式不符合RFC 1048的要求。對於這種報文,DHCP服務器的缺省處理方法是不解析vend字段內容,將報文中vend字段的內容拷貝到回複報文中的vend字段回應給BOOTP客戶端。
開啟DHCP服務器的回應RFC 1048格式報文功能後,對於這種格式不符合RFC 1048要求的報文,DHCP服務器會將需要回應的選項以符合RFC 1048要求的格式,封裝到回複報文的vend字段,並回應給BOOTP客戶端。
本配置隻在客戶端通過BOOTP報文申請靜態綁定地址時有效。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP服務器回應RFC 1048格式報文功能。
dhcp server bootp reply-rfc-1048
缺省情況下,DHCP服務器回應RFC 1048格式報文功能處於關閉狀態。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定DHCP服務器發送的DHCP報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 配置DHCP服務器發送DHCP報文的DSCP優先級。
dhcp dscp dscp-value
缺省情況下,DHCP服務器發送DHCP報文的DSCP優先級為56。
DHCP服務器重啟後,設備上記錄的租約信息將丟失,會影響DHCP服務器的正常業務。
DHCP服務器租約固化功能將DHCP服務器的在用地址租約和衝突表項保存到指定的文件中,DHCP服務器設備重啟後,自動根據該文件恢複DHCP服務器的租約信息,從而保證DHCP服務器的租約信息不會丟失。
當DHCP服務器設備重啟後,自動根據該文件恢複DHCP服務器的租約信息,租約恢複的過程中,DHCP服務器不能提供DHCP業務。所以當恢複過程出現問題導致恢複過程無法結束時,用戶可配置dhcp server database update stop命令終止當前的DHCP服務器表項恢複操作,以便DHCP服務器能及時提供DHCP服務。
(1) 進入係統視圖。
system-view
(2) 指定存儲DHCP服務器表項的文件名稱。
dhcp server database filename { filename | url url }
缺省情況下,未指定存儲DHCP服務器表項的文件名稱。
執行本命令後,會立即觸發一次表項備份。
(3) (可選)將當前的DHCP服務器表項保存到用戶指定的文件中。
dhcp server database update now
本命令隻用來觸發一次DHCP服務器表項的備份。
(4) (可選)配置刷新DHCP服務器表項存儲文件的延遲時間。
dhcp server database update interval interval
缺省情況下,若DHCP服務器表項不變化,則不刷新存儲文件;若DHCP服務器表項發生變化,默認在300秒之後刷新存儲文件。
(5) (可選)終止當前的DHCP服務器表項恢複操作。
dhcp server database update stop
本命令隻用來觸發一次終止DHCP服務器表項信息的恢複。
DHCP服務器的用戶下線探測功能以ARP表項老化功能為基礎,當ARP表項老化時認為該表項對應的用戶已下線。
如果在接口上開啟了DHCP服務器的用戶下線探測功能,則當ARP表項老化時,係統會刪除該表項對應用戶的地址綁定信息。
手工刪除ARP表項,不會觸發DHCP服務器刪除對應用戶的地址綁定信息。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟DHCP服務器的用戶下線探測功能。
dhcp client-detect
缺省情況下,DHCP服務器的用戶下線探測功能處於關閉狀態。
DHCP地址池告警功能是用來將設備發生了的重要事件告知給網絡管理員,比如DHCP服務器單個DHCP地址池地址資源耗盡/恢複,單個DHCP地址池地址使用率超過閾值,DHCP服務器所有地址池地址分配成功率低於閾值等事件。
當上述事件發生時,DHCP模塊會生成告警信息,並將告警信息將發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
如果發生了地址池中地址使用率超過閾值的事件,DHCP模塊還會生成日誌信息到設備的信息中心。通過設置信息中心的告警信息的發送參數,最終決定日誌報文的輸出規則(即是否允許輸出以及輸出方向),提醒管理員進行地址池合理規劃。有關信息中心參數的配置,請參見“設備管理配置指導”中的“信息中心”。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP告警功能。
snmp-agent trap enable dhcp server [ address-exhaust | allocated-ip | ip-in-use ]
缺省情況下,DHCP服務器的告警功能均處於開啟狀態。
(3) (可選)設置在5分鍾內成功分配出去的地址租約數所占地址池收到的DHCP客戶端請求數比率的門限閾值。
dhcp server allocated-ip threshold threshold-value
缺省情況下,設備不會發送告警信息。
(4) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(5) (可選)設置地址池使用率告警門限閾值。
ip-in-use threshold threshold-value
缺省情況下,地址池使用率告警門限閾值為100%。
DHCP服務器日誌是為了滿足管理員審計需求。設備生成DHCP日誌信息會交給信息中心模塊處理,信息中心模塊的配置將決定日誌信息的發送規則和發送方向。關於信息中心的詳細描述請參見“設備管理配置指導”中的“信息中心”。
比如大量DHCP客戶端發生上下線操作時,DHCP服務器會輸出大量日誌信息,這可能會降低設備性能,影響DHCP服務器分配IP地址的速度。為了避免該情況的發生,用戶可以關閉DHCP服務器日誌信息功能,使得DHCP服務器不再輸出日誌信息。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP服務器日誌信息功能。
dhcp log enable
缺省情況下,DHCP服務器日誌信息功能處於關閉狀態。
可在任意視圖下執行以下命令:
· 顯示DHCP地址池的信息。
display dhcp server pool [ pool-name | vpn-instance vpn-instance-name ]
· 顯示DHCP服務器的表項備份信息。
display dhcp server database
可在任意視圖下執行以下命令:
· 顯示DHCP地址綁定信息。
display dhcp server ip-in-use [ [ ip ip-address ] [ vpn-instance vpn-instance-name ] | pool pool-name ]
· 顯示DHCP地址池的空閑地址信息。
display dhcp server free-ip [ pool pool-name | vpn-instance vpn-instance-name ]
· 顯示租約過期的地址綁定信息。
display dhcp server expired [ [ ip ip-address | mac mac-address ] [ vpn-instance vpn-instance-name ] | pool pool-name ] [ verbose ]
· 顯示DHCP的地址衝突信息。
display dhcp server conflict [ ip ip-address ] [ vpn-instance vpn-instance-name ]
DHCP服務器重啟或使用reset dhcp server ip-in-use命令清除租約後,DHCP服務器上不存在租約信息。此時客戶端如果發出續約請求將會被拒絕,客戶端需要重新申請IP地址。
請在用戶視圖下執行以下命令:
· 清除DHCP的正式綁定和臨時綁定信息。
reset dhcp server ip-in-use [ [ ip ip-address ] [ vpn-instance vpn-instance-name ] | pool pool-name ]
· 清除租約過期的地址綁定信息。
reset dhcp server expired [ [ ip ip-address ] [ vpn-instance vpn-instance-name ] | pool pool-name ]
· 清除DHCP的地址衝突信息。
reset dhcp server conflict [ ip ip-address ] [ vpn-instance vpn-instance-name ]
可在任意視圖下執行以下命令,顯示DHCP服務器的統計信息。
display dhcp server statistics [ pool pool-name | vpn-instance vpn-instance-name ]
請在用戶視圖下執行以下命令,清除DHCP服務器的統計信息。
reset dhcp server statistics [ vpn-instance vpn-instance-name ]
Router B和Router C分別作為DHCP客戶端和BOOTP客戶端,從DHCP服務器Router A獲取靜態綁定的IP地址、域名服務器、網關地址。
其中:
· Router B的接口HundredGigE1/0/1的客戶端ID為:
0030-3030-662e-6532-3030-2e30-3030-322d-4574-6865-726e-6574;
· Router C的接口HundredGigE1/0/1的MAC地址為:000f-e200-01c0。
圖2-3 靜態綁定地址組網圖
(1) 配置接口的IP地址
<RouterA> system-view
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] ip address 10.1.1.1 25
[RouterA-HundredGigE1/0/1] quit
(2) 配置DHCP服務
# 創建DHCP地址池0。
[RouterA] dhcp server ip-pool 0
# 配置采用靜態綁定方式為Router B分配IP地址。
[RouterA-dhcp-pool-0] static-bind ip-address 10.1.1.5 25 client-identifier 0030-3030-662e-6532-3030-2e30-3030-322d-4574-6865-726e-6574
# 配置采用靜態綁定方式為Router C分配IP地址。
[RouterA-dhcp-pool-0] static-bind ip-address 10.1.1.6 25 hardware-address 000f-e200-01c0
# 配置域名服務器、網關地址。
[RouterA-dhcp-pool-0] dns-list 10.1.1.2
[RouterA-dhcp-pool-0] gateway-list 10.1.1.126
[RouterA-dhcp-pool-0] quit
# 開啟DHCP服務。
[RouterA] dhcp enable
# 配置接口HundredGigE1/0/1工作在DHCP服務器模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select server
[RouterA-HundredGigE1/0/1] quit
配置完成後,Router B和Router C可以從DHCP服務器Router A分別申請到IP地址10.1.1.5和10.1.1.6,並獲取相關網絡配置參數。通過display dhcp server ip-in-use命令可以查看DHCP服務器為客戶端分配的IP地址。
[RouterA] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.1.1.5 0030-3030-662e-6532- Jan 21 14:27:27 2014 Static(C)
3030-2e30-3030-322d-
4574-6865-726e-6574
10.1.1.6 000f-e200-01c0 Unlimited Static(C)
· 作為DHCP服務器的Router A為網段10.1.1.0/24中的客戶端動態分配IP地址,該地址池網段分為兩個子網網段:10.1.1.0/25和10.1.1.128/25;
· Router A的兩個以太網接口,HundredGigE1/0/1和HundredGigE1/0/2的地址分別為10.1.1.1/25和10.1.1.129/25;
· 10.1.1.0/25網段內的地址租用期限為10天12小時,域名後綴為aabbcc.com,DNS服務器地址為10.1.1.2/25,WINS服務器地址為10.1.1.4/25,網關的地址為10.1.1.126/25;
· 10.1.1.128/25網段內的地址租用期限為5天,域名後綴為aabbcc.com,DNS服務器地址為10.1.1.2/25,無WINS服務器地址,網關的地址為10.1.1.254/25。
圖2-4 DHCP組網圖
(1) 配置DHCP server各接口的IP地址(略)
(2) 配置DHCP服務
# 配置不參與自動分配的IP地址(DNS服務器、WINS服務器和網關地址)。
<RouterA> system-view
[RouterA] dhcp server forbidden-ip 10.1.1.2
[RouterA] dhcp server forbidden-ip 10.1.1.4
[RouterA] dhcp server forbidden-ip 10.1.1.126
[RouterA] dhcp server forbidden-ip 10.1.1.254
# 配置DHCP地址池1,用來為10.1.1.0/25網段內的客戶端分配IP地址和網絡配置參數。
[RouterA] dhcp server ip-pool 1
[RouterA-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.128
[RouterA-dhcp-pool-1] expired day 10 hour 12
[RouterA-dhcp-pool-1] domain-name aabbcc.com
[RouterA-dhcp-pool-1] dns-list 10.1.1.2
[RouterA-dhcp-pool-1] gateway-list 10.1.1.126
[RouterA-dhcp-pool-1] nbns-list 10.1.1.4
[RouterA-dhcp-pool-1] quit
# 配置DHCP地址池2,用來為10.1.1.128/25網段內的客戶端分配IP地址和網絡配置參數。
[RouterA] dhcp server ip-pool 2
[RouterA-dhcp-pool-2] network 10.1.1.128 mask 255.255.255.128
[RouterA-dhcp-pool-2] expired day 5
[RouterA-dhcp-pool-2] domain-name aabbcc.com
[RouterA-dhcp-pool-2] dns-list 10.1.1.2
[RouterA-dhcp-pool-2] gateway-list 10.1.1.254
[RouterA-dhcp-pool-2] quit
# 開啟DHCP服務。
[RouterA] dhcp enable
# 配置接口HundredGigE1/0/1和HundredGigE1/0/2工作在DHCP服務器模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select server
[RouterA-HundredGigE1/0/1] quit
[RouterA] interface hundredgige 1/0/2
[RouterA-HundredGigE1/0/2] dhcp select server
[RouterA-HundredGigE1/0/2] quit
配置完成後,10.1.1.0/25和10.1.1.128/25網段的客戶端可以從DHCP服務器Router A申請到相應網段的IP地址和網絡配置參數。通過display dhcp server ip-in-use命令可以查看DHCP服務器為客戶端分配的IP地址。
[RouterA] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.1.1.3 0031-3865-392e-6262- Jan 14 22:25:03 2015 Auto(C)
3363-2e30-3230-352d-
4745-302f-30
10.1.1.5 0031-fe65-4203-7e02- Jan 14 22:25:03 2015 Auto(C)
3063-5b30-3230-4702-
620e-712f-5e
10.1.1.130 3030-3030-2e30-3030- Jan 9 10:45:11 2015 Auto(C)
662e-3030-3033-2d45-
7568-6572-1e
10.1.1.131 3030-0020-fe02-3020- Jan 9 10:45:11 2015 Auto(C)
7052-0201-2013-1e02
0201-9068-23
10.1.1.132 2020-1220-1102-3021- Jan 9 10:45:11 2015 Auto(C)
7e52-0211-2025-3402
0201-9068-9a
10.1.1.133 2021-d012-0202-4221- Jan 9 10:45:11 2015 Auto(C)
8852-0203-2022-55e0
3921-0104-31
· Router A作為DHCP中繼轉發DHCP報文。在Router A上配置DHCP中繼支持Option 82功能,使得Router A能夠為DHCP客戶端發送的請求報文添加Option 82。
· Router B作為DHCP服務器為客戶端分配IP地址和其他網絡配置參數。如果Router B接收到的請求報文中帶有Option 82,則為該客戶端分配地址範圍10.10.1.2到10.10.1.10內的IP地址。如果Router B接收到的請求報文匹配硬件地址aabb-aabb-aab0,硬件地址掩碼為ffff-ffff-fff0,則為該客戶端分配地址圍10.10.1.11到10.10.1.26內的IP地址。
· Router B為10.10.1.0/24網段內的客戶端分配的DNS服務器地址為10.10.1.20/24,網關的地址為10.10.1.254/24。
圖2-5 按DHCP用戶類分配地址組網圖
(1) 配置DHCP server各個接口的IP地址(略)
(2) 配置DHCP服務
# 創建DHCP用戶類tt,設置匹配規則編號1,匹配請求報文中帶有Option 82的客戶端。
<RouterB> system-view
[RouterB] dhcp class tt
[RouterB-dhcp-class-tt] if-match rule 1 option 82
[RouterB-dhcp-class-tt] quit
# 創建DHCP用戶類ss,設置匹配規則編號1,匹配硬件地址aabb-aabb-aab0,硬件地址掩碼ffff-ffff-fff0的請求報文。
[RouterB] dhcp class ss
[RouterB-dhcp-class-ss] if-match rule 1 hardware-address aabb-aabb-aab0 mask ffff-ffff-fff0
[RouterB-dhcp-class-ss] quit
# 創建DHCP地址池aa,配置地址範圍和用戶類tt的地址範圍,配置網關和DNS服務器的地址。
[RouterB] dhcp server ip-pool aa
[RouterB-dhcp-pool-aa] network 10.10.1.0 mask 255.255.255.0
[RouterB-dhcp-pool-aa] address range 10.10.1.2 10.10.1.100
[RouterB-dhcp-pool-aa] class tt range 10.10.1.2 10.10.1.10
[RouterB-dhcp-pool-aa] class ss range 10.10.1.11 10.10.1.26
[RouterB-dhcp-pool-aa] gateway-list 10.10.1.254
[RouterB-dhcp-pool-aa] dns-list 10.10.1.20
[RouterB-dhcp-pool-aa] quit
# 開啟DHCP服務,且配置DHCP服務器處理Option 82信息。
[RouterB] dhcp enable
[RouterB] dhcp server relay information enable
# 配置接口HundredGigE1/0/1工作在DHCP服務器模式。
[RouterB] interface hundredgige 1/0/1
[RouterB-HundredGigE1/0/1] dhcp select server
[RouterB-HundredGigE1/0/1] quit
配置完成後,10.10.1.0/24網段的客戶端通過用戶類分配方式可以從DHCP服務器Router B申請到相應地址範圍的IP地址和網絡配置參數。通過display dhcp server ip-in-use命令可以查看DHCP服務器為它分配的IP地址。
[RouterB] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.10.1.2 0031-3865-392e-6262- Jan 14 22:25:03 2015 Auto(C)
3363-2e30-3230-352d-
4745-302f-30
10.10.1.11 aabb-aabb-aab1 Jan 14 22:25:03 2015 Auto(C)
Router B作為DHCP服務器隻為局域網中匹配硬件地址aabb-aabb-0000,硬件地址掩碼為ffff-ffff-0000的DHCP客戶端動態分配網段為10.1.1.0/24的IP地址。
圖2-6 用戶類白名單功能典型組網圖
(1) 配置DHCP服務器接口的IP地址(略)
(2) 配置DHCP服務
# 創建DHCP用戶類ss,設置匹配規則編號1,匹配硬件地址為aabb-aabb-0000,硬件地址掩碼為ffff-ffff-0000
<RouterB> system-view
[RouterB] dhcp class ss
[RouterB-dhcp-class-ss] if-match rule 1 hardware-address aabb-aabb-0000 mask ffff-ffff-0000
[RouterB-dhcp-class-ss] quit
# 創建DHCP地址池aa,配置可分配的地址範圍為10.1.1.0/24,開啟用戶類白名單功能,配置白名單中包括的用戶類為ss
[RouterB] dhcp server ip-pool aa
[RouterB-dhcp-pool-aa] network 10.1.1.0 mask 255.255.255.0
[RouterB-dhcp-pool-aa] verify class
[RouterB-dhcp-pool-aa] valid class ss
[RouterB-dhcp-pool-aa] quit
# 開啟DHCP服務
[RouterB] dhcp enable
# 配置接口HundredGigE1/0/1工作在DHCP服務器模式
[RouterB] interface hundredgige 1/0/1
[RouterB-HundredGigE1/0/1] dhcp select server
[RouterB-HundredGigE1/0/1] quit
配置完成後,匹配硬件地址aabb-aabb-0000,硬件地址掩碼ffff-ffff-0000的客戶端可以從DHCP服務器Router B申請到地址範圍為10.1.1.0/24網段的IP地址。通過display dhcp server ip-in-use命令可以查看DHCP服務器分配的IP地址。
[RouterB] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.1.1.2 aabb-aabb-ab01 Jan 14 22:25:03 2015 Auto(C)
· 作為DHCP服務器的Router A為局域網中的客戶端動態分配IP地址。
· DHCP服務器地址池中有兩個網段的地址:10.1.1.0/24和10.1.2.0/24。當10.1.1.0/24網段沒有空閑地址後,DHCP服務器繼續從10.1.2.0/24網段中選擇IP地址分配給客戶端。
· Router A為網段10.1.1.0/24內的客戶端分配的網關地址為10.1.1.254/24;為網段10.1.2.0/24內的客戶端分配的網關地址為和10.1.2.254/24。
圖2-7 主從網段組網圖
# 創建DHCP地址池aa,配置主網段地址範圍和從網段地址範圍,配置網關地址。
<RouterA> system-view
[RouterA] dhcp server ip-pool aa
[RouterA-dhcp-pool-aa] network 10.1.1.0 mask 255.255.255.0
[RouterA-dhcp-pool-aa] gateway-list 10.1.1.254
[RouterA-dhcp-pool-aa] network 10.1.2.0 mask 255.255.255.0 secondary
[RouterA-dhcp-pool-aa-secondary] gateway-list 10.1.2.254
[RouterA-dhcp-pool-aa-secondary] quit
[RouterA-dhcp-pool-aa] quit
# 開啟DHCP服務。
[RouterA] dhcp enable
# 配置接口HundredGigE1/0/1的主從IP地址,並配置該接口工作在DHCP服務器模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] ip address 10.1.1.1 24
[RouterA-HundredGigE1/0/1] ip address 10.1.2.1 24 sub
[RouterA-HundredGigE1/0/1] dhcp select server
[RouterA-HundredGigE1/0/1] quit
配置完成後,當DHCP服務器地址池主網段中沒有空閑地址分配給客戶端時,服務器會從該地址池中的從網段獲取地址分配給客戶端IP地址和網絡配置參數。通過display dhcp server ip-in-use命令可以查看DHCP服務器已分配的主從網段IP地址。(此處隻截取部分顯示信息)
[RouterA] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.1.1.2 0031-3865-392e-6262- Jan 14 22:25:03 2015 Auto(C)
3363-2e30-3230-352d-
4745-302f-30
10.1.2.2 3030-3030-2e30-3030- Jan 14 22:25:03 2015 Auto(C)
662e-3030-3033-2d45-
7568-6572-1e
DHCP客戶端Router B從DHCP服務器Router A獲取IP地址和PXE引導服務器地址信息:
· 客戶端IP地址所在網段為10.1.1.0/24;
· 匹配硬件地址aabb-aabb-0000,硬件地址掩碼ffff-ffff-0000的客戶端的PXE引導服務器地址為2.3.4.5和3.3.3.3,其他客戶端的PXE引導服務器地址為1.2.3.4和2.2.2.2。
DHCP服務器需要通過自定義DHCP選項的方式配置Option 43的內容,從而實現為客戶端分配PXE引導服務器地址。Option 43和PXE服務器地址列表的格式分別如圖1-5和圖1-7。DHCP服務器上地址池中配置的Option 43選項內容為80 0B 00 00 02 01 02 03 04 02 02 02 02,其中80為子選項類型(Sub-option type),0B為子選項長度(Sub-option length),00 00為PXE服務器類型(PXE server type),02為服務器數目(Server number),01 02 03 04 02 02 02 02為服務器的IP地址1.2.3.4和2.2.2.2。
圖2-8 自定義DHCP選項典型配置舉例
(1) 配置接口HundredGigE1/0/1的IP地址(略)
(2) 配置DHCP服務
# 創建DHCP用戶類ss,設置匹配規則編號1,匹配硬件地址aabb-aabb-0000,硬件地址掩碼為ffff-ffff-0000。
<RouterA> system-view
[RouterA] dhcp class ss
[RouterA-dhcp-class-ss] if-match rule 1 hardware-address aabb-aabb-0000 mask ffff-ffff-0000
[RouterA-dhcp-class-ss] quit
# 創建DHCP選項組1,配置選項信息。
[RouterA] dhcp option-group 1
[RouterA-dhcp-option-group-1] option 43 hex 800B0000020203040503030303
# 配置DHCP地址池0。
[RouterA] dhcp server ip-pool 0
[RouterA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
[RouterA-dhcp-pool-0] option 43 hex 800B0000020102030402020202
[RouterA-dhcp-pool-0] class ss option-group 1
[RouterA-dhcp-pool-0] quit
# 開啟DHCP服務。
[RouterA] dhcp enable
# 配置接口HundredGigE1/0/1工作在DHCP服務器模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select server
[RouterA-HundredGigE1/0/1] quit
配置完成後,Router B可以從DHCP服務器Router A獲取到10.1.1.0/24網段的IP地址和PXE引導服務器地址。通過display dhcp server ip-in-use命令可以查看DHCP服務器為客戶端分配的IP地址。
[RouterA] display dhcp server ip-in-use
IP address Client-identifier/ Lease expiration Type
Hardware address
10.1.1.2 aabb-aabb-ab01 Jan 14 22:25:03 2015 Auto(C)
客戶端從DHCP服務器動態獲得的IP地址與其他主機IP地址衝突。
可能是網絡上有主機私自配置了IP地址,導致衝突。
(1) 禁用客戶端的網卡或斷開其網線,從另外一台主機執行ping操作,檢查網絡中是否已經存在該IP地址的主機。
(2) 如果能夠收到ping操作的響應消息,則說明該IP地址已由用戶靜態配置。在DHCP服務器上執行dhcp server forbidden-ip命令,禁止該IP地址參與動態地址分配。
(3) 重新啟用客戶端的網卡或連接好其網線,在客戶端釋放並重新獲取IP地址。以Windows XP為例,在Windows環境下運行cmd進入DOS環境,使用ipconfig /release命令釋放IP地址,之後使用ipconfig /renew重新獲取IP地址。
DHCP客戶端和DHCP服務器處於不同物理網段時,客戶端可以通過DHCP中繼與DHCP服務器通信,獲取IP地址及其他配置信息。
圖3-1是DHCP中繼的典型應用示意圖。
圖3-1 DHCP中繼的典型組網應用
通過DHCP中繼完成動態配置的過程中,DHCP客戶端與DHCP服務器的處理方式與不通過DHCP中繼時的處理方式基本相同。下麵隻說明DHCP中繼的轉發過程,報文的具體交互過程請參見“1.2.2 IP地址獲取過程”。
圖3-2 DHCP中繼的工作過程
如圖3-2所示,DHCP中繼的工作過程為:
(1) 具有DHCP中繼功能的網絡設備收到DHCP客戶端以廣播方式發送的DHCP-DISCOVER或DHCP-REQUEST報文後,將報文中的giaddr字段填充為DHCP中繼的IP地址,並根據配置將報文單播轉發給指定的DHCP服務器。
(2) DHCP服務器根據giaddr字段為客戶端分配IP地址等參數,並通過DHCP中繼將配置信息轉發給客戶端,完成對客戶端的動態配置。
Option 82記錄了DHCP客戶端的位置信息。管理員可以利用該選項定位DHCP客戶端,實現根據Option 82為客戶端分配特定範圍的地址、對客戶端進行安全和計費等控製。Option 82的詳細介紹請參見“1.6.2 中繼代理信息選項(Option 82)”。
如果DHCP中繼支持Option 82功能,則當DHCP中繼接收到DHCP請求報文後,將根據報文中是否包含Option 82以及用戶配置的處理策略及填充模式等對報文進行相應的處理,並將處理後的報文轉發給DHCP服務器。具體的處理方式見表3-1。
如果DHCP中繼收到的應答報文中帶有Option 82,則會將Option 82刪除後再轉發給DHCP客戶端。
表3-1 DHCP中繼支持Option 82的處理方式
收到DHCP請求報文 |
處理策略 |
DHCP中繼對報文的處理 |
收到的報文中帶有Option 82 |
Drop |
丟棄報文 |
Keep |
保持報文中的Option 82不變並進行轉發 |
|
Replace |
根據DHCP中繼上配置的填充模式、內容、格式等填充Option 82,替換報文中原有的Option 82並進行轉發 |
|
收到的報文中不帶有Option 82 |
- |
根據DHCP中繼上配置的填充模式、內容、格式等填充Option 82,添加到報文中並進行轉發 |
DHCP中繼配置任務如下:
(1) 開啟DHCP服務
(2) 配置接口工作在DHCP中繼模式
(3) 指定DHCP服務器的地址
(4) (可選)配置DHCP中繼的安全功能
(5) (可選)配置通過DHCP中繼釋放客戶端的IP地址
(6) (可選)配置DHCP中繼支持Option 82功能
(7) (可選)配置DHCP中繼發送DHCP報文的DSCP優先級
(8) (可選)配置DHCP中繼接口的DHCP報文限速功能
(9) (可選)配置DHCP中繼在DHCP報文中填充的中繼地址
(10) (可選)指定DHCP中繼向DHCP服務器轉發報文的源地址
(11) (可選)開啟DHCP中繼單播轉發DHCP應答報文功能
(12) (可選)配置DHCP中繼通過Option82信息轉發DHCP應答報文
隻有開啟DHCP服務後,其它相關的DHCP中繼配置才能生效。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP服務。
dhcp enable
缺省情況下,DHCP服務處於關閉狀態。
配置接口工作在中繼模式後,當接口收到DHCP客戶端發來的DHCP報文時,會將報文轉發給DHCP服務器,由服務器分配地址。
DHCP客戶端通過DHCP中繼獲取IP地址時,DHCP服務器上需要配置與DHCP中繼連接DHCP客戶端的接口IP地址所在網段(網絡號和掩碼)匹配的地址池,否則會導致DHCP客戶端無法獲得正確的IP地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口工作在DHCP中繼模式。
dhcp select relay
缺省情況下,開啟DHCP服務後,接口工作在DHCP服務器模式。
為了提高可靠性,可以在一個網絡中設置多個DHCP服務器。DHCP中繼上配置多個DHCP服務器後,DHCP中繼會將客戶端發來的DHCP報文轉發給所有的服務器。
指定的DHCP服務器的IP地址不能與DHCP中繼的接口IP地址在同一網段。否則,可能導致客戶端無法獲得IP地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 指定DHCP中繼對應的DHCP服務器地址。
dhcp relay server-address ip-address
缺省情況下,未指定DHCP服務器的地址。
通過多次執行dhcp relay server-address命令可以指定多個DHCP服務器,一個接口下最多可以指定8個DHCP服務器。
對於某些特定的用戶接入方式,基於用戶接入位置信息的不同,網絡中存在大量不同類型的用戶。為了使相同類型的用戶可以從指定的DHCP服務器申請IP地址等網絡參數,功能模塊根據用戶注冊信息,使不同的用戶選擇不同的DHCP中繼地址池,並從中繼地址池下配置的DHCP服務器獲取IP地址等網絡參數。
為了提高可靠性,一個DHCP中繼地址池下配置多個DHCP服務器地址,當DHCP客戶端匹配該中繼地址池後,DHCP中繼會將DHCP客戶端發來的DHCP報文轉發給該地址池對應所有的DHCP服務器。
一台DHCP中繼的一個接口下可能連接不同類型的用戶,當DHCP中繼轉發DHCP客戶端請求報文給DHCP服務器時,不能再以中繼接口的IP地址作為選擇地址池的依據。為了解決這個問題,需要使用gateway-list命令指定某個類型用戶所在的網段,並將該地址添加到轉發給DHCP服務器的報文字段中,為DHCP服務器選擇地址池提供依據。
(1) 進入係統視圖。
system-view
(2) 創建DHCP中繼地址池,並進入中繼地址池視圖。
dhcp server ip-pool pool-name
(3) 指定匹配該地址池的DHCPv4客戶端所在的網段地址。
gateway-list ip-address&<1-64> [ export-route ]
缺省情況下,未指定匹配該地址池的DHCP客戶端所在的網段地址。
(4) 指定中繼地址池對應的DHCP服務器地址。
remote-server ip-address&<1-8>
缺省情況下,未指定中繼地址池對應的DHCP服務器的地址。
通過執行remote-server命令一次最多可以指定8個DHCP服務器的地址信息。
一般來說,DHCP中繼是向所有DHCP服務器轉發DHCP請求報文(即polling方式),且DHCP客戶端會選擇最快收到DHCP應答報文。如果用戶想指定一台DHCP服務器作為主用DHCP服務器,其他DHCP服務器隻在主用DHCP服務器不可用或沒有空閑地址時才起作用,就需要DHCP中繼支持優先選擇用戶期望的DHCP服務器作為主用DHCP服務器的功能。
當DHCP中繼使用主備方式選擇DHCP服務器後,會優先向配置的第一個DHCP服務器地址轉發DHCP請求報文。當該DHCP服務器確定無法分配IP地址時,DHCP中繼將之後的DHCP請求報文向下一個DHCP服務器地址轉發。如果DHCP中繼已切換到配置的最後一個DHCP服務器地址且發現該DHCP服務器仍不可用,則重新選擇第一個配置的DHCP服務器地址進入下一個循環。
主備方式有兩種配置方法:
· 對於普通組網,用戶可以在DHCP中繼接口上指定多個DHCP服務器地址。這樣當配置DHCP中繼主備方式選擇DHCP服務器時,配置的第一個地址對應的DHCP服務器為主用DHCP服務器,之後配置的地址對應的DHCP服務器為備用DHCP服務器。
· 對於某些用戶接入方式,用戶必須配置中繼地址池,並指定多個DHCP服務器地址。這樣當配置DHCP中繼主備方式選擇DHCP服務器時,配置的第一個地址對應的DHCP服務器為主用DHCP服務器,之後配置的地址對應的DHCP服務器為備用DHCP服務器。
此外,本特性還支持配置以下功能:
· 配置DHCP服務器應答超時切換時間,缺省應答超時切換時間為30秒。當DHCP中繼向DHCP服務器轉發DHCP請求報文,如果超過配置的應答超時切換時間後還未收到該DHCP服務器的應答報文,則DHCP中繼認為該DHCP服務器已不可用,並切換到下一個DHCP服務器。
· 配置回切主用DHCP服務器並指定回切延遲時間,缺省DHCP中繼是不回切的。當用戶在DHCP中繼配置了回切主用DHCP服務器延遲時間且當前生效的不是主用DHCP服務器時,經過該回切延遲時間後,DHCP服務器會將DHCP請求報文轉發到主用DHCP服務器。如果主用DHCP服務器不可用或沒有空閑地址時則重新使用當前生效的DHCP服務器;如果主用DHCP服務器可用則繼續使用主用DHCP服務器。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置DHCP中繼選擇DHCP服務器方式。
dhcp relay server-address algorithm { master-backup | polling }
缺省情況下,DHCP中繼同時向所有DHCP服務器轉發DHCP請求報文(polling方式)。
(4) (可選)配置DHCP服務器應答超時切換時間。
dhcp relay dhcp-server timeout time
缺省情況下,DHCP服務器應答超時切換時間為30秒。
(5) (可選)配置回切主用DHCP服務器並指定回切延遲時間。
dhcp relay master-server switch-delay delay-time
缺省情況下,DHCP中繼不回切到主用DHCP服務器。
(1) 進入係統視圖。
system-view
(2) 進入DHCP地址池視圖。
dhcp server ip-pool pool-name
(3) 配置DHCP中繼選擇DHCP服務器方式。
remote-server algorithm { master-backup | polling }
缺省情況下,DHCP中繼同時向所有DHCP服務器轉發DHCP請求報文(polling方式)。
(4) (可選)配置DHCP服務器應答超時切換時間。
dhcp-server timeout time
缺省情況下,DHCP服務器應答超時切換時間為30秒。
(5) (可選)配置回切主用DHCP服務器並指定回切延遲時間。
master-server switch-delay delay-time
缺省情況下,DHCP中繼不回切到主用DHCP服務器。
為了防止非法主機靜態配置一個IP地址並訪問外部網絡,設備支持DHCP中繼用戶地址表項記錄功能。
開啟該功能後,當客戶端通過DHCP中繼從DHCP服務器獲取到IP地址時,DHCP中繼可以自動記錄客戶端IP地址與硬件地址的綁定關係,生成DHCP中繼的用戶地址表項。
本功能與其他IP地址安全功能(如ARP地址檢查、授權ARP和IP Source Guard)配合,可以實現隻允許匹配用戶地址表項中綁定關係的報文通過DHCP中繼。從而,保證非法主機不能通過DHCP中繼與外部網絡通信。
同異步串口作為DHCP客戶端申請IP地址時,DHCP中繼不會記錄該客戶端對應的用戶地址表項。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP中繼的用戶地址表項記錄功能。
dhcp relay client-information record
缺省情況下,DHCP中繼用戶地址表項記錄功能處於關閉狀態。
DHCP客戶端釋放動態獲取的IP地址時,會向DHCP服務器單播發送DHCP-RELEASE報文,DHCP中繼不會處理該報文的內容。如果此時DHCP中繼上記錄了該IP地址與MAC地址的綁定關係,則會造成DHCP中繼的用戶地址表項無法實時刷新。為了解決這個問題,DHCP中繼支持動態用戶地址表項的定時刷新功能。
DHCP中繼動態用戶地址表項定時刷新功能開啟時,DHCP中繼每隔指定時間采用客戶端獲取到的IP地址和DHCP中繼接口的MAC地址向DHCP服務器發送DHCP-REQUEST報文:
· 如果DHCP中繼接收到DHCP服務器響應的DHCP-ACK報文或在指定時間內未接收到DHCP服務器的響應報文,則表明這個IP地址已經可以進行分配,DHCP中繼會刪除動態用戶地址表中對應的表項。為了避免地址浪費,DHCP中繼收到DHCP-ACK報文後,會發送DHCP-RELEASE報文釋放申請到的IP地址。
· 如果DHCP中繼接收到DHCP服務器響應的DHCP-NAK報文,則表示該IP地址的租約仍然存在,DHCP中繼不會刪除該IP地址對應的表項。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP中繼動態用戶地址表項定時刷新功能。
dhcp relay client-information refresh enable
缺省情況下,DHCP中繼動態用戶地址表項定時刷新功能處於開啟狀態。
(3) (可選)配置DHCP中繼動態用戶地址表項的定時刷新周期。
dhcp relay client-information refresh [ auto | interval interval ]
缺省情況下,定時刷新周期為auto,即根據表項的數目自動計算刷新時間間隔。
DHCP餓死攻擊是指攻擊者偽造chaddr字段各不相同的DHCP請求報文,向DHCP服務器申請大量的IP地址,導致DHCP服務器地址池中的地址耗盡,無法為合法的DHCP客戶端分配IP地址,或導致DHCP服務器消耗過多的係統資源,無法處理正常業務。
如果封裝DHCP請求報文的數據幀的源MAC地址各不相同,則限製三層接口上可以學習到的ARP表項數,或限製二層端口上可以學習到的MAC地址數,並配置學習到的MAC地址數達到最大值時,丟棄源MAC地址不在MAC地址表裏的報文,能夠避免攻擊者申請過多的IP地址,在一定程度上緩解DHCP餓死攻擊。
如果封裝DHCP請求報文的數據幀的源MAC地址都相同,則通過上述方法無法防止DHCP餓死攻擊。在這種情況下,需要開啟DHCP中繼的MAC地址檢查功能。開啟該功能後,DHCP中繼檢查接收到的DHCP請求報文中的chaddr字段和數據幀的源MAC地址字段是否一致。如果一致,則認為該報文合法,將其轉發給DHCP服務器;如果不一致,則丟棄該報文。
因為DHCP中繼轉發DHCP報文時會修改報文的源MAC地址,所以隻能在靠近DHCP客戶端的第一跳DHCP中繼設備上開啟MAC地址檢查功能。
設備支持配置DHCP中繼的MAC地址檢查表項老化時間,當老化時間到達以後,該表項信息會被老化掉,DHCP中繼收到該MAC地址對應的DHCP請求報文後重新進行合法性檢查。
(1) 進入係統視圖。
system-view
(2) 配置DHCP中繼的MAC地址檢查表項的老化時間。
dhcp relay check mac-address aging-time time
缺省情況下,DHCP中繼的MAC地址檢查表項的老化時間為30秒。
如果未通過dhcp relay check mac-address命令開啟DHCP中繼的MAC地址檢查功能,則本命令的配置不會生效。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 開啟DHCP中繼的MAC地址檢查功能。
dhcp relay check mac-address
缺省情況下,DHCP中繼的MAC地址檢查功能處於關閉狀態。
設備可以通過配置DHCP中繼支持代理功能,來防止非法用戶攻擊DHCP服務器。
開啟該功能後,DHCP中繼收到DHCP服務器的應答報文,會把報文中的DHCP服務器地址修改為中繼的接口地址,並轉發給DHCP客戶端。當DHCP客戶端通過DHCP中繼從DHCP服務器獲取到IP地址等網絡參數後,DHCP客戶端會把DHCP中繼當做自己的服務器,來進行後續的DHCP功能的報文交互。從而達到了把真正的DHCP服務器和DHCP客戶端隔離開,保護DHCP服務器的目的。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置DHCP中繼支持代理功能。
dhcp select relay proxy
缺省情況下,開啟DHCP服務後,接口工作在DHCP服務器模式。
DHCP中繼的用戶下線探測功能以ARP表項老化功能為基礎,當ARP表項老化時認為該表項對應的用戶已經下線。
如果在接口上配置了DHCP中繼的用戶下線檢測功能,則當ARP表項老化時,DHCP中繼認為該表項對應的用戶已經下線,刪除對應的用戶地址表項,並通過發送Release報文通知DHCP服務器刪除下線用戶的IP地址租約。
手工刪除ARP表項,不會觸發DHCP中繼刪除對應的用戶地址表項。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP中繼的用戶地址表項記錄功能。
dhcp relay client-information record
缺省情況下,DHCP中繼用戶地址表項記錄功能處於關閉狀態。
用戶需要開啟DHCP中繼用戶地址表項記錄功能,否則用戶下線探測功能無法完全生效。
(3) 進入接口視圖。
interface interface-type interface-number
(4) 配置接口工作在DHCP中繼模式。
dhcp select relay
缺省情況下,開啟DHCP服務後,接口工作在DHCP服務器模式。
(5) 開啟DHCP中繼的用戶下線探測功能。
dhcp client-detect
缺省情況下,DHCP中繼的用戶下線探測功能處於關閉狀態。
在某些情況下,可能需要通過DHCP中繼手工釋放客戶端申請到的IP地址。如果DHCP中繼上存在客戶端IP地址對應的動態用戶地址表項,則配置通過DHCP中繼釋放該客戶端IP地址後,DHCP中繼會主動向DHCP服務器發送DHCP-RELEASE報文。DHCP服務器收到該報文後,將會釋放指定IP地址的租約。DHCP中繼也會刪除該動態用戶地址表項。
釋放的客戶端IP地址必須是動態用戶地址表項中存在的IP地址,否則DHCP中繼無法釋放該IP地址。
(1) 進入係統視圖。
system-view
(2) 向DHCP服務器請求釋放客戶端申請到的IP地址。
dhcp relay release ip ip-address [ vpn-instance vpn-instance-name ]
為使Option 82功能正常使用,需要在DHCP服務器和DHCP中繼上都進行相應配置。DHCP服務器的相關配置請參見“2.11 配置Option 82的處理方式”。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟DHCP中繼支持Option 82功能。
dhcp relay information enable
缺省情況下,DHCP中繼支持Option 82功能處於關閉狀態。
(4) (可選)配置DHCP中繼對包含Option 82的請求報文的處理策略。
dhcp relay information strategy { drop | keep | replace }
缺省情況下,處理策略為replace。
DHCP中繼對包含Option 82請求報文的處理策略為replace時,需要配置Option 82的填充模式和填充格式;處理策略為keep或drop時,不需要配置Option 82的填充模式和填充格式。
(5) (可選)配置Circuit ID子選項的填充模式和填充格式。
dhcp relay information circuit-id { bas [ with-vxlan ] | string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] [ interface ] } [ format { ascii | hex } ] }
缺省情況下,Circuit ID子選項的填充模式為Normal,填充格式為hex。
如果以設備的係統名稱(sysname)作為節點標識填充DHCP報文的Option 82,則係統名稱中不能包含空格;否則,DHCP中繼添加或替換Option 82失敗。
(6) (可選)配置Remote ID子選項的填充模式和填充格式。
dhcp relay information remote-id { normal [ format { ascii | hex } ] | string remote-id | sysname }
缺省情況下,Remote ID子選項的填充模式為Normal;填充格式為hex。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定DHCP中繼發送的DHCP報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 配置DHCP中繼發送DHCP報文的DSCP優先級。
dhcp dscp dscp-value
缺省情況下,DHCP中繼發送的DHCP報文的DSCP優先級為56。
配置DHCP中繼接口的DHCP報文限速功能後,當接口上收到的DHCP報文速率超過用戶設定的限速值時,丟棄超過速率限製的DHCP報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置DHCP中繼接口的DHCP報文限速功能。
dhcp rate-limit rate
缺省情況下,DHCP中繼接口的DHCP報文限速功能處於關閉狀態。
當未開啟該功能時,DHCP中繼收到DHCP客戶端的請求報文後,隻能將接口的主IP地址添加到報文中,然後轉發給DHCP服務器。對於某些特定需求,DHCP中繼需要添加指定的地址到報文中,這時就需要配置此功能。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 手工指定在DHCP報文中填充的中繼地址。
dhcp relay gateway ip-address
缺省情況下,DHCP中繼填充的中繼地址是接口下的主IP地址。
當DHCP中繼收到DHCP客戶端發來的請求報文時,會使用中繼接口的主IP地址填充請求報文的giaddr字段,然後轉發給DHCP服務器,DHCP服務器根據giaddr字段中的地址選擇合適的地址池為客戶端分配IP地址。當DHCP服務器中該網段地址分配完畢後,不管DHCP服務器上是否存在其他網段的地址,都不會再為該DHCP中繼下的其他DHCP客戶端分配IP地址。
DHCP中繼通過smart-relay解決上述問題,開啟該功能後,DHCP中繼可以使用除中繼接口主地址外的其他IP地址來填充giaddr字段,從而使DHCP客戶端可以獲取到其他網段的IP地址。
DHCP中繼轉發3次DHCP-DISCOVER報文後,若還未收到DHCP服務器的應答報文,DHCP中繼將使用下一個可用IP地址來填充giaddr字段。DHCP中繼使用所有配置的IP地址填充giaddr字段之後,將重新選擇第一個配置的IP地址進入下一個循環。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP中繼支持smart-relay功能。
dhcp smart-relay enable
缺省情況下,DHCP中繼支持smart-relay功能處於關閉狀態。
在某些組網中,多個DHCP中繼接口IP地址相同或者中繼接口IP到服務器沒有可達路由,用戶需要配置本命令指定一個IP地址或選擇中繼設備上的另一個接口的IP地址填充到轉發給DHCP服務器的DHCP請求報文中的源地址字段中。
當使用ip-address時,會同時修改報文中的源地址和giaddr字段,導致giaddr字段地址和DHCP中繼接口地址不在同一網段。因此,指定這個參數時需要先開啟DHCP中繼支持Option 82功能,DHCP中繼收到DHCP請求報文時在Option 82選項填充的中繼接口的主IP地址,DHCP服務器可以根據該地址來給DHCP客戶端分配IP地址。DHCP中繼收到DHCP應答報文後,通過查找MAC地址表中的接口信息向DHCP客戶端轉發。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 指定DHCP中繼向DHCP服務器轉發報文的源地址。
dhcp relay source-address { ip-address [ option { 60 [ option-text ] | code } ] | gateway | relay-interface }
缺省情況下,DHCP中繼向DHCP服務器轉發報文的源地址為向DHCP服務器轉發報文出接口的地址。
參數 |
說明 |
ip-address { 60 [ option-text ] | code } |
如果DHCP請求報文中攜帶指定的Option選項,則發送給DHCP服務器的報文源地址和giaddr字段值為指定的IP地址。 |
gateway |
DHCP中繼向DHCP服務器轉發報文的源地址會取DHCP報文中giaddr字段的地址,如果giaddr字段為空,則按照缺省情況填充地址 |
relay-interface |
DHCP中繼向DHCP服務器轉發報文的源地址為DHCP中繼連接DHCP客戶端接口的IP地址,如果該接口不存在地址,則按照缺省情況填充地址 |
某些局域網內(比如WLAN組網中)不建議使用廣播報文進行通信,這時用戶可以開啟DHCP中繼單播轉發應答報文功能。開啟本功能後,DHCP中繼會忽略DHCP應答報文中的廣播標誌位,統一以單播形式向DHCP客戶端轉發DHCP應答報文。
(1) 進入係統視圖。
system-view
(2) 開啟DHCP中繼單播轉發DHCP應答報文功能。
dhcp relay always-unicast
缺省情況下,DHCP中繼根據應答報文中的廣播標誌位選擇廣播還是單播轉發DHCP應答報文。
對於某些組網環境,DHCP中繼需要通過DHCP服務器的DHCP應答報文中攜帶的Option 82信息(VLAN ID)把DHCP應答報文轉發給DHCP客戶端。
為了解決這個問題,需要配置:
· 在主設備上配置dhcp relay information enable和dhcp relay information circuit-id命令。當主設備收到DHCP請求報文時,會添加Option 82選項。
· 在備設備上配置dhcp relay information enable、dhcp relay information circuit-id和dhcp relay forward reply by-option82命令。這樣,當備設備收到DHCP應答報文時,可根據報文中Option 82選項記錄轉發DHCP應答報文。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 開啟DHCP中繼支持Option 82功能。
dhcp relay information enable
缺省情況下,DHCP中繼支持Option 82功能處於關閉狀態。
(4) 配置Circuit ID子選項的填充模式和填充格式。
dhcp relay information circuit-id { bas [ with-vxlan ] | string circuit-id | { normal | verbose [ node-identifier { mac | sysname | user-defined node-identifier } ] [ interface ] } [ format { ascii | hex } ] }
缺省情況下,Circuit ID子選項的填充模式為Normal,填充格式為hex。
如果以設備的係統名稱(sysname)作為節點標識填充DHCP報文的Option 82,則係統名稱中不能包含空格;否則,DHCP中繼添加或替換Option 82失敗。
(5) 配置DHCP中繼通過Option82信息轉發DHCP應答報文。
dhcp relay forward reply by-option82
缺省情況下,DHCP中繼不通過Option82信息轉發DHCP應答報文。
可在任意視圖下執行以下命令:
· 顯示接口上指定的DHCP服務器地址信息。
display dhcp relay server-address [ interface interface-type interface-number ]
· 顯示DHCP中繼上的Option 82配置信息。
display dhcp relay information [ interface interface-type interface-number ]
可在任意視圖下執行以下命令,顯示DHCP中繼的用戶地址表項信息:
display dhcp relay client-information [ interface interface-type interface-number | ip ip-address [ vpn-instance vpn-instance-name ] ]
請在用戶視圖下執行以下命令,清除DHCP中繼的用戶地址表項信息。
reset dhcp relay client-information [ interface interface-type interface-number | ip ip-address [ vpn-instance vpn-instance-name ] ]
可在任意視圖下執行以下命令,顯示DHCP中繼的MAC地址檢查表項。
display dhcp relay check mac-address
可在任意視圖下執行以下命令,顯示DHCP中繼的報文統計信息。
display dhcp relay statistics [ interface interface-type interface-number ]
請在用戶視圖下執行以下命令,清除DHCP中繼的相關報文統計信息。
reset dhcp relay statistics [ interface interface-type interface-number ]
· DHCP客戶端所在網段為10.10.1.0/24,DHCP服務器的IP地址為10.1.1.1/24;
· 由於DHCP客戶端和DHCP服務器不在同一網段,因此,需要在客戶端所在網段設置DHCP中繼設備,以便客戶端可以從DHCP服務器申請到10.10.1.0/24網段的IP地址及相關配置信息;
· Router A作為DHCP中繼通過HundredGigE1/0/1接口連接到DHCP客戶端所在的網絡,HundredGigE1/0/1接口的IP地址為10.10.1.1/24,HundredGigE1/0/2接口的IP地址為10.1.1.2/24。
圖3-3 DHCP中繼組網示意圖
· 由於DHCP中繼連接DHCP客戶端的接口IP地址與DHCP服務器的IP地址不在同一網段,因此需要在DHCP服務器上通過靜態路由或動態路由協議保證兩者之間路由可達。
· 為了使DHCP客戶端能從DHCP服務器獲得IP地址,還需要在DHCP服務器上進行一些配置。DHCP服務器的配置方法,請參見“2.20 DHCP服務器典型配置舉例”。
# 配置各接口的IP地址(略)。
# 開啟DHCP服務。
<RouterA> system-view
[RouterA] dhcp enable
# 配置HundredGigE1/0/1接口工作在DHCP中繼模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select relay
# 指定DHCP服務器的地址。
[RouterA-HundredGigE1/0/1] dhcp relay server-address 10.1.1.1
配置完成後,DHCP客戶端可以通過DHCP中繼從DHCP服務器獲取IP地址及相關配置信息。通過display dhcp relay statistics命令可以顯示DHCP中繼轉發的DHCP報文統計信息;如果在DHCP中繼上通過dhcp relay client-information record命令開啟了DHCP中繼的用戶地址表項記錄功能,則可以通過display dhcp relay client-information命令可以顯示通過DHCP中繼獲取IP地址的客戶端信息。
· 在DHCP中繼Router A上開啟Option 82功能;
· 對包含Option 82的請求報文的處理策略為replace;
· Circuit ID填充內容為company001,Remote ID填充內容為device001;
· Router A將添加Option 82的DHCP請求報文轉發給DHCP服務器Router B,使得DHCP客戶端可以獲取到IP地址。
如圖3-3所示。
為使Option 82功能正常使用,DHCP服務器也需要進行相應配置。
# 配置各接口的IP地址(略)。
# 開啟DHCP服務。
<RouterA> system-view
[RouterA] dhcp enable
# 配置HundredGigE1/0/1接口工作在DHCP中繼模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select relay
# 指定DHCP服務器的地址。
[RouterA-HundredGigE1/0/1] dhcp relay server-address 10.1.1.1
# 配置Option 82的處理策略和填充內容。
[RouterA-HundredGigE1/0/1] dhcp relay information enable
[RouterA-HundredGigE1/0/1] dhcp relay information strategy replace
[RouterA-HundredGigE1/0/1] dhcp relay information circuit-id string company001
[RouterA-HundredGigE1/0/1] dhcp relay information remote-id string device001
· DHCP客戶端所在網段為22.22.22.0/24;
· 由於DHCP客戶端和DHCP服務器不在同一網段,需要在DHCP客戶端所在網段設置DHCP中繼,以便DHCP客戶端可以從DHCP服務器申請到22.22.22.0/24網段的IP地址及相關配置信息;
· DHCP中繼Router A通過接口HundredGigE1/0/1連接到DHCP客戶端所在的網絡,接口HundredGigE1/0/1的IP地址為22.22.22.1/24,通過接口HundredGigE1/0/2連接Router B,接口HundredGigE1/0/2的IP地址為1.1.1.100/24,通過接口HundredGigE1/0/3連接Router C,接口HundredGigE1/0/3的IP地址為2.2.2.100/24;
· Router B配置了22.22.22.0網段的地址池,但未開啟DHCP服務;Router C配置了22.22.22.0網段的地址池,也未開啟DHCP服務。
圖3-4 DHCP中繼組網示意圖
(1) 配置各設備上各接口的IP地址(略)。
(2) 配置DHCP服務器Router B和Router C(略)。
(3) 配置DHCP中繼Router A。
# 開啟DHCP服務。
<RouterA> system-view
[RouterA] dhcp enable
# 配置HundredGigE1/0/1接口工作在DHCP中繼模式。
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] dhcp select relay
# 指定DHCP服務器的IP地址。
[RouterA-HundredGigE1/0/1] dhcp relay server-address 1.1.1.1
[RouterA-HundredGigE1/0/1] dhcp relay server-address 2.2.2.2
# 指定DHCP中繼選擇DHCP服務器方式為主備方式。
[RouterA-HundredGigE1/0/1] dhcp relay server-address algorithm master-backup
# 配置回切主用DHCP服務器並指定回切延遲時間為3分鍾。
[RouterA-HundredGigE1/0/1] dhcp relay master-server switch-delay 3
[RouterA-HundredGigE1/0/1] quit
# 配置完成後,DHCP客戶端一開始不能申請到IP地址,等待大約30秒後打印日誌信息。
DHCPR/3/DHCPR_SERVERCHANGE:
Switched to the server at 2.2.2.2 because the current server did not respond.
# 用戶開啟Router B的DHCP服務。
# 此時DHCP客戶端仍然無法申請到IP地址,再等待大約3分鍾後打印日誌信息。
DHCPR/3/DHCPR_SWITCHMASTER:
Switched to the master DHCP server at 1.1.1.1.
# 此時DHCP客戶端可以成功申請到IP地址。
DHCP客戶端無法通過DHCP中繼獲得配置信息。
DHCP中繼或DHCP服務器的配置可能有問題。可以打開調試開關顯示調試信息,並通過執行display命令顯示接口狀態信息的方法來分析定位。
· 檢查DHCP服務器和DHCP中繼是否開啟了DHCP服務。
· 檢查DHCP服務器是否配置有DHCP客戶端所在網段的地址池。
· 檢查具有DHCP中繼功能的網絡設備和DHCP服務器是否配置有相互可達的路由。
· 檢查具有DHCP中繼功能的網絡設備是否在連接DHCP客戶端所在網段的接口上指定了正確的DHCP服務器地址。
為了方便用戶配置和集中管理,可以指定設備的接口作為DHCP客戶端,使用DHCP協議從DHCP服務器動態獲得IP地址等參數。
DHCP客戶端中對於接口的相關配置,目前隻能在三層以太網接口(包括子接口)、VLAN接口和三層聚合接口上進行。
DHCP客戶端配置任務如下:
(2) 配置接口使用的DHCP客戶端ID
DHCP客戶端使用客戶端ID從DHCP服務器獲取特定地址時配置。
(3) (可選)開啟地址衝突檢查功能
(4) (可選)配置DHCP客戶端發送DHCP報文的DSCP優先級
配置接口通過DHCP協議獲取IP地址,需要注意:
· 接口作為DHCP客戶端多次申請IP地址失敗後,將停止申請,並為接口配置缺省IP地址。
· 接口可以采用多種方式獲得IP地址,新的配置方式會覆蓋原有的配置方式。
· 當接口被配置為通過DHCP動態獲取IP地址後,不能再給該接口配置從IP地址。
· 如果DHCP服務器為接口分配的IP地址與設備上其他接口的IP地址在同一網段,則該接口不會使用該IP地址,且會再向DHCP服務器重新申請IP地址。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口通過DHCP協議獲取IP地址。
ip address dhcp-alloc
缺省情況下,接口不通過DHCP協議獲取IP地址。
DHCP客戶端ID用來填充DHCP報文Option 61,作為識別DHCP客戶端的唯一標識。DHCP服務器可以根據客戶端ID為特定的客戶端分配特定的IP地址。DHCP客戶端ID包括類型和取值兩部分,用戶可以通過ASCII字符串、十六進製數和指定接口的MAC地址來指定DHCP客戶端ID:
· 當客戶端ID的取值為ASCII字符串時,對應的類型值為00;
· 當客戶端ID的取值為十六進製數時,對應的類型值為該十六進製數的前兩個字符;
· 當客戶端ID使用指定接口的MAC地址時,對應的類型值為01。
DHCP客戶端ID類型值可通過命令display dhcp server ip-in-use或display dhcp client進行查看。
用戶在指定客戶端ID時,需要確保不同客戶端的客戶端ID不能相同。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 配置接口使用的DHCP客戶端ID。
dhcp client identifier { ascii ascii-string | hex hex-string | mac interface-type interface-number }
缺省情況下,根據本接口MAC地址生成DHCP客戶端ID,如果本接口沒有MAC地址,則獲取設備第一個以太接口的MAC地址生成DHCP客戶端ID。
通常情況下,DHCP客戶端上開啟地址衝突檢查功能,通過發送和接收ARP報文,對DHCP服務器分配的IP地址進行地址衝突檢測。
如果攻擊者仿冒地址擁有者進行ARP應答,就可以欺騙DHCP客戶端,導致DHCP客戶端無法正常使用分配到的IP地址。在網絡中存在上述攻擊者時,建議在客戶端上關閉地址衝突檢查功能。
(1) 進入係統視圖。
system-view
(2) 開啟地址衝突檢查功能。
dhcp client dad enable
缺省情況下,地址衝突檢查功能處於開啟狀態。
DSCP優先級用來體現報文自身的優先等級,決定報文傳輸的優先程度。通過本配置可以指定DHCP客戶端發送的DHCP報文的DSCP優先級。
(1) 進入係統視圖。
system-view
(2) 配置DHCP客戶端發送DHCP報文的DSCP優先級。
dhcp client dscp dscp-value
缺省情況下,DHCP客戶端發送的DHCP報文的DSCP優先級為56。
可在任意視圖下執行以下命令,顯示DHCP客戶端的相關信息。
display dhcp client [ verbose ] [ interface interface-type interface-number ]
Router B的以太網接口HundredGigE1/0/1接入局域網,通過DHCP協議從DHCP服務器獲取IP地址、DNS服務器地址和靜態路由信息:
· DHCP客戶端的IP地址所在網段為10.1.1.0/24;
· DNS服務器地址為20.1.1.1;
· 靜態路由信息為到達20.1.1.0/24網段的下一跳地址是10.1.1.2。
DHCP服務器需要通過自定義選項的方式配置Option 121的內容,以便為客戶端分配靜態路由信息。Option 121的格式如圖4-1所示。其中,目的描述符由子網掩碼長度和目的網絡地址兩部分組成。在本例中,目的描述符字段取值為18 14 01 01(十六進製數值,表示子網掩碼長度為24,目的網絡地址為20.1.1.0);下一跳地址字段取值為0A 01 01 02(十六進製數值,表示下一跳地址為10.1.1.2)。
圖4-1 Option 121選項格式
圖4-2 DHCP客戶端配置舉例組網圖
(1) 配置DHCP服務器Router A
# 配置接口的IP地址。
<RouterA> system-view
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] ip address 10.1.1.1 24
[RouterA-HundredGigE1/0/1] quit
# 配置不參與自動分配的IP地址。
[RouterA] dhcp server forbidden-ip 10.1.1.2
# 配置DHCP地址池0,采用動態綁定方式分配IP地址。可分配的網段為10.1.1.0/24,租約有效期限為10天,DNS服務器地址為20.1.1.1,到達20.1.1.0/24網段的下一跳地址是10.1.1.2。
[RouterA] dhcp server ip-pool 0
[RouterA-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
[RouterA-dhcp-pool-0] expired day 10
[RouterA-dhcp-pool-0] dns-list 20.1.1.1
[RouterA-dhcp-pool-0] option 121 hex 181401010A010102
[RouterA-dhcp-pool-0] quit
# 開啟DHCP服務。
[RouterA] dhcp enable
(2) 配置DHCP客戶端Router B
# 配置接口HundredGigE1/0/1通過DHCP動態獲取地址。
<RouterB> system-view
[RouterB] interface hundredgige 1/0/1
[RouterB-HundredGigE1/0/1] ip address dhcp-alloc
[RouterB-HundredGigE1/0/1] quit
# 通過display dhcp client命令可以查看Router B申請到的IP地址和網絡配置參數。
[RouterB] display dhcp client verbose
HundredGigE1/0/1 DHCP client information:
Current state: BOUND
Allocated IP: 10.1.1.3 255.255.255.0
Allocated lease: 864000 seconds, T1: 331858 seconds, T2: 756000 seconds
Lease from May 21 19:00:29 2012 to May 31 19:00:29 2012
DHCP server: 10.1.1.1
Transaction ID: 0xcde72232
Classless static routes:
Destination: 20.1.1.0, Mask: 255.255.255.0, NextHop: 10.1.1.2
DNS servers: 20.1.1.1
Client ID type: acsii(type value=00)
Client ID value: 000c.29d3.8659-HGE1/0/1
Client ID (with type) hex: 0030-3030-632e-3239-
6433-2e38-3635-392d-
4574-6830-2f30-2f32
T1 will timeout in 3 days 19 hours 48 minutes 43 seconds
# 通過display ip routing-table命令可以查看Router B的路由表中添加了到達20.1.1.0/24網絡的靜態路由。
[RouterB] display ip routing-table
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost NextHop Interface
10.1.1.0/24 Direct 0 0 10.1.1.3 HGE1/0/1
10.1.1.3/32 Direct 0 0 127.0.0.1 InLoop0
20.1.1.0/24 Static 70 0 10.1.1.2 HGE1/0/1
10.1.1.255/32 Direct 0 0 10.1.1.3 HGE1/0/1
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
127.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
224.0.0.0/4 Direct 0 0 0.0.0.0 NULL0
224.0.0.0/24 Direct 0 0 0.0.0.0 NULL0
255.255.255.255/32 Direct 0 0 127.0.0.1 InLoop0
BOOTP是Bootstrap Protocol(自舉協議)的簡稱。指定設備的接口作為BOOTP客戶端後,該接口可以通過BOOTP協議從BOOTP服務器獲取IP地址等信息,從而方便用戶配置。
使用BOOTP協議時,管理員需要在BOOTP服務器上為每個BOOTP客戶端配置BOOTP參數文件,該文件包括BOOTP客戶端的MAC地址及其對應的IP地址等信息。當BOOTP客戶端向BOOTP服務器發起請求時,服務器會查找BOOTP參數文件,並返回相應的配置信息。
由於BOOTP協議需要在BOOTP服務器上為每個客戶端事先配置參數文件,BOOTP一般運行在相對穩定的環境中。當網絡變化頻繁時,推薦采用DHCP協議。
由於DHCP服務器可以與BOOTP客戶端進行交互,因此用戶可以不配置BOOTP服務器,而使用DHCP服務器為BOOTP客戶端分配IP地址。
BOOTP客戶端從BOOTP服務器動態獲取IP地址的具體過程如下:
(1) BOOTP客戶端以廣播方式發送BOOTP請求報文,其中包含了BOOTP客戶端的MAC地址;
(2) BOOTP服務器接收到請求報文後,根據報文中的BOOTP客戶端MAC地址,從配置文件數據庫中查找對應的IP地址等信息,並向客戶端返回包含這些信息的BOOTP響應報文;
(3) BOOTP客戶端從接收到的響應報文中即可獲得IP地址等信息。
在下麵的IP地址動態獲取過程中,BOOTP服務器的功能可以用DHCP服務器替代。
與BOOTP相關的協議規範有:
· RFC 951:Bootstrap Protocol (BOOTP)
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
BOOTP客戶端中對於接口的相關配置,目前隻能在三層以太網接口(包括子接口)、三層聚合接口和VLAN接口上進行。
(3) 配置接口通過BOOTP協議獲取IP地址。
ip address bootp-alloc
缺省情況下,接口不通過BOOTP協議獲取IP地址。
可在任意視圖下執行以下命令,顯示BOOTP客戶端的相關信息。
display bootp client [ interface interface-type interface-number ]
Router B的以太網接口HundredGigE1/0/1接入局域網,通過BOOTP協議從DHCP服務器獲取IP地址。
如圖2-4所示。
為了使BOOTP客戶端能從DHCP服務器獲得IP地址,還需要在DHCP服務器上進行一些配置,具體內容請參見“2.20 DHCP服務器典型配置舉例”。
下麵隻列出圖2-4中,作為客戶端的Router B的配置。
# 配置接口HundredGigE1/0/1通過BOOTP動態獲取地址。
<RouterB> system-view
[RouterB] interface hundredgige 1/0/1
[RouterB-HundredGigE1/0/1] ip address bootp-alloc
通過display bootp client命令可以查看BOOTP客戶端申請到的IP地址。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!