企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

笔记09:IPv6地址配置方法三——DHCPv6有状态地址自动配置

wudianyun 2025-05-15 21:33:07 精选文章 17 ℃

DHCPv6与IPv4的DHCP一样,DHCPv6组件分为:

  • DHCPv6客户端——请求地址配置
  • DHCPv6服务器——提供地址配置
  • DHCPv6中继代理——在客户端和服务器之间中继信息

DHCPv6与IPv4中的DHCP一样,消息在传输层的封装也是使用UDP协议。客户端的侦听端口为UDP 546;服务器和中继代理的侦听端口为UDP 547

DHCPv6与IPv4的DHCP的主要不同点是:

  • DHCPv6不能分配默认网关地址,默认网关地址需要RA报文来完成。
  • DHCPv6地址分配过程

    快速分配过程,如图1

    1. DHCPv6客户端向DHCPv6服务器发送Solicit消息(源地址为本地链路地址,目的地址为DHCPv6组播地址FF02::1:2),消息中携带Rapid Commit选项,标识客户端希望服务器能够快速为其分配地址和其他网络配置参数。
    2. 如果DHCPv6服务器支持快速分配过程,则直接返回Replydanb单播消息,为客户端分配IPv6地址和其他网络配置参数;如不支持,则采用下面一般分配过程。

    普通分配过程,如图2

    1. DHCPv6客户端发送Solicit组播报文(源地址为本地链路地址,目的地址为DHCPv6组播地址FF02::1:2),寻找DHCPv6服务器。
    2. DHCPv6服务器回复Advertise单播报文——携带可以为客户主机提供的地址和其他网络参数。
    3. DHCPv6客户端发送Request组播报文,通告它选择了哪台DHCPv6服务器(根据消息接收的先后顺序、服务器优先级等选择)为其分配的IPv6地址。
    4. DHCPv6服务器回复Reply单播报文,确认将地址和网络配置参数分配给客户端使用。
    5. DHCPv6客户端在获得IPv6地址后,仍然要进行DAD,通过检测后地址才能使用。

    路由器做DHCPv6服务器分配地址配置

    下面使用H3C的模拟器进行路由器做DHCPv6服务器分配IPv6地址,地址规划示例如图3拓扑:

    • R1作为DHCPv6服务器,为网段2001::/64的客户端(如PC1)动态分配IPv6地址;
    • 2001::/64网段内的地址租约时长、有效时长为使用默认值;
    • DNS服务器地址为2001::2/64;

    一、路由器R1配置

    # 进入全局配置模式
    <H3C> system-view
    # 修改主机名
    [H3C] hostname R1
    # 手工指定接口G6/1的全球单播地址
    [R1] interface gigabitethernet 6/1
    [R1-GigabitEthernet6/1] ipv6 address 2001::1/64
    # 接口G6/1取消发布RA消息的抑制
    [R1-GigabitEthernet6/1] undo ipv6 nd ra halt
    # 接口G6/1配置被管理地址配置标志位为1,客户端可通过DHCPv6服务器获取IPv6地址
    [R1-GigabitEthernet6/1] ipv6 nd autoconfig managed-address-flag
    # 接口G6/1配置其他信息配置标志位为1,客户端可通过DHCPv6服务器获取除IPv6地址以外的其他信息
    [R1-GigabitEthernet6/1] ipv6 nd autoconfig other-flag
    # 接口G6/1工作在DHCPv6服务器模式。
    [R1-GigabitEthernet6/1] ipv6 dhcp select server
    # 手工指定接口G0/0的全球单播地址。
    [R1-GigabitEthernet6/1] interface gigabitethernet 0/0
    [R1-GigabitEthernet0/0] ipv6 address 2012::1/64
    [R1-GigabitEthernet0/0] quit
    # 配置不参与自动分配的IPv6地址/地址段——如DNS服务器的地址。
    [R1] ipv6 dhcp server forbidden-address 2001::1 2001::2
    # 配置DHCPv6地址池1,通告DNS服务器地址
    [R1] ipv6 dhcp pool 1
    [R1-dhcp6-pool-1] network 2001::/64
    [R1-dhcp6-pool-1] dns-server 2001::2
    [R1-dhcp6-pool-1] quit
    # 开启DHCPv6服务器日志信息功能。
    [R1] ipv6 dhcp log enable
    # 保存配置
    [R1] save

    注:

    • 第28行开启DHCPv6服务器日志功能(可选操作),可方便定位问题。生成的DHCPv6日志信息会交给信息中心模块处理,信息中心模块的配置将决定日志信息的发送规则和发送方向。
    • 大量DHCPv6客户端上下线时,DHCPv6服务器将输出大量日志信息,可能会降低设备性能。

    二、路由器R2配置

    # 进入全局配置模式
    <H3C> system-view
    # 修改主机名
    [H3C] hostname R2
    # 手工指定接口G6/1的全球单播地址,使能接口发布RA消息功能。
    [R2] interface gigabitethernet 6/1
    [R2-GigabitEthernet6/1] ipv6 address 2002::1/64
    [R2-GigabitEthernet6/1] undo ipv6 nd ra halt
    # 手工指定接口G0/0的全球单播地址。
    [R2-GigabitEthernet6/1] interface gigabitethernet 0/0
    [R2-GigabitEthernet0/0] ipv6 address 2012::2/64
    [R2-GigabitEthernet0/0]
    [R2-GigabitEthernet0/0] quit
    # 手工配置IPv6静态路由。
    [R2] ipv6 route-static 2001:: 64 2012::1
    # 保存配置
    [R2] save

    三、PC1配置

    # 进入全局配置模式
    <H3C> system-view
    # 修改主机名
    [H3C] hostname PC1
    # 指定接口G0/1用DHCPv6自动配置地址。
    [PC1] interface gigabitethernet 0/1
    [PC1-GigabitEthernet0/1] ipv6 address dhcp-alloc
    [PC1-GigabitEthernet0/1] quit
    # 保存配置
    [PC1] save

    注:

    携带快速分配选项的命令为:ipv6 address dhcp-alloc rapid-commit

    四、PC2配置

    # 进入全局配置模式
    <H3C> system-view
    # 修改主机名
    [H3C] hostname PC2
    # 使能指定接口G0/1的SLAAC地址自动配置。
    [PC1] interface gigabitethernet 0/1
    [PC1-GigabitEthernet0/1] ipv6 address auto
    [PC1-GigabitEthernet0/1] quit
    # 手工配置IPv6缺省路由。
    [PC2] ipv6 route-static :: 0 2002::1
    # 保存配置
    [PC2] save

    验证

    一、查看接口信息、DHCPv6状态和DNS服务器地址配置

    (一) 在PC1上查看,如下命令输出

    • 从第5~6行可以看到:IPv6地址是DHCPv6分配的。
    • 从第25行可以看到:唯一识别该DHCPv6客户端的DUID。
    • 从第27~29行可以看到:选用了哪个DHCPv6服务器。
    • 从第30~33行可以看到:分配到的地址及定时器
    • 从第35、43行可以看到:DNS服务器的地址。
    # 查看接口信息
    <PC1>display ipv6 interface GigabitEthernet 0/1
    GigabitEthernet0/1 current state: UP
    Line protocol current state: UP
    IPv6 is enabled, link-local address is FE80::5C12:B8FF:FEAA:406
       Global unicast address(es):
           2001::3, subnet is 2001::/64 [DHCP]
       Joined group address(es):
          FF02::1
          FF02::2
          FF02::1:FF00:3
          FF02::1:FFAA:406
       MTU is 1500 bytes
       ND DAD is enabled, number of DAD attempts: 1
       ND reachable time is 30000 milliseconds
       ND retransmit interval is 1000 milliseconds
       Hosts use stateless autoconfig for addresses
    IPv6 Packet statistics:
    ......
    
    # 查看DHCPv6客户端状态
    <PC1>display ipv6 dhcp client
    GigabitEthernet0/1:
       Type: Stateful client requesting address
          State: OPEN
          Client DUID: 000300015e12b8aa0400
          Preferred server:
             Reachable via address: FE80::646D:4BFF:FE28:10F
             Server DUID: 00030001666d4b280100
          IA_NA: IAID 0x00000002, T1 302400 sec, T2 483840 sec
             Address: 2001::3
                 Preferred lifetime 604800 sec, valid lifetime 2592000 sec
                 Will expire on Dec 31 2023 at 10:32:05 (2590545 seconds left)
        DNS server addresses:
          2001::2
    
    # 查看DNS服务器地址配置
    <PC1>display ipv6 dns server
    Type:
        D: Dynamic    S: Static
    
    No.    Type    IPv6 address                             Outgoing Interface
    1        D         2001::2                                      GigabitEthernet0/1
    <PC1>

    (二) 在R2上查看,如下命令输出

    可以看到地址池中已分配的IPv6地址

    <R1>display ipv6 dhcp server  ip-in-use
    Pool: 1
       IPv6 address            Hardware address     Type      Lease expiration
       2001::3                 5e12-b8aa-0406       Auto(C)   Dec 31 10:32:04 2023
    <R1>

    (三) 在PC2上查看,如下命令输出

    第6行可以看到:SLAAC方式自动配置的IPv6地址。

    <PC2>dis ipv6 interface g0/1
    GigabitEthernet0/1 current state: UP
    Line protocol current state: UP
    IPv6 is enabled, link-local address is FE80::8283:69FF:FEC0:306
       Global unicast address(es):
          2002::8283:69FF:FEC0:306, subnet is 2002::/64 [AUTOCFG]
              [valid lifetime 2591614s/preferred lifetime 604414s]
       Joined group address(es):
          FF02::1
          FF02::2
          FF02::1:FFC0:306
    

    二、使用Ping测试PC2与PC1之间的互通性

    (一) 在PC1上 ping PC2的自动配置的IPv6地址,结果如图4所示,可以ping通。

    (二) 在PC2上 ping PC1的自动配置的IPv6地址,结果如图5所示,可以ping通。

    从以上验证的结果来看,DHCPv6方式配置和SLAAC方式自动配置的IP地址都没有问题。

    Tags:

    最近发表
    标签列表