初識DHCP option 82
在DHCP協議的內容中,我們會經常見到中繼代理的問題。這里我們就來詳細講解一下DHCP option 82(中繼代理信息選項82)的內容。那么在該場景下,臨時接入者可以在不安裝認證客戶端的情況下,直接訪問Internet資源,但是不能訪問學校、企業、政府單位的內網,適用于各種會務、學術交流、臨時參觀等應用場景,正式員工可以在會議區通過認證接入到內網。為了實現該場景,我們首先要對神州數碼網絡交換機產品的DHCP Option82功能進行描述。
Option82應用場景
|
網絡使用者 |
內網 |
外網 |
舉例說明 |
場景 |
訪問者 |
不能訪問 |
能訪問 |
高校學術交流,與會者在會務期間,需要訪問Internet,但出于安全考慮,這些臨時來訪者應當不允許訪問學校內網。 |
Option82功能介紹
DHCP option 82是為了增強DHCP服務器的安全性,改善IP地址配置策略而提出的一種DHCP選項。通過在網絡接入設備上配置DHCP中繼代理功能,中繼代理把從客戶端接收到的DHCP請求報文添加進option 82選項(其中包含了客戶端的接入物理端口和接入設備標識等信息),然后再把該報文轉發給DHCP服務器,支持option 82功能的DHCP服務器接收到報文后,根據預先配置策略和報文中option 82信息分配IP地址和其它配置信息給客戶端,同時DHCP服務器也可以依據option 82中的信息識別可能的DHCP攻擊報文并作出防范。DHCP中繼代理收到服務器應答報文后,剝離其中的option 82選項并根據選項中的物理端口信息,把應答報文轉交到網絡接入設備的指定端口。
Option 82報文結構
DHCP option 82又稱為DHCP中繼代理信息選項(Relay Agent Information Option),是DHCP報文中的一個選項,其編號為82。rfc3046定義了option 82,選項位置在option 255之前而在其它option之后。
Code:表示中繼代理信息選項的序號,rfc3046定義為82,option 82即由此得名。
Len:為代理信息域(Agent Information Field)的字節個數,不包括Code和Len字段的兩個字節。
Option 82可以由多個sub-option 組成,每個option 82選項至少要有一個子選項,rfc3046定義了以下兩個子選項,其格式如下圖所示:
SubOpt:為子選項編號,其中代理電路ID(即Circuit ID)子選項編號為1,代理遠程ID(即 Remote ID)子選項編號為2。
Len:為Sub-option Value的字節個數,不包括SubOpt和Len字段的兩個字節。
option82子選項1:option82子選項1定義了代理電路ID(即Circuit ID),它表示接收到的DHCP請求報文來自的鏈路標識,這個標識只在中繼代理節點內部有意義,在服務器端不可以解析其含義,只作為一個不具含義的標識使用。在本文實現中代理電路ID默認是指接收到DHCP請求報文的接入交換機Vlan名加接入二層端口名稱,如Vlan2+Ethernet0/0/10,也可以由用戶指定自己的代理電路ID。通常子選項1與子選項2要共同使用來標識DHCP客戶端的信息。
option82子選項2:option82子選項2定義了代理遠程ID(即 Remote ID),在我司交換機實現中,代理遠程ID是指接收到DHCP請求報文的接入交換機的vlan MAC地址。子選項2通常與子選項1共同使用來標識DHCP客戶端的信息。
DHCP請求報文:指由DHCP客戶端發起的報文,希望DHCP服務器響應后分配IP地址和其它配置信息。DHCP請求報文一般有四種,分別為DHCP_DISCOVER報文、DHCP_REQUEST報文、DHCP_RELEASE報文和DHCP_INFORM報文。中繼代理只針對DHCP請求報文添加option 82選項并轉發給服務器。本文實現的DHCP中繼對這四種請求報文都添加option 82選項。
DHCP應答報文:指由DHCP服務器響應客戶端發起的請求報文,包含配置信息或指示回應結果的DHCP響應報文,DHCP應答報文一般有DHCP_OFFER報文,DHCP_DECLINE報文,DHCP_ACK報文和DHCP_NAK報文。