09-DHCPv6配置
本章節下載: 09-DHCPv6配置 (488.46 KB)
目 錄
2.2.7 配置DHCPv6服務器發送的DHCPv6報文的DSCP優先級
3.3 配置DHCPv6中繼發送的DHCPv6報文的DSCP優先級
4.3 配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級
5.4 配置接口動態學習DHCPv6 Snooping表項的最大數目
5.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選項,標識客戶端希望服務器能夠快速為其分配地址/前綴和網絡配置參數;
(1) 如果DHCPv6服務器支持快速分配過程,則直接返回Reply消息,為客戶端分配IPv6地址/前綴和其他網絡配置參數。如果DHCPv6服務器不支持快速分配過程,則采用“1.2.2 交互四個消息的分配過程”為客戶端分配IPv6地址/前綴和其他網絡配置參數。
交互四個消息的分配過程如圖1-2所示。
圖1-2 交互四個消息的分配過程
交互四個消息分配過程的簡述如表1-1。
表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
圖2-1 DHCPv6服務器應用組網圖
如圖2-1所示,為了便於集中管理IPv6地址,簡化網絡配置,DHCPv6服務器可以用來為DHCPv6客戶端分配IPv6前綴。DHCPv6客戶端獲取到IPv6前綴後,向所在網絡發送包含該前綴信息的RA消息,以便網絡內的主機根據該前綴自動配置IPv6地址。
目前,設備作為DHCPv6服務器時,隻能為DHCPv6客戶端分配前綴,不能分配地址;且支持DHCPv6無狀態配置,為DHCPv6客戶端分配除IPv6地址/前綴外的其他網絡配置參數。
DHCPv6中采用組播地址FF05::1:3來表示站點本地範圍內所有的DHCPv6服務器;采用組播地址FF02::1:2來表示鏈路本地範圍內所有的DHCPv6服務器和中繼。
DUID(DHCP Unique Identifier,DHCP唯一標識符)用來標識一台DHCPv6設備(包括客戶端、服務器和中繼)。
目前,設備采用RFC 3315規定的DUID-LL(DUID Based on Link-layer Address,基於鏈路層地址的DUID)作為DHCPv6設備的標識。DUID-LL的結構如圖2-2所示:
· DUID type:DUID類型。設備支持的DUID類型為DUID-LL,取值為0x0003。
· Hardware type:硬件類型。設備支持的硬件類型為以太網,取值為0x0001。
· Link layer address:鏈路層地址。取值為設備的橋MAC地址。
IA(Identity Association,標識聯盟)用於管理分配給客戶端的一組地址和前綴等信息,通過IAID標識。一個客戶端可以有多個IA,如客戶端的每個接口擁有一個IA,用來管理該接口獲取的地址和前綴等信息。
IAID是IA的標識符,由客戶端選擇。在一個客戶端上不同IA的IAID不能相同。
PD(Prefix Delegation,前綴授權)是DHCPv6服務器為分配的前綴創建的租約,前綴租約中記錄了IPv6前綴、客戶端DUID、IAID、有效時間、首選時間、租約過期時間、申請前綴的客戶端的IPv6地址等信息。
DHCPv6服務器從接口接收到客戶端的請求後,從該接口應用的地址池中選擇前綴和其他網絡配置參數,分配給客戶端。地址池既可以包含靜態綁定前綴,用於為特定客戶端分配固定前綴;也可以引用包含一定前綴範圍的前綴池,用於動態選擇可用前綴分配給客戶端。
DHCPv6服務器按照如下順序從地址池中為客戶端選擇匹配的前綴:
(1) DUID、IAID與客戶端DUID、IAID匹配,且與客戶端期望前綴匹配的靜態綁定前綴;
(2) DUID、IAID與客戶端DUID、IAID匹配的靜態綁定前綴;
(3) DUID與客戶端的DUID匹配,且與客戶端期望前綴匹配的靜態綁定前綴,該前綴中未指定客戶端的IAID;
(4) DUID與客戶端DUID匹配的靜態綁定前綴,該前綴中未指定客戶端的IAID;
(5) 前綴池中與客戶端期望前綴匹配的空閑前綴;
(6) 前綴池中的其他空閑前綴。
表2-1 DHCPv6服務器配置任務簡介
配置任務 |
說明 |
詳細配置 |
使能DHCPv6服務器功能 |
必選 |
|
創建前綴池 |
必選 |
|
配置DHCPv6地址池 |
必選 |
|
配置接口引用地址池 |
必選 |
|
配置DHCPv6服務器發送的DHCPv6報文的DSCP優先級 |
可選 |
配置DHCPv6服務器功能之前,需要先執行ipv6命令使能IPv6報文收發功能。ipv6命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。
表2-2 使能DHCPv6服務器功能
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能DHCPv6服務器功能 |
ipv6 dhcp server enable |
必選 缺省情況下,DHCPv6服務器功能處於關閉狀態 |
前綴池用來定義一個前綴範圍。
表2-3 創建前綴池
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建前綴池 |
ipv6 dhcp prefix-pool prefix-pool-number prefix prefix/prefix-len assign-len assign-len |
必選 缺省情況下,設備上不存在任何前綴池 |
DHCPv6地址池中包括了供分配的前綴和網絡配置參數等信息,如DNS服務器地址、域名、SIP服務器地址、SIP服務器域名和AFTR(Address Family Transition Router,地址族轉換路由器)地址。DHCPv6服務器從地址池中選擇前綴和其他網絡配置參數,分配給客戶端。
表2-4 配置DHCPv6地址池
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
創建DHCPv6地址池,並進入DHCPv6地址池視圖 |
ipv6 dhcp pool pool-number |
必選 缺省情況下,設備上不存在任何DHCPv6地址池 |
配置靜態綁定前綴 |
static-bind prefix prefix/prefix-len duid duid [ iaid iaid ] [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
二者至少選擇其一 缺省情況下,沒有指定地址池分配的前綴 |
配置地址池引用前綴池 |
prefix-pool prefix-pool-number [ preferred-lifetime preferred-lifetime valid-lifetime valid-lifetime ] |
|
配置為客戶端分配的DNS服務器地址 |
dns-server ipv6-address |
可選 缺省情況下,沒有指定為客戶端分配的DNS服務器地址 |
配置為客戶端分配的域名 |
domain-name domain-name |
可選 缺省情況下,沒有指定為客戶端分配的域名 |
配置為客戶端分配的SIP服務器地址或域名 |
sip-server { address ipv6-address | domain-name domain-name } |
可選 缺省情況下,沒有指定為客戶端分配的SIP服務器地址或域名 |
配置為客戶端分配的AFTR地址 |
ds-lite address ipv6-address |
可選 缺省情況下,沒有指定為客戶端分配的AFTR地址 |
· 一個地址池最多可以引用一個前綴池。
· 地址池可以引用並不存在的前綴池,但是,此時設備無法從該地址池中動態選擇前綴分配給客戶端。隻有創建該前綴池後,才能支持前綴的動態選擇。
· 不允許通過重複執行prefix-pool命令的方式修改地址池引用的前綴池、前綴的首選生命期和有效生命期。隻有取消當前地址池引用的前綴池後,才能引用其他的前綴池,或修改首選生命期和有效生命期。
· 一個地址池下最多可以配置8個DNS服務器地址、1個域名、8個SIP服務器地址和8個SIP服務器域名。
在接口上引用地址池後,該接口將具有DHCPv6服務器功能,即從該接口接收到客戶端的請求後,設備將從該接口應用的地址池中選擇前綴和其他網絡配置參數,分配給客戶端。
表2-5 配置接口引用地址池
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口引用DHCPv6地址池 |
ipv6 dhcp server apply pool pool-number [ allow-hint | preference preference-value | rapid-commit ] * |
必選 缺省情況下,接口沒有引用DHCPv6地址池 |
· 一個接口不能同時作為DHCPv6服務器和DHCPv6中繼。
· 建議不要在一個接口上同時配置DHCPv6服務器和DHCPv6客戶端功能。
· 一個接口上最多隻能引用一個地址池。
· 接口可以引用並不存在的地址池,但是,此時該接口無法為客戶端分配前綴等信息。隻有創建該地址池後,才能為客戶端分配前綴等信息。
· 不允許通過重複執行ipv6 dhcp server apply pool命令的方式修改接口引用的地址池和服務器優先級等參數。隻有取消當前接口引用的地址池後,才能引用其他的地址池,或修改服務器優先級等參數。
在IPv6報文頭中,包含一個8bit的Traffic class字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對DHCPv6服務器發送的DHCPv6報文的DSCP優先級進行配置。
表2-6 配置DHCPv6服務器發送的DHCPv6報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置DHCPv6服務器發送的DHCPv6報文的DSCP優先級 |
ipv6 dhcp dscp dscp-value |
可選 缺省情況下,DHCPv6服務器發送的DHCPv6報文的DSCP優先級為56 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCPv6服務器的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCPv6服務器的統計信息。
表2-7 DHCPv6服務器顯示和維護
操作 |
命令 |
顯示本設備DUID |
display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6地址池的信息 |
display ipv6 dhcp pool [ pool-number ] [ | { begin | exclude | include } regular-expression ] |
顯示前綴池的信息 |
display ipv6 dhcp prefix-pool [ prefix-pool-number ] [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6服務器的配置信息 |
display ipv6 dhcp server [ interface interface-type interface-number ] [ | { begin | exclude | include } regular-expression ] |
顯示前綴租約信息 |
display ipv6 dhcp server pd-in-use { all | pool pool-number | prefix prefix/prefix-len | prefix-pool prefix-pool-number } [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6服務器的報文統計信息 |
display ipv6 dhcp server statistics [ | { begin | exclude | include } regular-expression ] |
清除DHCPv6服務器的前綴租約信息 |
reset ipv6 dhcp server pd-in-use { all | pool pool-number | prefix prefix/prefix-len } |
清除DHCPv6服務器的報文統計信息 |
reset ipv6 dhcp server statistics |
DHCPv6客戶端從DHCPv6服務器獲取IPv6地址前綴,以及網絡配置參數:DNS服務器地址、域名、SIP服務器地址和SIP服務器域名。其中:
· Switch作為DHCPv6服務器,地址為1::1/64。
· DHCPv6服務器為DUID為00030001CA0006A40000的客戶端固定分配前綴2001:0410:0201::/48;為其他客戶端分配2001:0410::/48~2001:0410:FFFF::/48之間除2001:0410:0201::/48外的前綴。
· DNS服務器地址為2:2::3。
· DHCPv6客戶端所屬域的域名為aaa.com。
· SIP服務器地址為2:2::4,域名為bbb.com。
在DHCPv6服務器上需要進行如下配置:
· 使能IPv6報文轉發功能和DHCPv6服務器功能。
· 創建前綴池。為了滿足為客戶端分配2001:0410::/48~2001:0410:FFFF::/48範圍的前綴這一需求,需要配置前綴池包含的前綴為2001:0410::/32,分配的前綴長度為48。
· 創建地址池。在地址池配置靜態綁定前綴,引用前綴池,並配置DNS服務器地址等參數。
· 在連接DHCPv6客戶端的接口上引用地址池。
圖2-3 DHCPv6服務器配置組網圖
(1) 配置DHCPv6服務器
# 使能IPv6報文轉發功能及DHCPv6服務器功能。
<Switch> system-view
[Switch] ipv6
[Switch] ipv6 dhcp server enable
# 配置VLAN接口2的IPv6地址。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 address 1::1/64
# 取消對RA消息發布的抑製。
[Switch-Vlan-interface2] undo ipv6 nd ra halt
# 設置被管理地址配置標誌位為1。
[Switch-Vlan-interface2] ipv6 nd autoconfig managed-address-flag
# 配置其他信息配置標誌位為1。
[Switch-Vlan-interface2] ipv6 nd autoconfig other-flag
[Switch-Vlan-interface2] quit
# 配置前綴池1,包含的前綴為2001:0410::/32,分配的前綴長度為48。
[Switch] ipv6 dhcp prefix-pool 1 prefix 2001:0410::/32 assign-len 48
# 創建地址池1。
[Switch] ipv6 dhcp pool 1
# 配置地址池1引用已存在的前綴池1,並設置首選生命期為1天,有效生命期為3天。
[Switch-ipv6-dhcp-pool-1] prefix-pool 1 preferred-lifetime 86400 valid-lifetime 259200
# 在地址池1中配置靜態綁定前綴:綁定的前綴為2001:0410:0201::/48,綁定的客戶端DUID為00030001CA0006A40000,並設置首選生命期為1天,有效生命期為3天。
[Switch-ipv6-dhcp-pool-1] static-bind prefix 2001:0410:0201::/48 duid 00030001CA0006A40000 preferred-lifetime 86400 valid-lifetime 259200
# 配置為客戶端分配的DNS服務器地址為2:2::3。
[Switch-ipv6-dhcp-pool-1] dns-server 2:2::3
# 配置為客戶端分配的域名為aaa.com。
[Switch-ipv6-dhcp-pool-1] domain-name aaa.com
# 配置為客戶端分配的SIP服務器地址為2:2::4,域名為bbb.com。
[Switch-ipv6-dhcp-pool-1] sip-server address 2:2::4
[Switch-ipv6-dhcp-pool-1] sip-server domain-name bbb.com
[Switch-ipv6-dhcp-pool-1] quit
# 在VLAN接口2上引用已存在的地址池1,使能期望前綴分配和前綴快速分配功能,並將優先級設置為最高。
[Switch] interface vlan-interface 2
[Switch-Vlan-interface2] ipv6 dhcp server apply pool 1 allow-hint preference 255 rapid-commit
(2) 驗證配置結果
# 完成上述配置後,查看VLAN接口2上的DHCPv6服務器配置信息。
[Switch-Vlan-interface2] display ipv6 dhcp server interface vlan-interface 2
Using pool: 1
Preference value: 255
Allow-hint: Enabled
Rapid-commit: Enabled
# 顯示地址池1的信息。
[Switch-Vlan-interface2] display ipv6 dhcp pool 1
DHCPv6 pool: 1
Static bindings:
DUID: 00030001CA0006A40000
IAID: A1A1A1A1
Prefix: 2001:410:201::/48
preferred lifetime 86400, valid lifetime 2592000
Prefix pool: 1
preferred lifetime 86400, valid lifetime 2592000
DNS server address:
2:2::3
Domain name: aaa.com
SIP server address:
2:2::4
SIP server domain name:
bbb.com
# 顯示前綴池1的信息。
[Switch-Vlan-interface2] display ipv6 dhcp prefix-pool 1
Prefix: 2001:410::/32
Assigned length: 48
Total prefix number: 65536
Available: 65535
In-use: 0
Static: 1
# DUID為00030001CA0006A40000的客戶端獲取IPv6前綴後,顯示前綴租約信息。
[Switch-Vlan-interface2] display ipv6 dhcp server pd-in-use all
Total number = 1
Prefix Type Pool Lease-expiration
2001:410:201::/48 Static(C) 1 Jul 10 2009 19:45:01
# 其他客戶端獲取IPv6前綴後,顯示前綴租約信息。
[Switch-Vlan-interface2] display ipv6 dhcp server pd-in-use all
Total number = 2
Prefix Type Pool Lease-expiration
2001:410:201::/48 Static(C) 1 Jul 10 2009 19:45:01
2001:410::/48 Auto(C) 1 Jul 10 2009 20:44:05
圖3-1 DHCPv6中繼應用組網圖
DHCPv6客戶端通常通過鏈路本地範圍的組播地址與DHCPv6服務器通信,以獲取IPv6地址和其他網絡配置參數。如圖3-1所示,服務器和客戶端不在同一個鏈路範圍內時,服務器和客戶端無法直接通信,需要通過DHCPv6中繼來轉發報文。部署DHCPv6中繼可以避免在每個鏈路範圍內都部署DHCPv6服務器,既節省了成本,又便於進行集中管理。
圖3-2 DHCPv6中繼的工作過程
如圖3-2所示,以交互兩個消息的快速分配過程為例,DHCPv6客戶端通過DHCPv6中繼,從DHCPv6服務器獲取IPv6地址和其他網絡配置參數的過程為:
(1) DHCPv6客戶端向所有DHCPv6服務器和中繼的組播地址FF02::1:2發送攜帶Rapid Commit選項的Solicit消息;
(2) DHCPv6中繼接收到Solicit消息後,將其封裝在Relay-forward報文的中繼消息選項(Relay Message Option)中,並將Relay-forward報文發送給DHCPv6服務器;
(3) DHCPv6服務器從Relay-forward報文中解析出客戶端的Solicit消息,為客戶端選取IPv6地址和其他參數,構造Reply消息,將Reply消息封裝在Relay-reply報文的中繼消息選項中,並將Relay-reply報文發送給DHCPv6中繼;
(4) DHCPv6中繼從Relay-reply報文中解析出服務器的Reply消息,轉發給DHCPv6客戶端,以便DHCPv6客戶端根據DHCPv6服務器分配的IPv6地址和其他參數進行網絡配置。
工作在DHCPv6中繼模式的接口接收到DHCPv6客戶端發來的報文後,將其封裝在Relay-forward報文中,並發送給指定的DHCPv6服務器,由DHCPv6服務器為客戶端分配IPv6地址和其他網絡配置參數。
配置DHCPv6中繼之前,需要通過係統視圖下的ipv6命令使能IPv6報文的轉發功能。
表3-1 配置DHCPv6中繼
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
進入接口視圖 |
interface interface-type interface-number |
- |
配置接口工作在DHCPv6中繼模式,並指定DHCPv6服務器的地址 |
ipv6 dhcp relay server-address ipv6-address [ interface interface-type interface-number ] |
必選 缺省情況下,接口未工作在DHCPv6中繼模式,也未指定任何DHCPv6服務器 |
· 通過多次執行ipv6 dhcp relay server-address命令可以指定多個DHCPv6服務器,一個接口下最多可以指定8個DHCPv6服務器。DHCPv6中繼接收到DHCPv6客戶端報文後,將其轉發給所有的DHCPv6服務器。
· 如果指定的DHCPv6服務器地址為鏈路本地地址或鏈路範圍的組播地址,則必須通過ipv6 dhcp relay server-address命令的interface參數指定出接口,否則報文可能會無法到達服務器。
· 通過undo ipv6 dhcp relay server-address命令刪除接口上指定的全部DHCPv6服務器後,該接口不再工作在DHCPv6中繼模式。
· 一個接口不能同時作為DHCPv6中繼和DHCPv6服務器。
· 建議不要在一個接口上同時配置DHCPv6中繼和DHCPv6客戶端功能。
在IPv6報文頭中,包含一個8bit的Traffic class字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對DHCPv6中繼發送的DHCPv6報文的DSCP優先級進行配置。
表3-2 配置DHCPv6中繼發送的DHCPv6報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置DHCPv6中繼發送的DHCPv6報文的DSCP優先級 |
ipv6 dhcp dscp dscp-value |
可選 缺省情況下,DHCPv6中繼發送的DHCPv6報文的DSCP優先級為56 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCPv6中繼的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCPv6中繼的統計信息。
表3-3 DHCPv6中繼顯示和維護
操作 |
命令 |
顯示本設備DUID |
display ipv6 dhcp duid [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6中繼指定的DHCPv6服務器地址信息 |
display ipv6 dhcp relay server-address { all | interface interface-type interface-number } [ | { begin | exclude | include } regular-expression ] |
顯示DHCPv6中繼的報文統計信息 |
display ipv6 dhcp relay statistics [ | { begin | exclude | include } regular-expression ] |
清除DHCPv6中繼的報文統計信息 |
reset ipv6 dhcp relay statistics |
· DHCPv6客戶端所在網絡地址為1::/64,DHCPv6服務器的地址為2::2/64。客戶端和服務器不在同一個鏈路,需要通過DHCPv6中繼轉發報文。
· Switch A作為DHCPv6中繼,為客戶端和服務器轉發報文。
· Switch A同時作為1::/64網絡的網關設備,通過RA消息中的M標誌位和O標誌位指定該網絡中的主機通過DHCPv6獲取IPv6地址和其他網絡配置參數。
圖3-3 DHCPv6中繼組網圖
(1) 配置Switch A作為DHCPv6中繼
# 使能IPv6報文轉發功能。
<SwitchA> system-view
[SwitchA] ipv6
# 配置VLAN接口2和VLAN接口3的IPv6地址。
[SwitchA] interface vlan-interface 2
[SwitchA-Vlan-interface2] ipv6 address 2::1 64
[SwitchA-Vlan-interface2] quit
[SwitchA] interface vlan-interface 3
[SwitchA-Vlan-interface3] ipv6 address 1::1 64
# 配置VLAN接口3工作在DHCPv6中繼模式,並指定DHCPv6服務器地址。
[SwitchA-Vlan-interface3] ipv6 dhcp relay server-address 2::2
(2) 配置Switch A作為網關
# 配置發布RA消息,並配置M和O標誌位。
[SwitchA-Vlan-interface3] undo ipv6 nd ra halt
[SwitchA-Vlan-interface3] ipv6 nd autoconfig managed-address-flag
[SwitchA-Vlan-interface3] ipv6 nd autoconfig other-flag
(3) 驗證配置結果
# 完成上述配置後,查看DHCPv6中繼指定的DHCPv6服務器的地址信息。
[SwitchA-Vlan-interface3] display ipv6 dhcp relay server-address all
Interface: Vlan3
Server address(es) Output Interface
2::2
# 查看DHCPv6中繼轉發報文的統計信息。
[SwitchA-Vlan-interface3] display ipv6 dhcp relay statistics
Packets dropped : 0
Error : 0
Excess of rate limit : 0
Packets received : 14
SOLICIT : 0
REQUEST : 0
CONFIRM : 0
RENEW : 0
REBIND : 0
RELEASE : 0
DECLINE : 0
INFORMATION-REQUEST : 7
RELAY-FORWARD : 0
RELAY-REPLY : 7
Packets sent : 14
ADVERTISE : 0
RECONFIGURE : 0
REPLY : 7
RELAY-FORWARD : 7
RELAY-REPLY : 0
設備作為DHCPv6客戶端時,隻支持DHCPv6無狀態配置,即隻能通過DHCPv6獲取除地址/前綴外的其他網絡配置參數,不能獲取IPv6地址和前綴。
DHCPv6客戶端通過地址無狀態自動配置功能成功獲取IPv6地址後,如果接收到的RA報文中M標誌位為0、O標誌位為1,則設備會自動啟動DHCPv6無狀態配置功能,以獲取除地址/前綴外的其他網絡配置參數。
為了使客戶端能夠通過DHCPv6無狀態配置成功獲取網絡配置參數,需要確保DHCPv6服務器可用。
表4-1 配置DHCPv6客戶端
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
使能IPv6報文轉發功能 |
ipv6 |
必選 |
進入接口視圖 |
interface interface-type interface-number |
- |
使能IPv6地址無狀態自動配置功能 |
ipv6 address auto |
必選 |
· ipv6 address auto命令的詳細介紹請參見“三層技術-IP業務命令參考”中的“IPv6基礎”。
· 建議不要在一個接口上同時配置DHCPv6客戶端和DHCPv6服務器功能,也不要在一個接口上同時配置DHCPv6客戶端和DHCPv6中繼功能。
在IPv6報文頭中,包含一個8bit的Traffic class字段,用於標識IP報文的服務類型。RFC 2474對這8個bit進行了定義,將前6個bit定義為DSCP優先級,最後2個bit作為保留位。在報文傳輸的過程中,DSCP優先級可以被網絡設備識別,並作為報文傳輸優先程度的參考。
用戶可以對DHCPv6客戶端發送的DHCPv6報文的DSCP優先級進行配置。
表4-2 配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級
操作 |
命令 |
說明 |
進入係統視圖 |
system-view |
- |
配置DHCPv6客戶端發送的DHCPv6報文的DSCP優先級 |
ipv6 dhcp client dscp dscp-value |
可選 缺省情況下,DHCPv6客戶端發送的DHCPv6報文的DSCP優先級為56 |
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後DHCPv6客戶端的運行情況,通過查看顯示信息驗證配置的效果。
在用戶視圖下執行reset命令可以清除DHCPv6客戶端的統計信息。
表4-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消息。
圖4-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
DNS servers : 1:2:3::5
1:2:4::7
Domain names : abc.com
Sysname.com
# 可以通過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服務器發送的應答報文後,丟棄該報文。
圖5-1 信任端口和非信任端口
連接DHCPv6服務器、DHCPv6中繼或其他DHCPv6 Snooping設備的端口需要設置為信任端口,其他端口設置為不信任端口,從而保證DHCPv6客戶端隻能從合法的DHCPv6服務器獲取地址,私自架設的偽DHCPv6服務器無法為DHCPv6客戶端分配地址。如圖5-1中,將連接DHCPv6服務器的端口設置為信任端口,其他端口設置為非信任端口。
DHCPv6 Snooping通過監聽DHCPv6報文,記錄DHCPv6 Snooping表項,其中包括客戶端的MAC地址、獲取到的IPv6地址、與DHCPv6客戶端連接的端口及該端口所屬的VLAN等信息。網絡管理員可以通過display ipv6 dhcp snooping user-binding命令查看客戶端獲取的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內的信任端口轉發該請求報文,不會通過其他非信任端口轉發請求報文,以減輕網絡負擔。
表5-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表項,占用過多地係統資源。
表5-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服務器。
圖5-2 Option 18選項格式
圖5-3 Option 37選項格式
選項格式中的Second Vlan字段為可選,如果報文中不含有Second Vlan,則Option 18或Option 37中也不包含Second Vlan內容。
表5-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表項信息。
表5-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地址的綁定關係。
# 全局使能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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!