03-DHCP配置
本章節下載: 03-DHCP配置 (923.73 KB)
2.3.7 配置DHCP客戶端的WINS服務器地址和NetBIOS節點類型
2.3.11 配置DHCP客戶端的TFTP服務器地址及啟動文件名
2.3.12 配置DHCP客戶端的下一個提供服務的服務器IP地址
5.1.3 DHCP Snooping支持Option 82功能
5.4 配置DHCP Snooping支持Option 82功能
5.8 配置DHCP Snooping控製廣播應答報文發送功能
DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)用來為網絡設備動態地分配IP地址等網絡配置參數。
DHCP采用客戶端/服務器通信模式,由客戶端向服務器提出配置申請,服務器返回為客戶端分配的IP地址等相應的配置信息,以實現IP地址等信息的動態配置。
在DHCP的典型應用中,一般包含一台DHCP服務器和多台客戶端(如PC和便攜機),如圖1-1所示。
圖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報文發送給客戶端。DHCP-OFFER報文的發送方式由DHCP-DISCOVER報文中的flag字段決定,具體請參見“1.3 DHCP報文格式”的介紹。
(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地址。如果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報文格式基於BOOTP的報文格式,具體格式如圖1-3所示(括號中的數字表示該字段所占的字節)。
圖1-3 DHCP報文格式
· op:報文的操作類型,分為請求報文和響應報文,1為請求報文;2為響應報文。具體的報文類型在option字段中標識。
· htype、hlen:DHCP客戶端的硬件地址類型及長度。
· hops:DHCP報文經過的DHCP中繼的數目。DHCP請求報文每經過一個DHCP中繼,該字段就會增加1。
· xid:客戶端發起一次請求時選擇的隨機數,用來標識一次地址請求過程。
· secs:DHCP客戶端開始DHCP請求後所經過的時間。目前沒有使用,固定為0。
· flags:第一個比特為廣播響應標識位,用來標識DHCP服務器響應報文是采用單播還是廣播方式發送,0表示采用單播方式,1表示采用廣播方式。其餘比特保留不用。
· ciaddr:DHCP客戶端的IP地址。
· yiaddr:DHCP服務器分配給客戶端的IP地址。
· siaddr:DHCP客戶端獲取IP地址等信息的服務器IP地址。
· giaddr:DHCP客戶端發出請求報文後經過的第一個DHCP中繼的IP地址。
· chaddr:DHCP客戶端的硬件地址。
· sname:DHCP客戶端獲取IP地址等信息的服務器名稱。
· file:DHCP服務器為DHCP客戶端指定的啟動配置文件名稱及路徑信息。
· options:可選變長選項字段,包含報文的類型、有效租期、DNS服務器的IP地址、WINS服務器的IP地址等配置信息。
為了與BOOTP(Bootstrap Protocol,自舉協議)兼容,DHCP保留了BOOTP的消息格式。DHCP和BOOTP消息的不同主要體現在選項(Option)字段。DHCP在BOOTP基礎上增加的功能,通過Option字段來實現。
DHCP利用Option字段傳遞控製信息和網絡配置參數,實現地址的動態分配,為客戶端提供更加豐富的網絡配置信息。
圖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 43稱為廠商特定信息選項。DHCP服務器和DHCP客戶端通過Option 43交換廠商特定的信息。
設備作為DHCP客戶端時,可以通過Option 43獲取:
· ACS(Auto-Configuration Server,自動配置服務器)的參數,包括URL地址、用戶名和密碼。
· 服務提供商標識,CPE(Customer Premises Equipment,用戶側設備)從DHCP服務器獲取該信息後,將該信息通告給ACS,以便ACS選擇服務提供商特有的配置和參數等。
· 在無線網絡中,AP(Access Point,接入點)作為DHCP客戶端,可以通過Option 43獲取AC(Access Controller,接入控製器)地址,以便AP從AC獲取啟動文件或其他控製信息。
· 目前,AP最多隻能通過DHCP Otion43所攜帶的信息中獲取16條AC的IP地址。
為了提供可擴展性,通過Option 43為客戶端分配更多的信息,Option 43采用子選項的形式,通過不同的子選項為用戶分配不同的網絡配置參數,如圖1-5所示。子選項中各字段的含義為:
· Sub-option type:子選項類型。目前,子選項類型值可以為0x01表示ACS參數子選項,0x02表示服務提供商標識子選項,0x80表示PXE引導服務器地址子選項。
· Sub-option length:子選項的長度,不包括子選項類型和子選項長度字段。
· Sub-option value:子選項的取值。不同類型的子選項,取值格式有所不同,詳細介紹請參見下文。
(2) Option 43子選項取值字段的格式
· ACS參數子選項的取值字段格式如圖1-6所示。ACS的URL地址、用戶名和密碼長度可變,每個參數之間用空格(十六進製數為0x20)隔開。
圖1-6 ACS參數子選項格式
· AC地址子選項的取值字段格式如圖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,則至少要定義一個子選項。目前,DHCP中繼支持兩個子選項:sub-option 1(Circuit ID,電路ID子選項)和sub-option 2(Remote ID,遠程ID子選項);DHCP Snooping設備支持三個子選項:sub-option 1(Circuit ID,電路ID子選項)、sub-option 2(Remote ID,遠程ID子選項)和sub-option 9(子選項9)。
由於Option 82的內容沒有統一規定,不同廠商通常根據需要進行填充。
· 非用戶自定義方式:采用默認的normal模式、verbose模式、private模式或者standard模式填充Option 82。
目前,隻有DHCP Snooping設備支持填充sub-option 9、支持private和standard填充模式。
normal和verbose填充模式中,子選項內容的填充格式可以是ASCII格式和HEX格式。
(1) 采用normal模式填充
· sub-option 1的內容是接收到DHCP客戶端請求報文的接口所屬的VLAN ID以及接口編號。如圖1-8所示,子選項類型值為1,電路ID類型值為0。
圖1-8 normal模式填充的sub-option 1
· sub-option 2的內容是接收到DHCP客戶端請求報文的接口MAC地址(DHCP中繼)或設備的橋MAC地址(DHCP Snooping設備)。如圖1-9所示,子選項類型值為2,遠程ID類型值為0。
圖1-9 normal模式填充的sub-option 2
(2) 采用verbose模式填充
· sub-option 1的內容包括用戶配置的接入節點標識(在報文中添加Option 82的設備的標識)、接收到DHCP客戶端請求報文的接口類型、接口編號和VLAN ID,如圖1-10所示。
圖1-10 verbose模式填充的sub-option 1
圖1-10中除VLAN ID固定為兩字節外,其他sub-option 1的填充內容均為可變長度。
· sub-option 2的內容是接收到DHCP客戶端請求報文的接口MAC地址(DHCP中繼)或設備的橋MAC地址(DHCP Snooping設備)。verbose和normal填充模式的sub-option 2內容相同,如圖1-9所示。
(3) 采用private模式填充
· sub-option 1的內容是接收到DHCP客戶端請求報文的接口所屬的VLAN ID、Module和Port(該接口的編號)。如圖1-11所示,子選項類型值為1。
圖1-11 private模式填充的sub-option 1
· sub-option 2的內容是接收到DHCP客戶端請求報文的DHCP Snooping設備的橋MAC地址。如圖1-12所示,子選項類型值為2。
圖1-12 private模式填充的sub-option 2
· sub-option 9的內容是Sysname和Loopback0接口的主IP地址。如圖1-13所示,子選項類型值為9。
圖1-13 private模式填充的sub-option 9
(4) 采用standard模式填充
· sub-option 1的內容是接收到DHCP客戶端請求報文的接口所屬的VLAN ID、Module和Port(該接口的編號)。如圖1-14所示,子選項類型值為1,電路ID類型值為0。
圖1-14 standard模式填充的sub-option 1
· sub-option 2的內容是接收到DHCP客戶端請求報文的DHCP Snooping設備的橋MAC地址。子選項類型值為2,遠程ID類型值為0,格式跟normal模式的sub-option 2相同,如圖1-9所示。
Option 184是RFC中規定的保留選項,用戶可以自定義該選項中攜帶的信息。設備上,Option 184攜帶了語音呼叫所需的信息。通過Option 184,可以實現在為具有語音功能的DHCP客戶端分配IP地址的同時,為客戶端提供語音呼叫相關信息。
目前Option 184支持四個子選項,承載的內容如下:
· sub-option 1,網絡呼叫處理器的IP地址:用來標識作為網絡呼叫控製源及應用程序下載的服務器。
· sub-option 2,備用服務器的IP地址:當sub-option 1中攜帶的網絡呼叫處理器不可達或不合法時,DHCP客戶端使用該選項指定的備用服務器作為網絡呼叫處理器。
· sub-option 3,語音VLAN信息:指定語音VLAN的ID及DHCP客戶端是否會將所指定的VLAN ID作為語音VLAN。
· sub-option 4,自動故障轉移呼叫路由:指定故障轉移呼叫路由的IP地址及其關聯的撥號串,即SIP(Session Initiation Protocol,會話初始協議)用戶之間互相通信時對端的IP地址和呼叫號碼。當網絡呼叫處理器和備用服務器均不可達時,SIP用戶可以使用對端IP地址及呼叫號碼直接與對端SIP用戶建立連接並通信。
隻有定義了sub-option 1(網絡呼叫處理器的IP地址子選項),其他子選項才能生效。
與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地址。例如,Internet接入服務提供商限製同時接入網絡的用戶數目,大量用戶必須動態獲得自己的IP地址。
· 網絡中隻有少數主機需要固定的IP地址,大多數主機沒有固定的IP地址需求。
DHCP地址池分為兩類:
· 普通模式的地址池:支持靜態綁定和動態分配兩種地址分配方式。
DHCP服務器從地址池中為客戶端選擇並分配IP地址及其他相關參數。
DHCP服務器的普通模式地址池采用樹狀結構:樹根是自然網段的地址池,分支是該網段的子網地址池,葉節點是手工綁定的客戶端地址。同一級別地址池的順序由配置的先後決定。這種樹狀結構實現了配置的繼承性,即子網配置繼承自然網段的配置,客戶端的配置繼承子網的配置。這樣,對於一些通用參數(如DNS服務器地址),隻需要在自然網段或者子網上配置即可。具體的繼承情況如下:
(1) 在父子關係建立時,子地址池將會繼承父地址池的已有配置。
(2) 在父子關係建立後,對父地址池進行的配置,子地址池是否會繼承,則有下麵兩種情況:
· 設備獨立存儲每個擴展模式地址池。擴展地址池之間不存在父子關係和繼承關係。
· IP地址的租用有效期限不具有繼承關係。
DHCP服務器為客戶端分配IP地址時,地址池的選擇原則如下:
(1) 如果存在將客戶端MAC地址或客戶端ID與IP地址靜態綁定的地址池,則選擇該地址池,並將靜態綁定的IP地址分配給客戶端。該地址池的配置方法請參見“2.3.3 1. 配置采用靜態綁定方式進行地址分配”。
(2) 如果接收到DHCP請求報文的接口引用了擴展模式的地址池,則選擇該地址池,從該地址池中選取IP地址分配給客戶端。如果該地址池中沒有可供分配的IP地址,則服務器無法為客戶端分配IP地址。該地址池的配置方法請參見“2.3.4 配置擴展模式地址池采用動態分配方式進行地址分配”。
(3) 如果不存在靜態綁定的地址池,且接收到DHCP請求報文的接口沒有引用擴展模式的地址池,則選擇包含DHCP請求報文接收接口的IP地址(客戶端與服務器在同一網段時)或DHCP請求報文中giaddr字段指定的IP地址(客戶端與服務器不在同一網段,客戶端通過DHCP中繼獲取IP地址時)、網段最小的普通模式地址池。如果該地址池中沒有可供分配的IP地址,則服務器無法為客戶端分配地址,服務器不會將父地址池中的IP地址分配給客戶端。該地址池的配置方法請參見“2.3.3 2. 配置采用動態分配方式進行地址分配”。
例如,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服務器為客戶端分配IP地址的優先次序如下:
(1) 與客戶端MAC地址或客戶端ID靜態綁定的IP地址。
(2) DHCP服務器記錄的曾經分配給客戶端的IP地址。
(3) 客戶端發送的DHCP-DISCOVER報文中Option 50字段指定的IP地址。
(4) 在擴展或普通模式的動態分配地址池中,順序查找可供分配的IP地址,最先找到的IP地址。
(5) 如果未找到可用的IP地址,則依次查詢租約過期、曾經發生過衝突的IP地址,如果找到則進行分配,否則將不予處理。
Option 50為客戶端請求的IP地址選項(Requested IP Address),客戶端通過在DHCP-DISCOVER報文中添加該選項來指明客戶端希望獲取的IP地址。該選項的內容由客戶端決定。
表2-1 DHCP服務器配置任務簡介
配置DHCP服務器的地址池 |
||
使能DHCP服務 |
||
配置接口工作在DHCP服務器模式 |
||
配置DHCP服務器的安全功能 |
||
配置DHCP服務器的用戶下線檢測功能 |
||
配置Option 82的處理方式 |
||
配置DHCP服務器發送Trap消息 |
表2-2 DHCP服務器地址池配置任務簡介
創建DHCP地址池 |
|||
配置DHCP客戶端的域名後綴 |
|||
配置DHCP客戶端的DNS服務器地址 |
|||
配置DHCP客戶端的WINS服務器地址和NetBIOS節點類型 |
|||
配置DHCP客戶端的BIMS服務器信息 |
|||
配置DHCP客戶端的網關地址 |
|||
配置DHCP客戶端的Option 184參數 |
|||
配置DHCP客戶端的TFTP服務器地址及啟動文件名 |
|||
配置DHCP客戶端的下一個提供服務的服務器IP地址 |
|||
配置DHCP自定義選項 |
創建DHCP地址池時,需要指定地址池的類型:普通模式地址池或擴展模式地址池。
表2-3 創建DHCP地址池
創建DHCP地址池並進入DHCP地址池視圖 |
普通模式地址池和擴展模式地址池中地址分配方式的配置方法不同,其餘網絡參數(如域名後綴、DNS服務器地址等)的配置方法相同。
根據客戶端的實際需要,可以將地址池配置為采用靜態綁定或動態分配方式進行地址分配,但對一個DHCP地址池不能同時配置這兩種方式。
動態地址分配需要指定用於分配的網段,而靜態地址綁定則可以看作是隻包含一個地址的特殊的DHCP地址池。
某些客戶端(如WWW服務器等)需要固定的IP地址,可以通過將客戶端的MAC地址與IP地址綁定的方式實現。當具有此MAC地址的客戶端申請IP地址時,DHCP服務器將根據客戶端的MAC地址查找到對應的IP地址,並分配給客戶端。
某些客戶端在向DHCP服務器發送DHCP-DISCOVER報文申請IP地址時,會構建客戶端ID並添加到報文中一起發送。如果在DHCP服務器上將客戶端ID與IP地址綁定,則當該客戶端申請IP地址時,DHCP服務器將根據客戶端ID查找到對應的IP地址並分配給客戶端。
目前一個DHCP地址池中隻能配置一個靜態綁定,可以是IP地址與MAC地址的綁定,也可以是IP地址與客戶端ID的綁定。
static-bind ip-address ip-address [ mask-length | mask mask ] |
|||
配置靜態綁定的MAC地址或客戶端ID |
缺省情況下,沒有配置靜態綁定的MAC地址和客戶端ID |
||
配置靜態綁定IP地址的租用有效期限 |
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } |
缺省情況下,IP地址租用有效期限為unlimited,即租約期限為無限長 |
· static-bind ip-address和static-bind mac-address或static-bind client-identifier命令必須配合使用。
· 在同一個DHCP地址池中,如果配置了static-bind mac-address命令後,再配置static-bind client-identifier命令,則後麵的配置將會覆蓋前麵的配置,反之亦然。
· 在同一個DHCP地址池中,如果多次執行static-bind ip-address或static-bind mac-address或static-bind client-identifier命令,新的配置會覆蓋已有配置。
· 靜態綁定的IP地址不能是DHCP服務器的接口IP地址,否則會導致IP地址衝突,被綁定的客戶端將無法正常獲取到IP地址。
· 靜態綁定的客戶端ID,要與在待綁定客戶端通過display dhcp client verbose命令顯示的客戶端ID一致。否則,客戶端無法成功獲取IP地址。
· 靜態綁定方式的DHCP地址池可以配置租期,且租期會生效。但通過命令display dhcp server ip-in-use all查看時,顯示的租期還是會是Unlimited,不會隨配置改變
· 設備作為DHCP客戶端時,需要在DHCP服務器上配置IP地址與客戶端ID靜態綁定,設備作為BOOTP客戶端時,需要配置IP地址與客戶端MAC靜態綁定,否則設備無法申請到靜態綁定的IP地址。
· 如果作為DHCP客戶端的設備,接口的MAC地址相同,則為了區分不同接口,采用靜態綁定方式進行地址分配時,需要在服務器上配置靜態綁定的客戶端ID,而不能配置靜態綁定的客戶端MAC地址,否則可能導致客戶端無法成功獲取IP地址。
對於采用動態地址分配方式的地址池,需要配置該地址池可分配的網段。目前,一個地址池中隻能配置一個地址段。
DHCP服務器在分配地址時,需要排除已經被占用的IP地址(如網關、FTP服務器等)。否則,同一地址分配給兩個客戶端會造成IP地址衝突。
DHCP服務器可以為不同的地址池指定不同的地址租用期限,但同一DHCP地址池中的所有地址都具有相同的期限。地址租用有效期限不具有繼承關係。
配置動態分配的IP地址的租用有效期限 |
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } |
缺省情況下,IP地址租用有效期限為1天 |
配置DHCP地址池中不參與自動分配的IP地址 |
缺省情況下,除DHCP服務器接口的IP地址外,DHCP地址池中的所有IP地址都參與自動分配 |
· 在同一個DHCP地址池中,如果多次執行network或network ip range命令,新的配置會覆蓋已有配置。
· 通過dhcp server forbidden-ip命令指定不參與自動分配的IP地址後,所有動態分配方式的地址池(包括普通模式地址池和擴展模式地址池)都不能分配這些IP地址。
· 多次執行dhcp server forbidden-ip命令,可以配置多個不參與自動分配的IP地址段。
· 可分配的IP地址範圍:擴展模式地址池中采用最小IP地址、最大IP地址的方式指定地址範圍。
· 分配的IP地址的掩碼。
隻有同時配置了可分配的IP地址範圍和掩碼,該地址池才會生效。
配置動態分配的IP地址範圍 |
network ip range min-address max-address |
缺省情況下,沒有配置動態分配的IP地址範圍,即沒有可供分配的IP地址 |
配置動態分配的IP地址掩碼 |
network mask mask |
|
配置為指定廠商的DHCP客戶端動態分配的IP地址範圍 |
vendor-class-identifier hex-string&<1-255> ip range min-address max-address |
缺省情況下,沒有配置DHCP擴展地址池為指定廠商的客戶端動態分配的IP地址範圍 |
配置動態分配的IP地址的租用有效期限 |
expired { day day [ hour hour [ minute minute [ second second ] ] ] | unlimited } |
缺省情況下,IP地址租用有效期限為1天 |
forbidden-ip ip-address&<1-8> |
缺省情況下,除DHCP服務器接口的IP地址外,擴展模式地址池中的所有IP地址都參與自動分配 |
在擴展模式的DHCP地址池視圖下通過forbidden-ip命令配置不參與自動分配的IP地址後,隻有當前擴展模式的地址池不能分配這些IP地址,其他地址池仍然可以分配這些IP地址。
在DHCP服務器上,可以為每個地址池指定客戶端使用的域名後綴。在給客戶端分配IP地址的同時,也將域名後綴發送給客戶端。
在客戶端進行域名解析時,用戶隻需要輸入域名的部分字段,客戶端會自動將輸入的域名加上域名後綴進行解析。有關域名後綴的詳細介紹,請參見“三層技術配置指導”中的“IPv4域名解析”。
表2-7 配置DHCP客戶端的域名後綴
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的域名後綴 |
缺省情況下,沒有配置為DHCP客戶端分配的域名後綴 |
通過域名訪問Internet上的主機時,需要將域名解析為IP地址,這是通過DNS(Domain Name System,域名係統)實現的。為了使DHCP客戶端能夠通過域名訪問Internet上的主機,DHCP服務器應在為客戶端分配IP地址的同時指定DNS服務器地址。目前,每個DHCP地址池最多可以配置8個DNS服務器地址。
表2-8 配置DHCP客戶端的DNS服務器地址
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的DNS服務器地址 |
缺省情況下,沒有配置為DHCP客戶端分配的DNS服務器地址 |
對於使用Microsoft Windows操作係統的客戶端,由WINS(Windows Internet Naming Service,Windows Internet名稱服務)服務器為通過NetBIOS協議通信的主機提供主機名到IP地址的解析。所以,大部分Windows網絡客戶端需要進行WINS的設置。
為了使DHCP客戶端實現主機名到IP地址的解析,DHCP服務器應在為客戶端分配IP地址的同時指定WINS服務器地址。目前,每個DHCP地址池最多可以配置8個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服務器通信來獲取映射關係,如果沒有獲取到,再發送廣播報文來獲取映射關係。
表2-9 配置DHCP客戶端的WINS服務器地址和NetBIOS節點類型
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的WINS服務器地址 |
對於b類節點,為可選 缺省情況下,沒有配置為DHCP客戶端分配的WINS服務器地址 |
|
配置為DHCP客戶端分配的NetBIOS節點類型 |
缺省情況下,沒有配置為DHCP客戶端分配的NetBIOS節點類型 |
如果配置DHCP客戶端為b類NetBIOS節點,則不需要配置WINS服務器地址。
為了使DHCP客戶端通過BIMS(Branch Intelligent Management System,分支網點智能管理係統)服務器進行軟件的備份和升級等操作,DHCP服務器需要在為DHCP客戶端分配IP地址的同時,將BIMS服務器的IP地址、端口號以及加密的共享密鑰等信息也發給DHCP客戶端。之後,DHCP客戶端就可以定期向BIMS服務器發送連接請求,從BIMS服務器上獲取配置文件,進行軟件的備份和升級等操作。
表2-10 配置DHCP客戶端的BIMS服務器信息
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的BIMS服務器的IP地址、端口及共享密鑰信息 |
bims-server ip ip-address [ port port-number ] sharekey [ cipher | simple ] key |
缺省情況下,沒有配置為DHCP客戶端分配的BIMS服務器信息 |
DHCP客戶端訪問本網段以外的服務器或主機時,數據必須通過網關進行轉發。DHCP服務器可以在為客戶端分配IP地址的同時指定網關的地址。
在DHCP服務器上,可以為每個地址池分別指定客戶端對應的網關地址。在給客戶端分配IP地址的同時,也將網關地址發送給客戶端。目前,每個DHCP地址池最多可以配置8個網關地址。
表2-11 配置DHCP客戶端的網關地址
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的網關地址 |
缺省情況下,沒有配置為DHCP客戶端分配的網關地址 |
為了使具有語音功能的DHCP客戶端能夠在通過DHCP獲取IP地址的同時,獲取到語音呼叫所需的相關信息,需要在DHCP服務器上配置Option 184。Option 184內容的詳細介紹,請參見“1.4.3 3. Option 184”。
表2-12 配置DHCP客戶端的Option 184參數
進入DHCP地址池視圖 |
||
設備在空配置啟動時自動獲取並執行配置文件的功能,被稱為自動配置。具體過程如下:
(1) 設備在空配置啟動時,係統會自動將處於up狀態的接口(如缺省VLAN對應的虛接口)設置為DHCP客戶端,並向DHCP服務器獲取IP地址及後續獲取配置文件所需要的信息(例如:TFTP服務器的IP地址、TFTP服務器名、啟動文件名等)。
(2) 如果獲取到相關信息,則DHCP客戶端就可發起TFTP請求,從指定的TFTP服務器獲取配置文件,之後設備就使用獲取到的配置文件進行設備初始化工作。如果沒有獲取到相關信息,則設備在空配置的情況下正常啟動。
自動配置功能在空配置啟動的設備上不需要進行任何配置,但需要在DHCP服務器上配置一些必需的參數,包括TFTP服務器地址、TFTP服務器名和啟動文件名。
表2-13 配置DHCP客戶端的TFTP服務器地址及啟動文件名
進入DHCP地址池視圖 |
||
配置為DHCP客戶端分配的TFTP服務器地址 |
缺省情況下,沒有配置為DHCP客戶端分配的TFTP服務器地址和TFTP服務器名 |
|
配置為DHCP客戶端分配的TFTP服務器名 |
||
配置為DHCP客戶端分配的啟動文件名 |
缺省情況下,沒有配置為DHCP客戶端分配的啟動文件名 |
設備在啟動後,可能需要訪問某些服務器獲取設備運行需要的信息,例如從TFTP服務器上獲取配置文件。通過本配置可以指定DHCP服務器為DHCP客戶端分配的下一個提供服務的服務器IP地址,以便客戶端啟動後訪問該服務器,獲取必要的信息。
表2-14 配置DHCP客戶端的下一個提供服務的服務器IP地址
進入DHCP地址池視圖 |
||
配置DHCP地址池為DHCP客戶端分配的下一個提供服務的服務器IP地址 |
缺省情況下,沒有配置DHCP地址池為DHCP客戶端分配的下一個提供服務的服務器IP地址 |
通過配置DHCP自定義選項,用戶可以:
· 定義新的DHCP選項。隨著DHCP的不斷發展,新的可選項會陸續出現,為了支持這些新的選項,可以通過手工定義的方式將新選項添加到DHCP服務器的屬性列表中。
· 定義已有選項的內容。有些選項的內容,RFC 2132中沒有統一規定。廠商可以根據需要定義選項的內容,如Option 43。通過配置DHCP自定義選項,可以為DHCP客戶端提供廠商指定的信息。
· 擴展已有的DHCP選項。當前已提供的方式無法滿足用戶需求時(比如通過dns-list命令最多隻能配置8個DNS服務器地址,如果用戶需要配置的DNS服務器地址數目大於8,則該命令無法滿足需求),可以通過配置DHCP自定義選項的方式進行擴展。
表2-15 配置DHCP自定義選項
進入DHCP地址池視圖 |
||
配置DHCP自定義選項 |
option code { ascii ascii-string | hex hex-string&<1-16> | ip-address ip-address&<1-8> } |
缺省情況下,沒有配置DHCP自定義選項 |
表2-16 常用Option配置說明
option命令參數選擇 |
|||
配置自定義選項可能會對DHCP的工作過程造成影響,請謹慎使用DHCP自定義選項。
隻有使能DHCP服務後,其它相關的DHCP服務器配置才能生效。
使能DHCP服務 |
缺省情況下,DHCP服務處於禁止狀態 |
|
使能DHCP 服務器輸出log信息 |
dhcp server log enable |
可選 缺省情況下,DHCP 服務器輸出log信息 |
配置接口工作在DHCP服務器模式後,當接口收到DHCP客戶端發來的DHCP報文時,將從DHCP服務器的地址池中分配地址。
表2-18 配置接口工作在DHCP服務器模式
配置接口工作在DHCP服務器模式 |
缺省情況下,接口工作在DHCP服務器模式 |
subaddress關鍵字隻在DHCP服務器與客戶端在同一網段時有效。如果客戶端與服務器之間通過DHCP中繼相連,則不管是否輸入subaddress關鍵字,當服務器為客戶端分配IP地址時,都是從與DHCP中繼接口(與客戶端相連的接口)的主IP地址在同一網段的地址池中選擇地址分配給客戶端。
當DHCP服務器與客戶端在同一網段時,根據是否輸入subaddress關鍵字,DHCP服務器的處理不同:
· 如果輸入subaddress關鍵字,當服務器為客戶端分配IP地址時,將優先從與服務器接口(與客戶端相連的接口)的主IP地址在同一網段的地址池中選擇地址分配給客戶端,如果該地址池中沒有可供分配的IP地址,則從與服務器接口的從IP地址在同一網段的地址池中選擇地址分配給客戶端。如果接口有多個從IP地址,則從第一個從IP地址依次匹配。
· 如果不輸入subaddress關鍵字,當服務器為客戶端分配IP地址時,將隻能從與服務器接口的主IP地址在同一網段的地址池中選擇地址分配給客戶端。
創建擴展模式的地址池,並在接口引用該地址池後,接口接收到DHCP請求,將優先為客戶端分配靜態綁定的IP地址;如果不存在靜態綁定的IP地址,則從引用的擴展模式地址池中選擇IP地址分配給客戶端。引用的地址池中不存在可供分配的IP地址時,設備無法為客戶端分配IP地址,設備不會將其他地址池中的地址分配給客戶端。
缺省情況下,接口沒有引用任何擴展模式的地址池,接口接收到DHCP請求後,將從普通模式地址池中選擇IP地址分配給客戶端 |
在配置DHCP服務器後,為了提高DHCP服務的安全性,需要配置DHCP服務的安全功能。
在配置DHCP服務的安全功能之前,需完成DHCP服務器的必配任務:
· 使能DHCP服務;
· 配置DHCP服務器的地址池。
如果網絡中有私自架設的DHCP服務器,當客戶端申請IP地址時,這台DHCP服務器就會與DHCP客戶端進行交互,導致客戶端獲得錯誤的IP地址。這種私設的DHCP服務器稱為偽DHCP服務器。
使能偽DHCP服務器檢測功能後,DHCP服務器會檢查接收到的DHCP報文中是否攜帶Option 54(Server Identifier Option,服務器標識選項)。如果攜帶該選項,則DHCP服務器記錄此選項中的IP地址,即給客戶端分配IP地址的服務器IP地址,並記錄接收到DHCP報文的接口信息,以便管理員及時發現並處理偽DHCP服務器。
表2-20 配置偽DHCP服務器檢測功能
使能偽DHCP服務器檢測功能 |
缺省情況下,禁止偽DHCP服務器檢測功能 |
· 使能偽DHCP服務器檢測功能後,對所有DHCP服務器都會進行記錄,包括合法的DHCP服務器。管理員需要從日誌信息中查找偽DHCP服務器。
· 使能偽DHCP服務器檢測功能後,對每個DHCP服務器隻記錄一次。
為防止IP地址重複分配導致地址衝突,DHCP服務器為客戶端分配地址前,需要先對該地址進行探測。
地址探測是通過ping功能實現的,通過檢測是否能在指定時間內得到ping響應來判斷是否有地址衝突。DHCP服務器發送目的地址為待分配地址的ICMP回顯請求報文,如果在指定時間內收到回顯響應報文,DHCP服務器從地址池中選擇新的IP地址,並重複上述操作;如果在指定時間內沒有收到回顯響應報文,則繼續發送ICMP回顯請求報文,直到發送的回顯請求報文達到最大值,如果仍然沒有收到回顯響應報文,則將地址分配給客戶端,從而確保客戶端被分得的IP地址唯一。
DHCP服務器通過ping操作來檢測是否發生地址衝突,而DHCP客戶端則通過發送免費ARP報文檢測是否發生地址衝突。
表2-21 配置IP地址重複分配檢測功能
配置DHCP服務器發送回顯請求報文的最大數目 |
缺省情況下,DHCP服務器發送回顯請求報文的最大數目為1 0表示不進行ping操作 |
|
配置DHCP服務器等待回顯響應報文的超時時間 |
缺省情況下,DHCP服務器等待回顯響應報文的超時時間為500毫秒 0表示不進行ping操作 |
通常情況下,網絡內的用戶需要通過DHCP動態獲取IP地址。隻有由DHCP服務器分配IP地址的用戶,才是合法用戶。通過其他方式配置IP地址(如靜態指定地址)的用戶為非法用戶。如果在網絡中DHCP服務器同時作為網關設備,則DHCP服務器與授權ARP功能配合使用,能夠過濾非法用戶,防止仿冒用戶的ARP攻擊。
實現DHCP服務器與授權ARP功能配合,需要執行以下操作:
· 配置DHCP服務器支持授權ARP功能:執行此操作後,DHCP服務器在添加、刪除或改變IP地址租約時,通知授權ARP添加、刪除或修改相應的ARP表項。
· 使能授權ARP功能:執行此操作後,設備將關閉ARP自動學習功能,隻根據DHCP服務器生成的租約同步生成ARP表項,從而避免學習到錯誤的ARP表項。
DHCP服務器與授權ARP功能配合,可以實現:
· 對於通過DHCP服務器申請地址的合法用戶,DHCP服務器上存在其對應的ARP表項,該用戶可以與外部網絡通信。
· 對於沒有通過DHCP服務器申請地址的非法用戶,DHCP服務器上不存在其對應的ARP表項,該用戶無法與外部網絡通信。
· 禁止自動學習ARP表項,可以防止用戶仿冒其他用戶的IP地址或MAC地址對網絡進行攻擊,保證隻有合法的用戶才能使用網絡資源,增加了網絡的安全性。
表2-22 配置DHCP服務器與授權ARP配合使用
配置DHCP服務器支持授權ARP功能 |
缺省情況下,DHCP服務器不支持授權ARP功能 |
|
使能授權ARP功能 |
· 隻能在VLAN接口上配置DHCP服務器支持授權ARP的功能。
· 接口從DHCP服務器模式切換到DHCP中繼模式時,不會刪除IP地址租約,也不會刪除相應的授權ARP表項。這些表項可能會與DHCP中繼新生成的ARP表項衝突。因此,建議接口從DHCP服務器模式切換到DHCP中繼模式時,通過reset dhcp server ip-in-use命令清除已有的IP地址租約。
· 關閉DHCP服務器支持授權ARP功能後,DHCP服務器不會刪除IP地址租約,但會刪除相應的授權ARP表項。
· 授權ARP的詳細介紹,請參見“安全配置指導”中的“ARP攻擊防禦”;arp authorized enable命令的詳細介紹,請參見“安全命令參考”中的“ARP攻擊防禦”。
DHCP服務器的用戶下線檢測功能以ARP表項老化功能為基礎,當ARP表項老化時認為該表項對應的用戶已經下線。
如果在接口上使能了DHCP服務器的用戶下線檢測功能,則當ARP表項老化時,係統會刪除該表項對應用戶的地址綁定信息。
表2-23 配置DHCP服務器的用戶下線檢測功能
使能DHCP服務器的用戶下線檢測功能 |
缺省情況下,DHCP服務器的用戶下線檢測功能處於關閉狀態 |
手工刪除ARP表項,不會觸發刪除對應的地址綁定信息。
如果配置DHCP服務器處理Option 82,則當DHCP服務器收到帶有Option 82的報文後,會在響應報文中攜帶Option 82,並為客戶端分配IP地址等信息。
如果配置DHCP服務器忽略Option 82,則當DHCP服務器收到帶有Option 82的報文後,不會在響應報文中攜帶Option 82,隻為客戶端分配IP地址等信息。
在配置Option 82的處理方式之前,需完成DHCP服務器的必配任務:
· 使能DHCP服務;
· 配置DHCP服務器的地址池。
表2-24 配置Option 82的處理方式
配置DHCP服務器處理Option 82 |
缺省情況下,DHCP服務器處理Option 82 |
為使Option 82功能正常使用,需要在DHCP服務器和DHCP中繼(或DHCP Snooping設備)上都進行相應配置。DHCP中繼支持Option 82功能的相關配置請參見“3.3.7 配置DHCP中繼支持Option 82功能”;DHCP Snooping支持Option 82功能的相關配置請參見“5.4 配置DHCP Snooping支持Option 82功能”。
在配置DHCP服務器發送Trap消息之前,需要先通過snmp-agent target-host命令配置Trap消息的目的地址。snmp-agent target-host命令的詳細介紹,請參見“網絡管理和監控命令參考”中的“SNMP”。
在DHCP服務器上,可以配置成功分配IP地址的比率、地址池的平均IP利用率、地址池的最大IP利用率達到門限值時,向網管服務器發送Trap消息,以便網絡管理員及時了解DHCP服務器的使用情況。
表2-25 配置DHCP服務器發送Trap消息的門限值
配置DHCP服務器在指定條件下,向網管服務器發送Trap消息 |
缺省情況下,DHCP服務器不會向網管服務器發送Trap消息 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCP服務器的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令清除DHCP服務器的相關信息。
表2-26 DHCP服務器顯示和維護
顯示DHCP的地址衝突統計信息 |
|
顯示DHCP地址池中的租約超期信息 |
|
顯示DHCP地址池的可用地址信息 |
display dhcp server free-ip [ | { begin | exclude | include } regular-expression ] |
顯示DHCP地址池中不參與自動分配的IP地址 |
display dhcp server forbidden-ip [ | { begin | exclude | include } regular-expression ] |
顯示DHCP地址池中的地址綁定信息 |
|
顯示DHCP服務器的統計信息 |
display dhcp server statistics [ | { begin | exclude | include } regular-expression ] |
顯示DHCP地址池的樹狀結構信息 |
|
清除DHCP地址衝突的統計信息 |
|
清除DHCP動態地址綁定信息 |
reset dhcp server ip-in-use { all | ip ip-address | pool [ pool-name ] } |
清除DHCP服務器的統計信息 |
執行save命令時不會保存DHCP服務器的租約信息,故當係統重新啟動或使用reset dhcp server ip-in-use命令清除租約後,配置文件中將沒有任何租約信息。此時客戶端如果發出續約請求將會被拒絕,客戶端需要重新申請IP地址。
常見的DHCP組網方式可分為兩類:一種是DHCP服務器和客戶端在同一個子網內,直接進行DHCP報文的交互;另一種是DHCP服務器和客戶端處於不同的子網中,必須通過DHCP中繼代理實現IP地址的分配。無論哪種情況下,DHCP服務器的配置都是相同的。
Switch作為DHCP客戶端,從DHCP服務器AC獲取靜態綁定的IP地址、域名服務器、網關地址等信息。
[AC] interface vlan-interface 2
[AC-Vlan-interface2] ip address 10.1.1.1 25
[AC-Vlan-interface2] quit
# 使能DHCP服務。
# 配置DHCP地址池0,采用靜態綁定方式分配IP地址。
[AC-dhcp-pool-0] static-bind ip-address 10.1.1.5 25
[AC-dhcp-pool-0] static-bind mac-address 000f-e200-0002
[AC-dhcp-pool-0] dns-list 10.1.1.2
[AC-dhcp-pool-0] gateway-list 10.1.1.126
[AC-dhcp-pool-0] quit
· 作為DHCP服務器的AC 1為網段10.1.1.0/24中的客戶端動態分配IP地址,該地址池網段分為兩個子網網段:10.1.1.0/25和10.1.1.128/25;
· AC 1的兩個VLAN接口,VLAN接口1和VLAN接口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。
· 10.1.1.0/25網段與10.1.1.128/25網段的域名後綴、DNS服務器地址相同,可以隻配置10.1.1.0/24網段的域名後綴和DNS服務器地址,10.1.1.0/25網段與10.1.1.128/25網段繼承10.1.1.0/24網段的配置。
在本例中,建議從VLAN接口1申請IP地址的客戶端數目不要超過122個;從VLAN接口2申請IP地址的客戶端數目不要超過124個。
圖2-1 DHCP組網圖
(1) 配置端口屬於VLAN及對應VLAN接口的IP地址(略)
(2) 配置AC基本功能(詳細介紹請參見“WLAN配置指導”中的“WLAN接入”)(略)
# 使能DHCP服務。
[AC 1] dhcp enable
# 配置不參與自動分配的IP地址(DNS服務器、WINS服務器和網關地址)。
[AC 1] dhcp server forbidden-ip 10.1.1.2
[AC 1] dhcp server forbidden-ip 10.1.1.4
[AC 1] dhcp server forbidden-ip 10.1.1.126
[AC 1] dhcp server forbidden-ip 10.1.1.254
# 配置DHCP地址池0的共有屬性(地址池範圍、客戶端域名後綴、DNS服務器地址)。
[AC 1-dhcp-pool-0] network 10.1.1.0 mask 255.255.255.0
[AC 1-dhcp-pool-0] domain-name aabbcc.com
[AC 1-dhcp-pool-0] dns-list 10.1.1.2
[AC 1-dhcp-pool-0] quit
# 配置DHCP地址池1的屬性(地址池範圍、網關、地址租用期限、WINS服務器地址)。
[AC 1-dhcp-pool-1] network 10.1.1.0 mask 255.255.255.128
[AC 1-dhcp-pool-1] gateway-list 10.1.1.126
[AC 1-dhcp-pool-1] expired day 10 hour 12
[AC 1-dhcp-pool-1] nbns-list 10.1.1.4
[AC 1-dhcp-pool-1] quit
# 配置DHCP地址池2的屬性(地址池範圍、地址租用期限、網關)。
[AC 1-dhcp-pool-2] network 10.1.1.128 mask 255.255.255.128
[AC 1-dhcp-pool-2] expired day 5
[AC 1-dhcp-pool-2] gateway-list 10.1.1.254
無線網絡中,AP與AC分別處於不同網段,AP作為DHCP客戶端需要從DHCP服務器AC獲取IP地址為10.10.1.0/24網段的地址。DHCP服務器需要通過自定義選項的方式配置Option 43的內容,Option 43地址列表的格式如圖1-5所示。DHCP服務器上配置的Option 43選項內容為80 07 00 00 01 0A 01 01 01,其中80為子選項類型(Sub-option type),07為子選項長度(Sub-option length),00 00為PXE服務器類型(PXE server type),01為服務器數目(Server number),0A 01 01 01為AC的IP地址10.1.1.1。
(1) 配置各接口的IP地址(略)
# 使能DHCP服務。
[AC] dhcp enable
# 配置DHCP地址池0。
# 配置DHCP地址池動態分配的IP地址範圍
[AC-dhcp-pool-0] network 10.10.1.0 mask 255.255.255.0
# 配置DHCP Option43的內容
[AC-dhcp-pool-0] option 43 hex 80 07 00 00 01 0A 01 01 01
配置完成後,AP可以從DHCP服務器申請到IP地址,通過display dhcp server ip-in-use命令可以查看DHCP服務器為AP分配的IP地址。
客戶端從DHCP服務器動態獲得的IP地址與其他主機IP地址衝突。
可能是網絡上有主機私自配置了IP地址,導致衝突。
(1) 禁用客戶端的網卡或斷開其網線,從另外一台主機執行ping操作,檢查網絡中是否已經存在該IP地址的主機。
(2) 如果能夠收到ping操作的響應消息,則說明該IP地址已由用戶靜態配置。在DHCP服務器上執行dhcp server forbidden-ip命令,禁止該IP地址參與動態地址分配。
(3) 重新啟用客戶端的網卡或連接好其網線,在客戶端釋放並重新獲取IP地址。以Windows XP為例,在Windows環境下,選擇[開始]/[運行],在“運行”對話框中輸入cmd,點擊[確認]按鈕,進入命令行界麵,使用ipconfig/release命令釋放IP地址,之後使用ipconfig/renew重新獲取IP地址。
DHCP中繼中對於接口的相關配置,目前隻能在VLAN接口上進行。
由於在IP地址動態獲取過程中采用廣播方式發送請求報文,因此DHCP隻適用於DHCP客戶端和服務器處於同一個子網內的情況。為進行動態主機配置,需要在所有網段上都設置一個DHCP服務器,這顯然是很不經濟的。
DHCP中繼功能的引入解決了這一難題:客戶端可以通過DHCP中繼與其他網段的DHCP服務器通信,最終獲取到IP地址。這樣,多個網絡上的DHCP客戶端可以使用同一個DHCP服務器,既節省了成本,又便於進行集中管理。
圖3-1是DHCP中繼的典型應用示意圖。
圖3-1 DHCP中繼的典型組網應用
通過DHCP中繼完成動態配置的過程中,DHCP客戶端與DHCP服務器的處理方式與不通過DHCP中繼時的處理方式基本相同。下麵隻說明DHCP中繼的轉發過程,報文的具體交互過程請參見“1.2.2 IP地址動態獲取過程”。
圖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的詳細介紹請參見“1.4.3 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不變並進行轉發 |
|||
采用normal模式填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
采用verbose模式填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
采用用戶自定義的內容填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
采用normal模式填充Option 82並進行轉發 |
|||
采用verbose模式填充Option 82並進行轉發 |
|||
表3-2 DHCP中繼配置任務簡介
使能DHCP服務 |
||
配置接口工作在DHCP中繼模式 |
||
配置DHCP服務器組 |
||
配置DHCP中繼的安全功能 |
||
配置DHCP中繼的用戶下線檢測功能 |
||
配置通過DHCP中繼釋放客戶端的IP地址 |
||
配置DHCP中繼支持Option 82功能 |
隻有使能DHCP服務後,其它相關的DHCP中繼配置才能生效。
使能DHCP服務 |
缺省情況下,DHCP服務處於禁止狀態 |
配置接口工作在中繼模式後,當接口收到DHCP客戶端發來的DHCP報文時,會將報文轉發給DHCP服務器,由服務器分配地址。
表3-4 配置接口工作在DHCP中繼模式
配置接口工作在DHCP中繼模式 |
缺省情況下,使能DHCP服務後,接口工作在DHCP服務器模式 |
DHCP客戶端通過DHCP中繼獲取IP地址時,DHCP服務器上需要配置與DHCP中繼連接DHCP客戶端的接口的IP地址所在網段(網絡號和掩碼)完全相同的地址池,否則會導致DHCP客戶端無法獲得正確的IP地址。
為了提高可靠性,可以在一個網絡中設置多個DHCP服務器。多個DHCP服務器構成一個DHCP服務器組。當接口與DHCP服務器組建立歸屬關係後,會將客戶端發來的DHCP報文轉發給服務器組中的所有服務器。
表3-5 配置DHCP服務器組
配置DHCP服務器組中DHCP服務器的IP地址 |
缺省情況下,沒有配置DHCP服務器組中服務器的IP地址 |
|
配置接口與DHCP服務器組的歸屬關係 |
缺省情況下,接口沒有與任何一個DHCP服務器組建立歸屬關係 |
· 設備上最多可以配置20個DHCP服務器組。
· 通過重複執行dhcp relay server-group命令,可以在一個DHCP服務器組中配置多個DHCP服務器的IP地址。每個DHCP服務器組中最多可以配置8個DHCP服務器地址。
· DHCP服務器組中服務器的IP地址不能與DHCP中繼連接客戶端的接口IP地址在同一網段。否則,可能導致客戶端無法獲得IP地址。
· 每個DHCP服務器組可以對應多個接口。但每個接口隻能對應一個DHCP服務器組。在同一接口下多次執行dhcp relay server-select命令,新的配置會覆蓋已有配置。但是,如果新指定的DHCP服務器組不存在時,新的歸屬關係配置不成功,接口還是維持與上一次配置的DHCP服務器組的歸屬關係。
· dhcp relay server-select命令中所指定的組號,需事先通過dhcp relay server-group命令進行配置。
為了防止非法主機靜態配置一個IP地址並訪問外部網絡,設備支持DHCP中繼的地址匹配檢查功能。
接口上使能該功能後,當客戶端通過DHCP中繼從DHCP服務器獲取到IP地址時,DHCP中繼可以自動記錄客戶端IP地址與MAC地址的綁定關係,生成DHCP中繼的動態用戶地址表項。同時,為滿足用戶采用合法固定IP地址訪問外部網絡的需求,DHCP中繼也支持靜態配置用戶地址表項,即在DHCP中繼上手工配置IP地址與MAC地址的綁定關係。
DHCP中繼接收到主機發送的報文後,如果在用戶地址表中(包括DHCP中繼動態記錄的表項以及手工配置的用戶地址表項)沒有與報文源IP地址和源MAC地址匹配的表項,則不學習該主機的ARP表項。DHCP中繼收到應答給該主機的報文後,無法將應答報文發送給該主機。從而,保證非法主機不能通過DHCP中繼與外部網絡通信。
表3-6 配置DHCP中繼的地址匹配檢查功能
配置DHCP中繼的靜態用戶地址表項 |
dhcp relay security static ip-address mac-address [ interface interface-type interface-number ] |
缺省情況下,沒有配置DHCP中繼的靜態用戶地址表項 |
使能DHCP中繼的地址匹配檢查功能 |
缺省情況,禁止DHCP中繼的地址匹配檢查功能 |
· 目前,隻能在VLAN接口上執行dhcp relay address-check enable命令。
· 在接口上使能DHCP中繼的地址匹配檢查功能之前,需要先使能DHCP服務、並配置該接口工作在DHCP中繼模式,否則地址匹配檢查功能不會生效。
· 執行dhcp relay address-check enable命令後將隻檢查IP和MAC地址,不檢查接口。
· 通過dhcp relay security static命令配置靜態用戶地址表項時,如果靜態用戶地址表項與接口綁定,配置的接口必須工作在DHCP中繼模式,否則可能引起地址表項衝突。
· 同異步串口作為DHCP客戶端申請IP地址時,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地址對應的表項。
表3-7 配置DHCP中繼動態用戶地址表項定時刷新周期
開啟DHCP中繼動態用戶地址表項定時刷新功能 |
缺省情況下,DHCP中繼動態用戶地址表項定時刷新功能處於開啟狀態 |
|
配置DHCP中繼動態用戶地址表項的定時刷新周期 |
缺省情況下,定時刷新周期為auto,即根據表項的數目自動計算刷新時間間隔 |
通常情況下,網絡內的用戶需要通過DHCP動態獲取IP地址。隻有由DHCP服務器分配IP地址的用戶,才是合法用戶。通過其他方式配置IP地址(如靜態指定地址)的用戶為非法用戶。如果在網絡中DHCP中繼同時作為網關設備,則DHCP中繼與授權ARP功能配合使用,能夠過濾非法用戶,防止仿冒用戶的ARP攻擊。
實現DHCP中繼與授權ARP功能配合,需要執行以下操作:
· 配置DHCP中繼支持授權ARP功能:執行此操作後,當客戶端通過DHCP中繼從DHCP服務器獲取到IP地址時,DHCP中繼可以自動記錄客戶端IP地址與MAC地址的綁定關係,生成DHCP中繼的動態用戶地址表項。並且,DHCP中繼在添加、刪除或改變動態用戶地址表項時,通知授權ARP添加、刪除或修改相應的ARP表項。
· 使能授權ARP功能:執行此操作後,設備將關閉ARP自動學習功能,隻根據DHCP中繼生成的動態用戶地址表項同步生成ARP表項,從而避免學習到錯誤的ARP表項。
DHCP中繼與授權ARP功能配合,可以實現:
· 對於通過DHCP服務器申請地址的合法用戶,DHCP中繼上存在其對應的ARP表項,該用戶可以與外部網絡通信。
· 對於沒有通過DHCP服務器申請地址的非法用戶,DHCP中繼上不存在其對應的ARP表項,該用戶無法與外部網絡通信。
· 禁止自動學習ARP表項,可以防止用戶仿冒其他用戶的IP地址或MAC地址對網絡進行攻擊,保證隻有合法的用戶才能使用網絡資源,增加了網絡的安全性。
表3-8 配置DHCP中繼與授權ARP配合使用
配置DHCP中繼支持授權ARP功能 |
缺省情況下,DHCP中繼不支持授權ARP功能 |
|
使能授權ARP功能 |
· 隻能在VLAN接口上配置DHCP中繼支持授權ARP功能。
· 關閉DHCP中繼支持授權ARP功能後,設備會刪除相應的授權ARP表項。
· DHCP中繼不會將靜態用戶地址表項通知給授權ARP。對於靜態指定IP地址的合法用戶,可以通過配置靜態ARP表項的方式,實現IP地址和MAC地址的靜態綁定。
· 授權ARP的詳細介紹,請參見“安全配置指導”中的“ARP攻擊防禦”;arp authorized enable命令的詳細介紹,請參見“安全命令參考”中的“ARP攻擊防禦”。
如果網絡中有私自架設的DHCP服務器,當客戶端申請IP地址時,這台DHCP服務器就會與DHCP客戶端進行交互,導致客戶端獲得錯誤的IP地址,這種私設的DHCP服務器稱為偽DHCP服務器。
使能偽DHCP服務器檢測功能後,DHCP中繼會檢查接收到的DHCP報文中是否攜帶Option 54(Server Identifier Option,服務器標識選項)。如果攜帶該選項,則DHCP中繼記錄此選項中的IP地址,即給客戶端分配IP地址的服務器IP地址,並記錄接收到報文的接口信息,以便管理員及時發現並處理偽DHCP服務器。
表3-9 配置偽DHCP服務器檢測功能
使能偽DHCP服務器檢測功能 |
缺省情況下,禁止偽DHCP服務器檢測功能 |
· 使能偽DHCP服務器檢測功能後,對所有DHCP服務器都會進行記錄,包括合法的DHCP服務器,管理員需要從日誌信息中查找偽DHCP服務器。
· 使能偽DHCP服務器檢測功能後,對每個DHCP服務器隻記錄一次。
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服務器;如果不一致,則丟棄該報文。
表3-10 使能DHCP中繼的MAC地址檢查功能
使能DHCP中繼的MAC地址檢查功能 |
缺省情況下,DHCP中繼的MAC地址檢查功能處於關閉狀態 |
由於DHCP中繼轉發DHCP報文時會修改報文的源MAC地址,所以隻能在靠近DHCP客戶端的第一跳DHCP中繼設備上使能MAC地址檢查功能。在非第一跳DHCP中繼設備上使能MAC地址檢查功能,會使DHCP中繼設備錯誤的丟棄報文,導致客戶端地址申請不成功。
DHCP中繼的用戶下線檢測功能以ARP表項老化功能為基礎,ARP表項老化時認為該表項對應的用戶已經下線。
如果接口上使能了DHCP中繼用戶下線檢測功能,則ARP表項老化時,會刪除對應的用戶地址表項。同時,DHCP中繼還會向DHCP服務器發送DHCP-RELEASE報文,釋放下線用戶的IP地址租約。
表3-11 配置DHCP中繼的用戶下線檢測功能
使能DHCP中繼的用戶下線檢測功能 |
缺省情況下,DHCP中繼的用戶下線檢測功能處於關閉狀態 |
手工刪除ARP表項,不會觸發刪除對應的用戶地址表項。該ARP表項對應的用戶下線時,需要通過undo dhcp relay security命令手工刪除對應的用戶地址表項。
在某些情況下,可能需要通過DHCP中繼手工釋放客戶端申請到的IP地址。如果DHCP中繼上存在客戶端IP地址對應的動態用戶地址表項,則配置通過DHCP中繼釋放該客戶端IP地址後,DHCP中繼會主動向DHCP服務器發送DHCP-RELEASE報文。DHCP服務器收到該報文後,將會釋放指定IP地址的租約。DHCP中繼也會刪除該動態用戶地址表項。
表3-12 配置通過DHCP中繼釋放客戶端的IP地址
向DHCP服務器請求釋放客戶端申請到的IP地址 |
· 釋放的客戶端IP地址必須是動態用戶地址表項中存在的IP地址,否則DHCP中繼無法釋放該IP地址。
· 隻有使能DHCP中繼的地址匹配檢查功能、DHCP中繼支持授權ARP功能後,才會自動生成DHCP中繼的動態用戶地址表項。
在配置DHCP中繼支持Option82功能之前,需完成DHCP中繼的必配任務,即:
· 使能DHCP服務
· 配置接口工作在DHCP中繼模式
· 配置DHCP服務器組
表3-13 配置DHCP中繼支持Option 82功能
使能DHCP中繼支持Option 82功能 |
缺省情況下,禁止DHCP中繼支持Option 82功能 |
||
配置DHCP中繼對包含Option 82的請求報文的處理策略 |
|||
配置Option 82的填充模式 |
缺省情況下,Option 82的填充模式為normal |
||
配置Circuit ID子選項的填充格式 |
dhcp relay information circuit-id format-type { ascii | hex } |
缺省情況下,Circuit ID子選項的填充格式由Option 82的填充模式決定,每個字段的填充格式不同 |
|
配置Remote ID子選項的填充格式 |
dhcp relay information remote-id format-type { ascii | hex } |
缺省情況下,采用HEX格式填充Remote ID子選項 |
|
配置Circuit ID子選項的內容 |
缺省情況下,Circuit ID子選項的內容由Option 82的填充模式決定 |
||
配置Remote ID子選項的內容 |
dhcp relay information remote-id string { remote-id | sysname } |
缺省情況下,Remote ID子選項的內容由Option 82的填充模式決定 |
· 為使Option 82功能正常使用,需要在DHCP服務器和DHCP中繼上都進行相應配置。DHCP服務器的相關配置請參見“2.9 配置Option 82的處理方式”。
· DHCP中繼對包含Option 82請求報文的處理策略為replace時,需要配置Option 82的填充格式;處理策略為keep或drop時,不需要配置Option 82的填充格式。
· 如果以節點的設備名稱(sysname)作為節點標識填充DHCP報文的Option 82,則設備名稱中不能包含空格;否則,DHCP中繼將丟棄該報文。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCP中繼的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令清除DHCP中繼的統計信息。
表3-14 DHCP中繼顯示和維護
顯示接口對應的DHCP服務器組的信息 |
|
顯示DHCP中繼上Option 82的配置信息 |
|
顯示DHCP中繼的用戶地址表項信息 |
|
顯示DHCP中繼用戶地址表項的統計信息 |
display dhcp relay security statistics [ | { begin | exclude | include } regular-expression ] |
顯示DHCP中繼動態用戶地址表項的定時刷新周期 |
display dhcp relay security tracker [ | { begin | exclude | include } regular-expression ] |
顯示DHCP服務器組中服務器的IP地址。 |
|
顯示DHCP中繼的相關報文統計信息 |
|
清除DHCP中繼的統計信息 |
· 具有DHCP中繼功能的AC通過端口(屬於VLAN1)連接到DHCP客戶端所在的網絡,AC的VLAN接口1的IP地址為10.10.1.1/24,VLAN接口2的IP地址為10.1.1.2/24;
· DHCP服務器的IP地址為10.1.1.1/24;
· 通過AC轉發DHCP報文,DHCP客戶端可以從DHCP服務器上申請到10.10.1.0/24網段的IP地址及相關配置信息。
圖3-3 DHCP中繼組網示意圖
# 配置各接口的IP地址(略)。
# 配置AC基本功能(詳細介紹請參見“WLAN配置指導”中的“WLAN接入”)(略)
# 使能DHCP服務。
[AC] dhcp enable
# 配置DHCP服務器的地址。
[AC] dhcp relay server-group 1 ip 10.1.1.1
# 配置VLAN接口1工作在DHCP中繼模式。
[AC] interface vlan-interface 1
[AC-Vlan-interface1] dhcp select relay
# 配置VLAN接口1對應DHCP服務器組1。
[AC-Vlan-interface1] dhcp relay server-select 1
· 為了使DHCP客戶端能從DHCP服務器獲得IP地址,還需要在DHCP服務器上進行一些配置。DHCP服務器的配置方法,請參見“2.12 DHCP服務器典型配置舉例”。
· 由於DHCP中繼所在接口的IP地址與DHCP服務器的IP地址不在同一網段,因此需要在DHCP服務器上通過靜態路由或動態路由協議保證兩者之間路由可達。
· 在DHCP中繼AC上使能Option 82功能;
· 對包含Option 82的請求報文的處理策略為replace;
· Circuit ID填充內容為company001,Remote ID填充內容為device001;
· AC將添加Option 82的DHCP請求報文轉發給DHCP服務器Switch,使得DHCP客戶端可以獲取到IP地址。
# 配置各接口的IP地址(略)。
# 配置AC基本功能(詳細介紹請參見“WLAN配置指導”中的“WLAN接入”)(略)
# 使能DHCP服務。
[AC] dhcp enable
# 配置DHCP服務器的地址。
[AC] dhcp relay server-group 1 ip 10.1.1.1
# 配置VLAN接口1工作在DHCP中繼模式。
[AC] interface vlan-interface 1
[AC-Vlan-interface1] dhcp select relay
# 配置VLAN接口1對應DHCP服務器組1。
[AC-Vlan-interface1] dhcp relay server-select 1
# 配置Option 82的處理策略和填充內容。
[AC-Vlan-interface1] dhcp relay information enable
[AC-Vlan-interface1] dhcp relay information strategy replace
[AC-Vlan-interface1] dhcp relay information circuit-id string company001
[AC-Vlan-interface1] dhcp relay information remote-id string device001
為使Option 82功能正常使用,DHCP服務器也需要進行相應配置。
客戶端不能通過DHCP中繼獲得配置信息。
DHCP中繼或DHCP服務器的配置可能有問題。可以打開調試開關顯示調試信息,並通過執行display命令顯示接口狀態信息的方法來分析定位。
· 檢查DHCP服務器和DHCP中繼是否使能了DHCP服務。
· 檢查DHCP服務器是否配置有DHCP客戶端所在網段的地址池。
· 檢查具有DHCP中繼功能的網絡設備和DHCP服務器是否配置有相互可達的路由。
· 檢查具有DHCP中繼功能的網絡設備是否在連接DHCP客戶端所在網段的接口上配置有正確的DHCP服務器組,且DHCP服務器組的IP地址配置正確。
· DHCP客戶端中對於接口的相關配置,目前隻能在VLAN接口上進行。
· 加入聚合組的接口不能配置為DHCP客戶端。
· 多個具有相同MAC地址的VLAN接口通過中繼以DHCP方式申請IP地址時,不能用Windows 2000 Server和Windows 2003 Server作為DHCP服務器。
指定設備的接口作為DHCP客戶端後,可以使用DHCP協議從DHCP服務器動態獲得IP地址等參數,方便用戶配置,也便於集中管理。
表4-1 配置接口使用DHCP方式獲取IP地址
配置接口使用DHCP方式獲取IP地址 |
ip address dhcp-alloc [ client-identifier mac interface-type interface-number ] |
缺省情況下,接口不使用DHCP方式獲取IP地址 |
· 接口可以采用多種方式獲得IP地址,新的配置方式會覆蓋原有的配置方式。
· 當接口被配置為通過DHCP動態獲取IP地址後,不能再給該接口配置從IP地址。
· 如果DHCP服務器為接口分配的IP地址與設備上其他接口的IP地址在同一網段,則該接口不會使用該IP地址,且不再向DHCP服務器申請IP地址,除非手動刪除衝突接口的IP地址,並重新使能接口(先後執行shutdown和undo shutdown命令)或重新配置接口使用DHCP方式獲取IP地址(先後執行undo ip address dhcp-alloc和ip address dhcp-alloc命令)。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCP客戶端的信息,通過查看顯示信息驗證配置的效果。
表4-2 DHCP客戶端顯示和維護
顯示DHCP客戶端的相關信息 |
AC 2的端口(屬於VLAN1)接入局域網,VLAN接口1通過DHCP協議從DHCP服務器獲取IP地址。
# 配置VLAN接口1通過DHCP動態獲取地址。
[AC 2] interface vlan-interface 1
[AC 2-Vlan-interface1] ip address dhcp-alloc
為了使DHCP客戶端能從DHCP服務器獲得IP地址,還需要在DHCP服務器上進行一些配置,具體內容請參見“2.12 DHCP服務器典型配置舉例”。
· 設備隻有位於DHCP客戶端與DHCP服務器之間,或DHCP客戶端與DHCP中繼之間時,DHCP Snooping功能配置後才能正常工作;設備位於DHCP服務器與DHCP中繼之間時,DHCP Snooping功能配置後不能正常工作。
· 在WLAN-ESS接口上配置DHCP snooping相關配置後,需要使用service-template disable命令關閉服務模板,再使用service-template enable開啟服務模板,DHCP snooping相關配置才能生效。
DHCP Snooping是DHCP的一種安全特性,具有如下功能:
(1) 保證客戶端從合法的服務器獲取IP地址。
(2) 記錄DHCP客戶端IP地址與MAC地址的對應關係。
網絡中如果存在私自架設的偽DHCP服務器,則可能導致DHCP客戶端獲取錯誤的IP地址和網絡配置參數,無法正常通信。為了使DHCP客戶端能通過合法的DHCP服務器獲取IP地址,DHCP Snooping安全機製允許將端口設置為信任端口和不信任端口:
· 信任端口正常轉發接收到的DHCP報文。
· 不信任端口接收到DHCP服務器響應的DHCP-ACK和DHCP-OFFER報文後,丟棄該報文。
連接DHCP服務器和其他DHCP Snooping設備的端口需要設置為信任端口,其他端口設置為不信任端口,從而保證DHCP客戶端隻能從合法的DHCP服務器獲取IP地址,私自架設的偽DHCP服務器無法為DHCP客戶端分配IP地址。
DHCP Snooping通過監聽DHCP-REQUEST報文和信任端口收到的DHCP-ACK報文,記錄DHCP Snooping表項,其中包括客戶端的MAC地址、獲取到的IP地址、與DHCP客戶端連接的端口及該端口所屬的VLAN等信息。利用這些信息可以實現,ARP快速應答:根據DHCP Snooping表項來判斷是否進行ARP快速應答,從而減少ARP廣播報文。ARP快速應答的詳細介紹請參見“三層技術配置指導”中的“ARP快速應答”。
如圖5-1所示,連接DHCP服務器的端口需要配置為信任端口,以便DHCP Snooping設備正常轉發DHCP服務器的應答報文,保證DHCP客戶端能夠從合法的DHCP服務器獲取IP地址。
Option 82記錄了DHCP客戶端的位置信息。管理員可以利用該選項定位DHCP客戶端,實現對客戶端的安全和計費等控製。Option 82的詳細介紹請參見“1.4.3 2. 中繼代理信息選項(Option 82)”。
如果DHCP Snooping支持Option 82功能,則當設備接收到DHCP請求報文後,將根據報文中是否包含Option 82以及用戶配置的處理策略及填充模式等對報文進行相應的處理,並將處理後的報文轉發給DHCP服務器。具體的處理方式見表5-1。
當設備接收到DHCP服務器的響應報文時,如果報文中含有Option 82,則刪除Option 82,並轉發給DHCP客戶端;如果報文中不含有Option 82,則直接轉發。
表5-1 DHCP Snooping支持Option 82的處理方式
收到DHCP請求報文 |
DHCP Snooping對報文的處理 |
||
保持報文中的Option 82不變並進行轉發 |
|||
采用normal模式填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
采用verbose模式填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
采用用戶自定義的內容填充Option 82,替換報文中原有的Option 82並進行轉發 |
|||
保持報文中的Option 82不變並進行轉發 |
|||
保持報文中的Option 82不變並進行轉發 |
|||
在報文中原有Option 82的基礎上追加子選項9的內容,如果原有Option 82中攜帶子選項9,在原有子選項9的基礎上追加內容,然後轉發報文 |
|||
保持報文中的Option 82不變並進行轉發 |
|||
保持報文中的Option 82不變並進行轉發 |
|||
采用normal模式填充Option 82並進行轉發 |
|||
采用private模式填充Option 82並進行轉發 |
|||
采用standard模式填充Option 82並進行轉發 |
|||
采用verbose模式填充Option 82並進行轉發 |
|||
DHCP Snooping對Option 82的處理策略、填充模式與DHCP中繼相同。
表5-2 DHCP Snooping配置任務簡介
配置DHCP Snooping基本功能 |
||
配置DHCP Snooping支持Option 82功能 |
||
配置DHCP Snooping表項備份功能 |
||
配置防止DHCP餓死攻擊 |
||
配置防止偽造DHCP續約報文攻擊 |
缺省情況下,DHCP Snooping功能處於關閉狀態 |
||
此接口為連接DHCP服務器的接口 |
||
配置端口為信任端口,並記錄客戶端IP地址和MAC地址的綁定關係 |
缺省情況下,在使能DHCP Snooping功能後,設備的所有端口均為不信任端口 |
|
此接口為間接與DHCP客戶端相連的接口 |
||
配置端口為不記錄IP地址和MAC地址綁定的信任端口 |
缺省情況下,在使能DHCP Snooping功能後,設備的所有端口均為不信任端口 |
|
配置DHCP snooping記錄用戶的option 55和option 60信息 |
缺省情況下,DHCP snooping 不記錄用戶的option 55和option 60信息 |
· 為了使DHCP客戶端能從合法的DHCP服務器獲取IP地址,必須將與合法DHCP服務器相連的端口設置為信任端口,設置的信任端口和與DHCP客戶端相連的端口必須在同一個VLAN內。
· 目前,可以配置為DHCP Snooping信任端口的接口類型包括:二層以太網接口、二層聚合接口和WLAN-ESS接口接口。關於聚合接口的詳細介紹,請參見“二層技術配置指導”中的“以太網鏈路聚合”。關於WLAN-ESS接口接口的詳細介紹,請參見“WLAN配置指導”中的“WLAN接口”。
· 如果二層以太網接口加入聚合組,則在該接口上進行的DHCP Snooping相關配置不會生效;該接口退出聚合組後,之前的配置才會生效。
· DHCP Snooping功能可以與基本QinQ、靈活QinQ功能同時使用:接收到DHCP客戶端發送給DHCP服務器的報文後,如果報文不帶有VLAN Tag,則為其添加一層VLAN Tag;如果報文隻帶一層VLAN Tag,則在報文前麵再添加一層VLAN Tag,(添加的VLAN Tag為第一層VLAN Tag,原來的VLAN Tag為第二層VLAN Tag),並通過DHCP Snooping表項記錄兩層VLAN Tag;如果報文帶有兩層VLAN Tag,則不添加VLAN Tag,直接轉發給DHCP服務器。
· 在添加VLAN Tag的同時,還需要修改原有的VLAN Tag時,DHCP Snooping功能不能與靈活QinQ功能同時使用。
表5-4 配置DHCP Snooping支持Option 82功能
· 隻能在二層以太網接口、二層聚合接口和WLAN-ESS接口上配置DHCP Snooping支持Option 82功能。
· 如果二層以太網接口加入聚合組,則該接口上進行的DHCP Snooping支持Option 82功能的配置不會生效;該接口退出聚合組後,之前的配置才會生效。
· 為使Option 82功能正常使用,需要在DHCP服務器和DHCP Snooping上都進行相應配置。DHCP服務器的相關配置請參見“2.9 配置Option 82的處理方式”。
· DHCP Snooping對包含Option 82請求報文的處理策略為replace時,需要配置Option 82的填充格式;處理策略為keep或drop時,不需要配置Option 82的填充格式。
· 如果以設備名稱(sysname)作為節點標識填充DHCP報文的Option 82,則設備名稱中不能包含空格;否則,DHCP Snooping將丟棄該報文。用戶可以通過sysname命令配置設備名稱,該命令的詳細介紹請參見“基本配置命令參考”中的“設備管理”。
· DHCP Snooping功能和QinQ功能同時使用,或DHCP Snooping設備接收到的DHCP報文帶有兩層VLAN Tag時,如果采用normal或verbose模式填充Option 82,則sub-option 1中VLAN ID字段的格式為“第一層VLAN Tag.第二層VLAN Tag”。例如,第一層VLAN Tag為10(十六進製值為a),第二層VLAN Tag為20(十六進製值為14),則VLAN ID字段的內容為“000a.0014”。
DHCP Snooping設備重啟後,設備上記錄的DHCP Snooping表項將丟失。如果DHCP Snooping與安全模塊配合使用,則表項丟失會導致安全模塊無法通過DHCP Snooping獲取到相應的表項,進而導致DHCP客戶端不能順利通過安全檢查、正常訪問網絡。
DHCP Snooping表項備份功能將DHCP Snooping表項保存到指定的文件中,DHCP Snooping設備重啟後,自動根據該文件恢複DHCP Snooping表項,從而保證DHCP Snooping表項不會丟失。
表5-5 配置DHCP Snooping表項備份功能
指定存儲DHCP Snooping表項的文件名稱 |
執行本命令後,會立即觸發一次表項備份。之後,按照dhcp-snooping binding database update interval命令設置的刷新時間間隔定時更新表項文件 |
|
將當前的DHCP Snooping表項保存到用戶指定的文件中 |
||
配置DHCP Snooping表項存儲文件的刷新時間間隔 |
缺省情況下,不會定期刷新DHCP Snooping表項存儲文件 |
執行undo dhcp-snooping命令關閉DHCP Snooping功能後,設備會刪除所有DHCP Snooping表項,文件中存儲的DHCP Snooping表項也將被刪除。
DHCP餓死攻擊是指攻擊者偽造chaddr字段各不相同的DHCP請求報文,向DHCP服務器申請大量的IP地址,導致DHCP服務器地址池中的地址耗盡,無法為合法的DHCP客戶端分配IP地址,或導致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 Snooping的MAC地址檢查功能。使能該功能後,DHCP Snooping設備檢查接收到的DHCP請求報文中的chaddr字段和數據幀的源MAC地址字段是否一致。如果一致,則認為該報文合法,將其轉發給DHCP服務器;如果不一致,則丟棄該報文。
表5-6 使能DHCP Snooping的MAC地址檢查功能
使能DHCP Snooping的MAC地址檢查功能 |
缺省情況下,DHCP Snooping的MAC地址檢查功能處於關閉狀態 |
隻能在二層以太網接口、二層聚合接口和WLAN-ESS接口上使能DHCP Snooping的MAC地址檢查功能。
偽造DHCP續約報文攻擊是指攻擊者冒充合法的DHCP客戶端,向DHCP服務器發送偽造的DHCP續約報文,導致DHCP服務器和DHCP客戶端無法按照自己的意願及時釋放IP地址租約。如果攻擊者冒充不同的DHCP客戶端發送大量偽造的DHCP續約報文,則會導致大量IP地址被長時間占用,DHCP服務器沒有足夠的地址分配給新的DHCP客戶端。
在DHCP Snooping設備上使能DHCP Request報文檢查功能,可以有效地防止偽造DHCP續約報文攻擊。如果使能了該功能,則DHCP Snooping設備接收到DHCP Request報文後,檢查本地是否存在與DHCP Request報文匹配的DHCP Snooping表項。若存在,則DHCP Request報文信息與DHCP Snooping表項信息一致時,認為該報文為合法的續約報文,將其轉發給DHCP服務器;不一致時,認為該報文為偽造的續約報文,將其丟棄。若不存在,則認為該報文合法,將其轉發給DHCP服務器。
表5-7 使能DHCP Snooping的DHCP Request報文檢查功能
使能DHCP Snooping的DHCP Request報文檢查功能 |
缺省情況下,DHCP Snooping的DHCP Request報文檢查功能處於關閉狀態 |
隻能在二層以太網接口、二層聚合接口和WLAN-ESS接口上使能DHCP Snooping的DHCP Request報文檢查功能。
在現在運營商的網絡中,DHCP 服務器越來越向上層設備進行回收,對於我們的WLAN網絡,運營商通常使用一個DHCP服務器為下麵的幾台甚至幾十台AC的WLAN網絡分配業務地址。
而DHCP 客戶端申請地址為廣播申請方式,DHCP服務器回應的DHCP-OFFER和DHCP-ACK報文有時也為廣播方式,此時這些報文會廣播到所有的AC設備並且最終廣播到所有的AP設備上,造成網絡資源的浪費。
在接口上使能DHCP Snooping控製應答報文發送功能後,如果廣播的DHCP-OFFER或者DHCP-ACK報文沒有匹配的DHCP Snooping表項,則該報文會被丟棄,將無用的DHCP的廣播報文控製在無線網絡之外減輕了網絡的負擔。
表5-8 使能DHCP Snooping控製應答報文發送功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
使能DHCP Snooping控製應答報文發送功能 |
dhcp-snooping verify reply-message |
必選 缺省情況下,DHCP Snooping控製廣播應答報文發送功能是關閉的 |
在完成上述配置後,在任意視圖下執行display命令可以顯示DHCP Snooping的配置情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCP Snooping的統計信息。
表5-9 DHCP Snooping顯示和維護
該配置舉例中對於以太網接口的配置,請參見表5-10。本配置舉例以GigabitEthernet接口為例,實際使用中請以設備實際情況為準。
表5-10 AC以太網接口配置說明
LSUM1WCME0 |
||
WX3510E WX3540E |
||
WX5510E |
||
WX2540E |
對於無線相關的特性,請直接在設備的LAN口上配置 對於路由相關的特性,比如PPPoE、RIP等,請直接在設備的WAN口配置 |
|
WAC360 WAC361 |
||
WX6100E(包括EWPXM2WCMD0、EWPXM3WCMD0、EWPXM1WCME0) |
請直接在WX6100E的無線控製器業務板與交換板相連的內部以太網接口上配置(無線控製器業務板插在WX6100E無線控製器的擴展插槽上) |
AC通過以太網端口GigabitEthernet 1/0/1連接到DHCP服務器,通過以太網端口GigabitEthernet 1/0/2連接到AP。要求:
· 與DHCP服務器相連的端口可以轉發DHCP服務器的響應報文,而其他端口不轉發DHCP服務器的響應報文。
· 記錄DHCP-REQUEST和信任端口收到的DHCP-ACK廣播報文中DHCP客戶端IP地址及MAC地址的綁定關係。
圖1-3 DHCP Snooping組網示意圖
# 配置AC基本功能(詳細介紹請參見“WLAN配置指導”中的“WLAN接入”)(略)
# 使能DHCP Snooping功能。
[AC] dhcp-snooping
# 配置GigabitEthernet 1/0/1端口為信任端口。
[AC] interface GigabitEthernet 1/0/1
[AC-GigabitEthernet1/0/1] dhcp-snooping trust
[AC-GigabitEthernet1/0/1] quit
· BOOTP客戶端中對於接口的相關配置,目前隻能在VLAN接口上進行。
· 多個具有相同MAC地址的VLAN接口通過中繼以BOOTP方式申請IP地址時,不能用Windows 2000 Server和Windows 2003 Server作為BOOTP服務器。
BOOTP是Bootstrap Protocol(自舉協議)的簡稱。指定設備的接口作為BOOTP客戶端後,該接口可以使用BOOTP協議從BOOTP服務器獲得IP地址等信息,從而方便用戶配置。
使用BOOTP協議,管理員需要在BOOTP服務器上為每個BOOTP客戶端配置BOOTP參數文件,該文件包括BOOTP客戶端的MAC地址及其對應的IP地址等信息。當BOOTP客戶端向BOOTP服務器發起請求時,服務器會查找BOOTP參數文件,並返回相應的配置信息。
由於需要在BOOTP服務器上為每個客戶端事先配置參數文件,BOOTP一般運行在相對穩定的環境中。當網絡變化頻繁時,可以采用DHCP協議。
由於DHCP服務器可以與BOOTP客戶端進行交互,因此用戶可以不配置BOOTP服務器,而使用DHCP服務器為BOOTP客戶端分配IP地址。
在下麵的IP地址動態獲取過程中,BOOTP服務器的功能可以用DHCP服務器替代。
BOOTP客戶端從BOOTP服務器動態獲取IP地址的具體過程如下:
(1) BOOTP客戶端以廣播方式發送BOOTP請求報文,其中包含了BOOTP客戶端的MAC地址;
(2) BOOTP服務器接收到請求報文後,根據報文中的BOOTP客戶端MAC地址,從配置文件數據庫中查找對應的IP地址等信息,並向客戶端返回包含這些信息的BOOTP響應報文;
(3) BOOTP客戶端從接收到的響應報文中即可獲得IP地址等信息。
與BOOTP相關的協議規範有:
· RFC 951:Bootstrap Protocol (BOOTP)
· RFC 2132:DHCP Options and BOOTP Vendor Extensions
· RFC 1542:Clarifications and Extensions for the Bootstrap Protocol
表6-1 配置接口通過BOOTP協議獲取IP地址
配置接口通過BOOTP協議獲取IP地址 |
缺省情況下,接口不通過BOOTP協議獲取IP地址 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後BOOTP客戶端的運行情況,通過查看顯示信息驗證配置的效果。
表6-2 BOOTP客戶端顯示和維護
顯示BOOTP客戶端的相關信息 |
AC 2的端口(屬於VLAN1)接入局域網,VLAN接口1通過BOOTP協議從DHCP服務器獲取IP地址。
# 配置VLAN接口1通過BOOTP動態獲取地址。
[AC 2] interface vlan-interface 1
[AC 2-Vlan-interface1] ip address bootp-alloc
為了使BOOTP客戶端能從DHCP服務器獲得IP地址,還需要在DHCP服務器上進行一些配置,具體內容請參見“2.12 DHCP服務器典型配置舉例”。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!