07-DHCPv6配置
本章節下載: 07-DHCPv6配置 (349.82 KB)
目 錄
2.3 配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級
3.4 配置接口動態學習DHCPv6 Snooping表項的最大數目
3.5 配置DHCPv6 Snooping支持Option 18和Option 37
DHCPv6(Dynamic Host Configuration Protocol for IPv6,支持IPv6的動態主機配置協議)是針對IPv6編址方案設計的,為主機分配IPv6前綴、IPv6地址和其他網絡配置參數的協議。
與其他IPv6地址分配方式(手工配置、通過路由器公告消息中的網絡前綴無狀態自動配置等)相比,DHCPv6具有以下優點:
· 更好地控製地址的分配。通過DHCPv6不僅可以記錄為主機分配的地址,還可以為特定主機分配特定的地址,以便於網絡管理。
· 為設備分配前綴,便於全網絡的自動配置和管理。
· 除了IPv6前綴、IPv6地址外,還可以為主機分配DNS服務器、域名等網絡配置參數。
DHCPv6服務器為客戶端分配地址/前綴的過程分為兩類:
· 交互兩個消息的快速分配過程
· 交互四個消息的分配過程
圖1-1 地址/前綴快速分配過程
如圖1-1所示,地址/前綴快速分配過程為:
(1) DHCPv6客戶端在發送的Solicit消息中攜帶Rapid Commit選項,標識客戶端希望服務器能夠快速為其分配地址/前綴和網絡配置參數;
(2) 如果DHCPv6服務器支持快速分配過程,則直接返回Reply消息,為客戶端分配IPv6地址/前綴和其他網絡配置參數。如果DHCPv6服務器不支持快速分配過程,則采用“1.2.2 交互四個消息的分配過程”為客戶端分配IPv6地址/前綴和其他網絡配置參數。
交互四個消息的分配過程如圖1-2所示。
交互四個消息分配過程的簡述如表1-1。
步驟 |
發送的消息 |
說明 |
(1) |
Solicit |
DHCPv6客戶端發送該消息,請求DHCPv6服務器為其分配IPv6地址/前綴和網絡配置參數 |
(2) |
Advertise |
如果Solicit消息中沒有攜帶Rapid Commit選項,或Solicit消息中攜帶Rapid Commit選項,但服務器不支持快速分配過程,則DHCPv6服務器回複該消息,通知客戶端可以為其分配的地址/前綴和網絡配置參數 |
(3) |
Request |
如果DHCPv6客戶端接收到多個服務器回複的Advertise消息,則根據消息接收的先後順序、服務器優先級等,選擇其中一台服務器,並向該服務器發送Request消息,請求服務器確認為其分配地址/前綴和網絡配置參數 |
(4) |
Reply |
DHCPv6服務器回複該消息,確認將地址/前綴和網絡配置參數分配給客戶端使用 |
DHCPv6服務器分配給客戶端的IPv6地址/前綴具有一定的租借期限。租借期限由有效生命期(Valid Lifetime)決定。地址/前綴的租借時間到達有效生命期後,DHCPv6客戶端不能再使用該地址/前綴。在有效生命期到達之前,如果DHCPv6客戶端希望繼續使用該地址/前綴,則需要更新地址/前綴租約。
圖1-3 通過Renew更新地址/前綴租約
如圖1-3所示,地址/前綴租借時間到達時間T1(推薦值為首選生命期Preferred Lifetime的一半)時,DHCPv6客戶端會向為它分配地址/前綴的DHCPv6服務器單播發送Renew報文,以進行地址/前綴租約的更新。如果客戶端可以繼續使用該地址/前綴,則DHCPv6服務器回應續約成功的Reply報文,通知DHCPv6客戶端已經成功更新地址/前綴租約;如果該地址/前綴不可以再分配給該客戶端,則DHCPv6服務器回應續約失敗的Reply報文,通知客戶端不能獲得新的租約。
圖1-4 通過Rebind更新地址/前綴租約
如圖1-4所示,如果在T1時發送Renew請求更新租約,但是沒有收到DHCPv6服務器的回應報文,則DHCPv6客戶端會在T2(推薦值為首選生命期的0.8倍)時,向所有DHCPv6服務器組播發送Rebind報文請求更新租約。如果客戶端可以繼續使用該地址/前綴,則DHCPv6服務器回應續約成功的Reply報文,通知DHCPv6客戶端已經成功更新地址/前綴租約;如果該地址/前綴不可以再分配給該客戶端,則DHCPv6服務器回應續約失敗的Reply報文,通知客戶端不能獲得新的租約;如果DHCPv6客戶端沒有收到服務器的應答報文,則到達有效生命期後,客戶端停止使用該地址/前綴。
有效生命期和首選生命期的詳細介紹請參見“三層技術-IP業務配置指導”中的“IPv6基礎”。
DHCPv6服務器可以為已經具有IPv6地址/前綴的客戶端分配其他網絡配置參數,該過程稱為DHCPv6無狀態配置。
DHCPv6客戶端通過地址無狀態自動配置功能成功獲取IPv6地址後,如果接收到的RA(Router Advertisement,路由器通告)報文中M標誌位(Managed address configuration flag,被管理地址配置標誌位)為0、O標誌位(Other stateful configuration flag,其他配置標誌位)為1,則DHCPv6客戶端會自動啟動DHCPv6無狀態配置功能,以獲取除地址/前綴外的其他網絡配置參數。
地址無狀態自動配置是指節點根據路由器發現/前綴發現所獲取的信息,自動配置IPv6地址。詳細介紹請參見“三層技術-IP業務配置指導”的“IPv6基礎”。
圖1-5 DHCPv6無狀態配置工作過程
如圖1-5所示,DHCPv6無狀態配置的具體過程為:
(1) 客戶端以組播的方式向DHCPv6服務器發送Information-request報文,該報文中攜帶Option Request選項,指定客戶端需要從服務器獲取的配置參數。
(2) 服務器收到Information-request報文後,為客戶端分配網絡配置參數,並單播發送Reply報文將網絡配置參數返回給客戶端。
(3) 客戶端檢查Reply報文中提供的信息,如果與Information-request報文中請求的配置參數相符,則按照Reply報文中提供的參數進行網絡配置;否則,忽略該參數。如果接收到多個Reply報文,客戶端將選擇最先收到的Reply報文,並根據該報文中提供的參數完成客戶端無狀態配置。
與DHCPv6相關的協議規範有:
· RFC 3736:Stateless Dynamic Host Configuration Protocol (DHCP) Service for IPv6
· RFC 3315:Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
· RFC 2462:IPv6 Stateless Address Autoconfiguration
· RFC 3633:IPv6 Prefix Options for Dynamic Host Configuration Protocol (DHCP) version 6
設備作為DHCPv6客戶端時,隻支持DHCPv6無狀態配置,即隻能通過DHCPv6獲取除地址/前綴外的其他網絡配置參數,不能獲取IPv6地址和前綴。
DHCPv6客戶端通過地址無狀態自動配置功能成功獲取IPv6地址後,如果接收到的RA報文中M標誌位為0、O標誌位為1,則設備會自動啟動DHCPv6無狀態配置功能,以獲取除地址/前綴外的其他網絡配置參數。
為了使客戶端能夠通過DHCPv6無狀態配置成功獲取網絡配置參數,需要確保DHCPv6服務器可用。
表2-1 配置DHCPv6客戶端
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能IPv6報文轉發功能 |
ipv6 |
必選 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能IPv6地址無狀態自動配置功能 |
ipv6 address auto |
必選 |
ipv6 address auto命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。
在IPv6報文頭中,包含一個8bit的Traffic class字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對DHCPv6客戶端發送的DHCPv6報文的DSCP優先級進行配置。
表2-2 配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級 |
ipv6 dhcp client dscp dscp-value |
可選 缺省情況下,DHCPv6客戶端發送的DHCPv6報文的DSCP優先級為56 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCPv6客戶端的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCPv6客戶端的統計信息。
表2-3 DHCPv6客戶端顯示和維護
操作 |
命令 |
顯示DHCPv6客戶端的信息 |
display ipv6 dhcp client [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6客戶端的統計信息 |
display ipv6 dhcp client statistics [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示本設備DUID |
display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ] |
清除DHCPv6客戶端的統計信息 |
reset ipv6 dhcp client statistics [ interface interface-type interface-number ] |
· Switch A通過DHCPv6無狀態配置獲取域名服務器、域名等信息;
· Switch B作為網關,周期性發布RA消息。
圖2-1 DHCPv6無狀態配置組網圖
(1) 配置網關Switch B
# 使能IPv6報文轉發功能。
<SwitchB> system-view
[SwitchB] ipv6
# 配置VLAN接口2的IPv6地址。
[SwitchB] interface vlan-interface 2
[SwitchB-Vlan-interface2] ipv6 address 1::1 64
# 配置RA消息中O標誌位為1。
[SwitchB-Vlan-interface2] ipv6 nd autoconfig other-flag
# 配置允許發送RA消息。
[SwitchB-Vlan-interface2] undo ipv6 nd ra halt
(2) 配置DHCPv6客戶端Switch A
# 使能IPv6報文轉發功能。
<SwitchA> system-view
[SwitchA] ipv6
# 在VLAN接口2上使能IPv6地址無狀態自動配置功能。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address auto
執行此命令後,如果VLAN接口2下沒有配置地址,Switch A會自動生成本地鏈路地址,並主動發送RS(Router Solicitation,路由器請求)報文,請求網關Switch B立即回應RA報文。
如果收到的RA報文中M標誌位為0、O標誌位為1,Switch A就會啟動DHCPv6客戶端無狀態配置。
# 可以通過display ipv6 dhcp client命令查看當前客戶端的配置信息,如果從服務器成功獲取了配置,將會有類似的顯示信息。
[SwitchA-Vlan-interface2] display ipv6 dhcp client interface vlan-interface 2
Vlan-interface2 is in stateless DHCPv6 client mode
State is OPEN
Preferred Server:
Reachable via address : FE80::213:7FFF:FEF6:C818
DUID : 0003000100137ff6c818
# 可以通過display ipv6 dhcp client statistics命令查看當前客戶端的統計信息。
[SwitchA-Vlan-interface2] display ipv6 dhcp client statistics
Interface : Vlan-interface2
Packets Received : 1
Reply : 1
Advertise : 0
Reconfigure : 0
Invalid : 0
Packets Sent : 5
Solicit : 0
Request : 0
Confirm : 0
Renew : 0
Rebind : 0
Information-request : 5
Release : 0
Decline : 0
· 設備隻有位於DHCPv6客戶端與DHCPv6服務器之間,或DHCPv6客戶端與DHCPv6中繼之間時,DHCPv6 Snooping功能配置後才能正常工作;設備位於DHCPv6服務器與DHCPv6中繼之間時,DHCPv6 Snooping功能配置後不能正常工作。
· DHCPv6 Snooping中對於接口的相關配置,目前隻能在二層以太網端口或二層聚合接口上進行。關於聚合接口的詳細介紹,請參見“二層技術-以太網交換配置指導”中的“以太網鏈路聚合”。
DHCPv6 Snooping是DHCPv6的一種安全特性,具有如下功能:
· 保證客戶端從合法的服務器獲取IPv6地址。
· 記錄DHCPv6客戶端IPv6地址與MAC地址的對應關係。
網絡中如果存在私自架設的偽DHCPv6服務器,則可能導致DHCPv6客戶端獲取錯誤的IPv6地址和網絡配置參數,無法正常通信。為了使DHCPv6客戶端能通過合法的DHCPv6服務器獲取IPv6地址,DHCPv6 Snooping安全機製允許將端口設置為信任端口(Trusted Port)和不信任端口(Untrusted Port):
· 信任端口正常轉發接收到的DHCPv6報文。
· 不信任端口接收到DHCPv6服務器發送的應答報文後,丟棄該報文。
連接DHCPv6服務器、DHCPv6中繼或其他DHCPv6 Snooping設備的端口需要設置為信任端口,其他端口設置為不信任端口,從而保證DHCPv6客戶端隻能從合法的DHCPv6服務器獲取地址,私自架設的偽DHCPv6服務器無法為DHCPv6客戶端分配地址。如圖3-1中,將連接DHCPv6服務器的端口設置為信任端口,其他端口設置為非信任端口。
DHCPv6 Snooping通過監聽DHCPv6報文,記錄DHCPv6 Snooping表項,其中包括客戶端的MAC地址、獲取到的IPv6地址、與DHCPv6客戶端連接的端口及該端口所屬的VLAN等信息。網絡管理員可以通過display ipv6 dhcp snooping user-binding dynamic命令查看客戶端獲取的IPv6地址信息,以便了解用戶上網時所用的IPv6地址,並對其進行管理和監控。
使能DHCPv6 Snooping功能,必須首先在係統視圖下全局使能DHCPv6 Snooping功能。全局使能DHCPv6 Snooping功能,並正確地配置信任端口和非信任端口後,可以保證客戶端從合法的服務器獲取IPv6地址。但是,此時不會記錄DHCPv6 Snooping表項。
如果需要記錄DHCPv6 Snooping表項,則需要在全局使能DHCPv6 Snooping功能的基礎上,在VLAN視圖下使能VLAN內的DHCPv6 Snooping功能。使能VLAN內的DHCPv6 Snooping功能,還可以實現DHCPv6 Snooping設備接收到該VLAN內客戶端發送的請求報文後,隻通過該VLAN內的信任端口轉發該請求報文,不會通過其他非信任端口轉發請求報文,以減輕網絡負擔。
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
全局使能DHCPv6 Snooping功能 |
ipv6 dhcp snooping enable |
必選 缺省情況下,DHCPv6 Snooping功能處於關閉狀態 |
進入VLAN視圖 |
vlan vlan-id |
- |
在VLAN內使能DHCPv6 Snooping功能 |
ipv6 dhcp snooping vlan enable |
可選 缺省情況下,VLAN內DHCPv6 Snooping功能處於關閉狀態 |
DHCPv6 Snooping將端口分為兩種:
· 信任端口:正常轉發接收到的DHCPv6報文。
· 不信任端口:接收到DHCPv6服務器發送的應答報文後,丟棄該報文。
使能VLAN內的DHCPv6 Snooping功能,DHCPv6 Snooping設備接收到該VLAN內客戶端發送的請求報文後,隻通過該VLAN內的信任端口轉發該請求報文,不會通過其他非信任端口轉發請求報文,以減輕網絡負擔。
表3-2 配置DHCPv6 Snooping信任端口
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置端口為信任端口 |
ipv6 dhcp snooping trust |
必選 缺省情況下,全局使能DHCPv6 Snooping功能後,設備的所有端口均為不信任端口 |
· 為了使DHCPv6客戶端能從合法的DHCPv6服務器獲取IPv6地址,必須將與合法DHCPv6服務器相連的端口設置為信任端口,且設置的信任端口和與DHCPv6客戶端相連的端口必須在同一個VLAN內。
· 如果二層以太網端口加入了聚合組,則加入聚合組之前和加入聚合組之後在該接口上進行的DHCPv6 Snooping相關配置不會生效;該接口退出聚合組後,DHCPv6 Snooping的配置才會生效。
通過本配置可以限製接口動態學習DHCPv6 Snooping表項的最大數目,以防止接口學習到大量DHCPv6 Snooping表項,占用過多地係統資源。
表3-3 配置接口動態學習DHCPv6 Snooping表項的最大數目
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口動態學習DHCPv6 Snooping表項的最大數目 |
ipv6 dhcp snooping max-learning-num number |
可選 缺省情況下,不限製接口動態學習DHCPv6 Snooping表項的數目 |
Option 18稱為接口ID選項(Interface ID)、Option 37稱為遠程ID選項(Remote ID),DHCPv6 Snooping設備接收到DHCPv6客戶端發送給DHCPv6服務器的請求報文後,在該報文中添加Option 18或 Option 37,並轉發給DHCPv6服務器。
圖3-2 Option 18選項格式
圖3-3 Option 37選項格式
選項格式中的Second Vlan字段為可選,如果報文中不含有Second Vlan,則Option 18或Option 37中也不包含Second Vlan內容。
表3-4 配置DHCPv6 Snooping支持Option 18和Option 37
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
全局使能DHCPv6 Snooping功能 |
ipv6 dhcp snooping enable |
必選 缺省情況下,DHCPv6 Snooping功能處於關閉狀態 |
進入VLAN視圖 |
vlan vlan-id |
- |
在VLAN內使能DHCPv6 Snooping功能 |
ipv6 dhcp snooping vlan enable |
必選 缺省情況下,VLAN內DHCPv6 Snooping功能處於關閉狀態 |
進入二層以太網端口視圖或二層聚合接口視圖 |
interface interface-type interface-number |
- |
使能DHCPv6 Snooping支持Option 18功能 |
ipv6 dhcp snooping option interface-id enable |
必選 缺省情況下,禁止DHCPv6 Snooping支持Option 18功能 |
配置Option 18選項中的DUID |
ipv6 dhcp snooping option interface-id string interface-id |
可選 缺省情況下,Option 18選項中的DUID為本設備的DUID |
使能DHCPv6 Snooping支持Option 37功能 |
ipv6 dhcp snooping option remote-id enable |
必選 缺省情況下,禁止DHCPv6 Snooping支持Option 37功能 |
配置Option 37選項中的DUID |
ipv6 dhcp snooping option remote-id string remote-id |
可選 缺省情況下,Option 37選項中的DUID為本設備的DUID |
在完成上述配置後,在任意視圖下執行display命令可以顯示DHCPv6 Snooping的配置情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCPv6 Snooping表項信息。
表3-5 DHCPv6 Snooping顯示和維護
操作 |
命令 |
顯示DHCPv6 Snooping信任端口信息 |
display ipv6 dhcp snooping trust [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6 Snooping表項信息 |
display ipv6 dhcp snooping user-binding { ipv6-address | dynamic } [ | { begin | exclude | include } regular-expression ] |
清除DHCPv6 Snooping表項 |
reset ipv6 dhcp snooping user-binding { ipv6-address | dynamic } |
Switch通過以太網端口GigabitEthernet1/0/1連接到DHCPv6服務器,通過以太網端口GigabitEthernet1/0/2、GigabitEthernet1/0/3連接到DHCPv6客戶端。GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3都屬於VLAN 2。
要求:
· 與DHCPv6服務器相連的端口可以轉發DHCPv6服務器的響應報文,而其他端口不轉發DHCPv6服務器的響應報文。
· 記錄DHCPv6客戶端IPv6地址及MAC地址的綁定關係。
圖3-4 DHCPv6 Snooping組網示意圖
# 全局使能DHCPv6 Snooping功能。
<Switch> system-view
[Switch] ipv6 dhcp snooping enable
# 將端口GigabitEthernet1/0/1、GigabitEthernet1/0/2和GigabitEthernet1/0/3加入VLAN 2。
[Switch] vlan 2
[Switch-vlan2] port GigabitEthernet 1/0/1 GigabitEthernet 1/0/2 GigabitEthernet 1/0/3
# 在VLAN 2內使能DHCPv6 Snooping功能。
[Switch-vlan2] ipv6 dhcp snooping vlan enable
[Switch] quit
# 配置GigabitEthernet1/0/1端口為信任端口。
[Switch] interface GigabitEthernet 1/0/1
[Switch-GigabitEthernet1/0/1] ipv6 dhcp snooping trust
# 驗證配置結果。
配置完成後,通過GigabitEthernet1/0/2連接DHCPv6客戶端、GigabitEthernet1/0/1連接DHCPv6服務器,則可以發現DHCPv6客戶端能夠從DHCPv6服務器獲取IPv6地址。通過display ipv6 dhcp snooping user-binding命令可以查看生成的DHCPv6 Snooping表項。如果GigabitEthernet1/0/3連接私自架設的偽DHCPv6服務器,則該服務器無法為DHCPv6客戶端分配IPv6地址。
不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!