DHCPv6無狀態自動分配IP地址
Server 配置:
<Huawei>system-view[Huawei]ipv6[Huawei]dhcp enable[Huawei]dhcpv6 pool pool1[Huawei-dhcpv6-pool-pool1]dns-server 2002::2[Huawei-dhcpv6-pool-pool1]dns-domain-name example.com[Huawei-dhcpv6-pool-pool1]quit[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address 2001::1/64[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt //開啟RA,通過無狀態獲取IPV6地址[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag //開啟DHChv6獲去除IPV6地址的其他信息(例如dns)[Huawei-GigabitEthernet0/0/0]dhcpv6 server pool1
Client配置:
<Huawei>system-view[Huawei]ipv6[Huawei]dhcp enable[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto global[Huawei-GigabitEthernet0/0/0]dhcpv6 client information-request[Huawei-GigabitEthernet0/0/0]quit
服務器的地址分配模式 display ipv6 interface g0/0/0
DHCPv6客戶端獲取的信息,查看display dhcpv6 client。
客戶端路由表
驗證client與Server的連通
DHCPv6無狀態地址分配的工作流程
Wireshark抓包IP地址分配過程:
1.主機發送?路由器請求報文(RS)?(目的地址FF02::2,IPv6路由器的組播地址),主動請求網絡前綴信息。
2. 路由器回應?路由器通告報文(RA)?(目的地址FF02::1,所有節點的組播地址),其中包含:
????????網絡前綴(如2001:db8::/64)
????????O標志位(Other-config-flag)設置為
????????M標志位(Managed-flag)設置為0 。
????????主機根據RA報文中的前綴,結合自身接口標識符(如EUI-64算法生成的64位后綴)自動生成全局IPv6地址(2001::2E0:FCFF:FE91:F324/64)。
主機檢測到RA報文的 ?O標志位=1? 后,自動觸發DHCPv6無狀態流程 。
3. 主機以組播方式(目的地址FF02::1:2,DHCPv6服務器/中繼的組播地址)發送 ?Information-request報文?,攜帶Option Request選項(指定所需參數,如DNS服務器地址)。客戶端已通過SLAAC獲取IPv6地址,但需要額外配置(DNS)。
4. DHCPv6服務器收到請求后,單播回復 ?Reply報文?,包含請求的網絡配置參數(如DNS服務器地址、域名、SNTP服務器地址等),但?不分配IPv6地址?。
主機驗證Reply報文參數有效性后,應用這些配置信息。
小結
ICMPv6 RA flags標志位的含義:
????????M和O都置位0(手工配置地址);
????????O置位1,表示其他參數由dhcpv6獲取(dhcpv6無狀態);
????????只要M置位1、O置位0或1,都表示所有參數由dhcpv6獲取(dhcpv6有狀態)。
---------------------------------------------------------------------------------------------------------------------------------
DHCPv6有狀態自動分配IP地址?
Server端配置:
<Huawei>sys[Huawei]ipv6[Huawei]dhcp enable[Huawei]dhcpv6 pool pool1[Huawei-dhcpv6-pool-pool1]address prefix 2001::/64[Huawei-dhcpv6-pool-pool1]excluded-address 2001::1 to 2001::100[Huawei-dhcpv6-pool-pool1]dns-server 2001::1[Huawei-dhcpv6-pool-pool1]dns-domain-name test.com[Huawei-dhcpv6-pool-pool1]quit[Huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address 2001::1/64[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig managed-address-flag[Huawei-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag[Huawei-GigabitEthernet0/0/0]dhcpv6 server pool1[Huawei-GigabitEthernet0/0/0]quit
Client端配置:
<Huawei>sys[Huawei]ipv6[Huawei]dhcp enable[Huawei]interface GigabitEthernet0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto link-local[Huawei-GigabitEthernet0/0/0]ipv6 address auto dhcp[Huawei-GigabitEthernet0/0/0]ipv6 address auto global default[Huawei-GigabitEthernet0/0/0]quit
驗證配置
服務器端查看地址池分配狀態,display dhcpv6 pool pool1
分別查看Server端的IP地址分配情況,IP地址池,和DHCPv6 Server接口綁定情況。
客戶端,驗證獲取的全局地址,display ipv6 interface brief
客戶端ping 服務器端,能夠ping通。
DHCPv6有狀態自動分配地址工作步驟
工作流程圖:
抓包工作流程:
1. RS
客戶端主動請求路由器的配置信息。
2. RA
服務器回應客戶端網絡參數和地址分配方式。
3. Solicit
DHCPv6客戶端發送Solicit報文,請求DHCPv6服務器為其分配IPv6地址和網絡配置參數。
4. Advertise
DHCPv6服務器回復Advertise報文,可以為客戶端分配的IPv6地址以及其他網絡配置參數。
5. Request?
DHCP客戶端回應服務器,請求分配IP地址和其他網絡參數(DNS等)。
6. Reply?
DHCPv6服務器回復Reply報文,確定將IPv6地址和網絡配置參數給客戶端使用。
---------------------------------------------------------------------------------------------------------------------------------
ipv6常規無狀態地址自動配置
Server配置:
<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]ipv6 #開啟路由器ipv6報文轉發功能[Huawei]inter[Huawei]interface giga[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable #開啟路由器接口IPv6報文轉發[Huawei-GigabitEthernet0/0/0]ipv6 address 2002::1/64 ?#配置接口的全球單播IPv6地址[Huawei-GigabitEthernet0/0/0]undo ipv6 nd ra halt #開啟發送RA報文,默認是關[Huawei-GigabitEthernet0/0/0][Huawei-GigabitEthernet0/0/0]quit
Client配置:
<Huawei>system-viewEnter system view, return user view with Ctrl+Z.[Huawei]ipv6[Huawei]inter[Huawei]interface giga[Huawei]interface GigabitEthernet 0/0/0[Huawei-GigabitEthernet0/0/0]ipv6 enable[Huawei-GigabitEthernet0/0/0]ipv6 address auto global # client只需要接收Server推送的前綴即可[Huawei-GigabitEthernet0/0/0]quit
驗證配置成功
Server:display ipv6 interface GigabitEthernet 0/0/0查看接口的ipv6地址的前綴。
Client:display ipv6 interface GigabitEthernet 0/0/0查看該端口是否有獲取到與服務端R1相連的端口地址前綴長度(即為2003::)
Client ping server:能夠正常ping通
路由表
抓包分析 - 工作原理
SLAAC抓包
1. 客戶端發起請求(Router Solicitation, RS)。
client(AR2-client)啟動后,主動發送Router Solicitation,請求本地路由器配置信息(如前綴)。[RS報文(Type: 133)]
2.服務器響應宣告(Router Advertisement, RA)。
[No.4報文] RA報文是對Frame 3(Router Solicitation)的響應,通過Autonomous address-configuration flag(A): Set 1標志啟用無狀態地址分配(SLAAC)。
標志位?:
M位=0:表示地址不由DHCPv6分配(純SLAAC)。
O位=0:若為1,則DNS等參數需通過DHCPv6獲取(無狀態DHCPv6結合)。
3. 客戶端生成地址并驗證。
客戶端執行重復地址檢測(DAD):客戶端發送Neighbor Solicitation(NS)報文到新地址的目標組播組,若未收到響應,則確認地址可用。
4. 地址生效與通信。
地址通過驗證后,客戶端將其配置為全局單播地址,默認路由指向路由器(源RA中的網關地址)。
5. client ping Server,驗證能夠ping通。
小結:
RS-RA-NS-NA(133-134-135-136)
- Client請求本地路由器前綴信息;
- Server響應前綴(Prefix)、M/O標志位;
- Client DAD地址沖突檢測;
- Server確認地址唯一性。