获取IPv6地址的三种方式
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确认地址唯一性。