IP v6地址配置和静态路由

似梦清欢
• 阅读 558

IP v6地址配置

DHCPv6(有状态地址自动配置)

DHCPv6分为三种:

  1. DHCPv6有状态自动配置:DHCPv6服务器自动配置IP v6地址/前缀及其他网络配置参数(DNS、NIS、SNTP服务器地址等参数)。
  2. DHCPv6无状态自动配置:主机IP v6地址(前缀)仍然通过路由通告(SLAAC)方式(发送RA报文)自动生成,DHCPv6服务器只分配除IP v6地址以外的配置参数,包括DNS服务器等。
  3. DHCPv6 PD(前缀代理)自动配置:PC通过DHCPv6客户端获取路由前缀。 ::: warning IP v6地址配置和静态路由

M=1,0=1:表示用DHCPv6执行地址和其他参数的配置,即有状态地址配置。 M=0,0=1:表示主机通告RA获取前缀信息,其余部分使用SLAAC无状态地址自动配置,DHCPv6仅用于配置其他主机参数(DNS等)。 M=1,0=0:表示DHCPv6仅用于地址配置,不用于配置其他参数。 M=0,0=0:对应无DHCPv6设备的网络,主机通告RA获取前缀信息,其余部分使用SLAAC无状态地址自动配置,并且用其他方法(手动配置)配置其他参数。 (M位置1后,忽略O-bit)

M位默认为0(无状态地址自动配置),M-bit手动置1:
[AR-GigabitEthernet0/0/0]ipv6 nd autoconfig managed-address-flag    
O位默认为0(无状态地址自动配置),O-bit手动置1:
[AR-GigabitEthernet0/0/0]ipv6 nd autoconfig other-flag 

::: DHCPv6有状态地址自动配置和SLAAC无状态地址自动配置可以同时使用,通过M、O位的置位来控制哪些参数使用DHCPv6获取,哪些参数使用SLAAC配置。


DHCPv6无状态地址自动分配

IP v6地址配置和静态路由 IP v6地址配置和静态路由

上图红框内A-bit用于指示终端设备是否能使用该前缀进行无状态地址自动配置:
    A-bit被设置为0时,此时终端不能使用该前缀进行无状态地址自动配置。
    A-bit被设置为1时,终端可以使用该前缀进行无状态自动配置。

::: tip A-bit默认置1,即默认情况下所有前缀都可以被用作无状态地址自动配置。 :::

上述拓扑中,要求只使用2011:: /64的路由前缀:
[AR1-GigabitEthernet0/0/0]ipv6 nd ra prefix 2011:: 64 10000 5000 ?
  no-autoconfig  Specify A-Flag On
  off-link       Specify O-Flag On
  <cr>           Please press ENTER to execute command     
[AR1-GigabitEthernet0/0/0]ipv6 nd ra prefix 2011:: 64 10000 5000 no-autoconfig  

通告时会将所有的路由前缀都给终端做无状态地址自动配置,但由于路由前缀2011:: 64的A-bit置为0,终端(AR2)收到后不会使用2011:: 64的路由前缀做无状态地址分配

IP v6地址配置和静态路由

常用概念: IP v6地址配置和静态路由


DHCPv6有状态地址自动分配

IP v6地址配置和静态路由

[AR1]dhcp enable     全局使能DHCP功能
[AR1]dhcpv6 pool 1
[AR1-dhcpv6-pool-1]address prefix FC00:12::/64     地址池内做分配地址的前缀
[AR1-dhcpv6-pool-1]excluded-address FC00:12::1     排除接口地址
[AR1-dhcpv6-pool-1]dns-server 2088::8
[AR1-GigabitEthernet0/0/0]dhcpv6 server 1     接口上使能DHCPv6地址池1

[AR2-GigabitEthernet0/0/0]ipv6 address fe80::2 link-local 
[AR2-GigabitEthernet0/0/0]ipv6 address auto ?
  dhcp        Address assigned via DHCPv6
  global      Use global address
  link-local  Use link-local address
[AR2-GigabitEthernet0/0/0]ipv6 address auto dhcp

::: warning

[AR2-GigabitEthernet0/0/0]ipv6 address auto dhcp
Error: IPv6 link-local address does not exist on the interface.

如上提示,当接口没有IP v6地址时,链路本地地址不存在(不生效),需要手工配置一个链路本地地址才可以使用DHCP分配。 ::: IP v6地址配置和静态路由 IP v6地址配置和静态路由 如上,AR2的G0/0/0接口获得了FC00:12::2的IP v6地址,由于FC00:12::1是AR1的G0/0/0接口地址被排除出地址池,即IP v6的DHCP地址池会按照从小到大的方式进行分配,与IP v4从大到小的分配正好相反。

::: warning IP v6地址接口配置时,可以使用FC00:: 64的方式写IP v6地址前缀。 在DHCPv6地址池中配置IP v6前缀时,必须写成FC00::/64的形式,不能出现空格。 :::

::: tip 上述配置可以修改为无状态地址自动分配(SLAAC)获取IP v6地址:

[AR2-GigabitEthernet0/0/0]undo ipv6 address auto dhcp

IP v6地址配置和静态路由 如上,IP v6地址只有链路本地地址。

[AR2-GigabitEthernet0/0/0]ipv6 address auto global    使用全球单播地址(SLAAC获取)

IP v6地址配置和静态路由 如上,IP v6地址FC00:12::2E0:FCFF:FE32:6196就是AR1下发的前缀 + EUI-64接口标识生成的。 IP v6地址配置和静态路由 EUI-64将MAC地址第24位bit中间插入FFFE,再对从左数起的第7位(原MAC地址第7bit位),也就是U/L位取反,组成IPv6后64bit接口标识。 即02e0-fcFF-FE32-6196,加上RA报文发来的前缀FC00:12::,组成IP v6地址FC00:12::2E0:FCFF:FE32:6196。 :::


DHCPv6四步交互

DHCPv6四步交互地址分配过程: IP v6地址配置和静态路由 Solicit类似于Discover报文: IP v6地址配置和静态路由 Advertise报文: IP v6地址配置和静态路由 Request报文: IP v6地址配置和静态路由 Reply报文: IP v6地址配置和静态路由

::: tip DHCPv6服务器分配的IPv6地址/前缀具有有效时间。 T1时间默认为Preferred Lifetime(有效时间)的0.5倍,给下发IP的DHCPv6服务器单播发送Renew报文进行地址/前缀租约更新请求。 T2时间默认为Preferred Lifetime(有效时间)的0.8倍,向链路中所有DHCPv6服务器组播发送Rebind报文请求更新租约。

:::

DHCPv6两步交互

IP v6地址配置和静态路由 DHCPv6客户端发送Solicit的报文中需要携带Rapid Commit快速提交选项。

[AR1-GigabitEthernet0/0/1]dhcpv6 server huawei rapid-commit     huawei为IP v6地址池

DHCPv6报文从客户端组播发送到中继设备后通过中继转发报文单播发送给DHCPv6服务器。 ::: warning 中继设备配置时需要开始RA,RA报文中必须加上M位、O位置位的命令,否则客户端获取到的地址就是中继路由器下发的RA+本地EUI64的IP(无状态地址自动配置),就不是DHCPv6服务器下发的IP了。 客户端收到M位、O位置位的报文,表示IP需要通过DHCPv6获取,从而接收中继设备转发来的DHCPv6报文获取地址。 ::: 地址释放报文: IP v6地址配置和静态路由 目的地址是所有的路由器。


DHCPv6中继

[AR2-GigabitEthernet0/0/0]dhcpv6 relay ?
  destination  DHCPv6 server's IPv6 address

DHCPv6的中继和DHCPv4类似。


DHCPv6 PD前缀代理自动配置

::: tip DHCPv6 PD一般用于网络中存在路由器(如本例中的DHCPv6客户端)需要继续为下连的IP v6主机分配前缀的场景,实现主机的地址自动配置,从而完成整个IPv6网络的层次化布局。 ::: IP v6地址配置和静态路由 如上,即DHCPv6客户端作为前缀代理,将从DHCPv6服务器获取到的前缀向下下发给主机。

prefix-delegation 3000::/56 64
接口地址池中配置前缀列表时,/56表示地址池配置时前缀长度为56,向下分配时使用64位长度。

DHCPv6报文: IP v6地址配置和静态路由

IP v6地址配置和静态路由

[AR3]ipv6 
[AR3]dhcp enable
[AR3-dhcpv6-pool-45]prefix-delegation 2045::/64 ?    2045::/64是前缀
  INTEGER<16-128>  Assign prefix length              需要再单独写指定的前缀长度
[AR3-dhcpv6-pool-45]prefix-delegation 2045::/64 64    
[AR3-GigabitEthernet0/0/0]ipv6 enable 
[AR3-GigabitEthernet0/0/0]ipv6 address 2034::3 64
[AR3-GigabitEthernet0/0/0]dhcpv6 server 45 
[AR3-GigabitEthernet0/0/0]undo ipv6 nd ra halt
[AR3-GigabitEthernet0/0/0]ipv6 nd ra max-interval 10

[AR4]ipv6 
[AR4]dhcp enable
[AR4-GigabitEthernet0/0/0]ipv6 enable
[AR4-GigabitEthernet0/0/0]ipv6 address auto link-local 
[AR4-GigabitEthernet0/0/0]dhcpv6 client pd 45      AR4针对于服务器做代理(pd值为DHCP地址池名)
[AR4-GigabitEthernet0/0/1]ipv6 enable     
[AR4-GigabitEthernet0/0/1]ipv6 address ?
  STRING<1-63>            DHCPv6 PD prefix
  x:x::x:x/m<X:X::X:X/M>  IPv6 prefix / IPv6 prefix length <1-128>
  x:x::x:x<X:X::X:X>      IPv6 address
  auto                    <Group> auto command group
[AR4-GigabitEthernet0/0/1]ipv6 address 45 ::4/64     使用DHCPv6地址池45提供的前缀,手工配置::4的地址(即2045::4/64)
[AR4-GigabitEthernet0/0/1]undo ipv6 nd ra halt     开启IP v6 RA报文通告能力[AR4-GigabitEthernet0/0/1]ipv6 nd ra max-interval 10    最大通告时间10s
[AR4-GigabitEthernet0/0/1]ipv6 address auto link-local     需要自动生成链路本地地址,否则无法使用DHCP功能

[AR5]ipv6
[AR5-GigabitEthernet0/0/0]ipv6 enable 
[AR5-GigabitEthernet0/0/0]ipv6 address auto link-local     自动生成链路本地地址
[AR5-GigabitEthernet0/0/0]ipv6 address auto global     RA报文携带前缀 + EUI64
(使用DHCP时无法获取IP v6地址,global也可以获取到AR3地址池中的前缀2045:: /64)

::: tip 针对于服务器做代理即将服务器发来的DHCPv6报文代理成如RA报文。

[AR4-GigabitEthernet0/0/0]dhcpv6 client pd 45

如上命令在其他所有配置(尤其是User设备AR5)完成后,需要undo后重新配置。 ::: IP v6地址配置和静态路由

IP v6地址配置和静态路由


IP v6路由

IP v6静态路由

IP v6地址配置和静态路由

[AR1]ipv6
[AR1-LoopBack0]ipv6 enable 
[AR1-LoopBack0]ipv6 address 2011::1 64
[AR1-GigabitEthernet0/0/0]ipv6 enable 
[AR1-GigabitEthernet0/0/0]ipv6 address fe80:12::1 link-local 

[AR2]ipv6     
[AR2-GigabitEthernet0/0/0]ipv6 enable 
[AR2-GigabitEthernet0/0/0]ipv6 address fe80:12::2 link-local 
[AR2-GigabitEthernet0/0/0]ipv6 address 2012::2 64
[AR2-GigabitEthernet0/0/1]ipv6 enable     
[AR2-GigabitEthernet0/0/1]ipv6 address fe80:23::2 link-local     
[AR2-GigabitEthernet0/0/1]ipv6 address 2023::2 64

[AR3]ipv6     
[AR3-LoopBack0]ipv6 enable 
[AR3-LoopBack0]ipv6 address 2033::1 64
[AR3-GigabitEthernet0/0/0]ipv6 enable 
[AR3-GigabitEthernet0/0/0]ipv6 address fe80:23::3 link-local 
[AR3-GigabitEthernet0/0/0]ipv6 address 2023::3 64

IP v6静态路由的目的地址可以是2033::3/128的主机路由,也可以是2033:: 64的网段路由
[AR1]ipv6 route-static 2033:: 64 2012::2     

IP v6地址配置和静态路由 上述IP v6的路由表中包含IP v4路由表中不存在的参数。 Relay NextHop标识是否需要路由迭代,如果需要会置位,标明迭代的下一跳地址。(BGP路由基本都是迭代路由) Tunnel ID标识是否通过隧道转发,如果通过隧道转发ID为非0,正常IP转发时ID值为0。 当路由表中一个目标IP v6有多个下一跳即为负载分担。 ::: warning 配置IP v6静态路由时,需要保证下一跳可达。 下一跳可以是接口IP v6地址,也可以是(接口 + )链路本地地址。 :::

点赞
收藏
评论区
推荐文章

暂无数据

似梦清欢
似梦清欢
Lv1
学海无涯
文章
17
粉丝
17
获赞
1