IPv4 TCP会话上的IPv4和IPv6前缀

1 篇文章 0 订阅
1 篇文章 0 订阅

IPv4 TCP会话上的IPv4和IPv6前缀
图1

配置目标:
在R1通过bgp发布ipv6前缀,使R2收到有效路由条目
R2出现三条ipv6路由条目为标准
图2

配置过程:
ipv4接口地址之间建立邻接关系,在ipv6地址簇内激活ipv4邻居。
静态路由的配置是为了IPv6前缀注入BGP中。

R1
interface GigabitEthernet0/0
ip address 10.0.0.38 255.255.255.252
ipv6 address 2001:DB8:A:5::2/64
!
router bgp 500
bgp log-neighbor-changes
neighbor 10.0.0.37 remote-as 100
!
address-family ipv4
neighbor 10.0.0.37 activate
exit-address-family
!
address-family ipv6
network 2001:DB8:5:1::/64
network 2001:DB8:5:2::/64
network 2001:DB8:5:3::/64
neighbor 10.0.0.37 activate
exit-address-family
!
ipv6 route 2001:DB8:5:1::/64 Null0
ipv6 route 2001:DB8:5:2::/64 Null0
ipv6 route 2001:DB8:5:3::/64 Null0

R2
interface GigabitEthernet0/0
ip address 10.0.0.37 255.255.255.252
ipv6 address 2001:DB8:A:5::1/64
!
router bgp 100
bgp log-neighbor-changes
neighbor 10.0.0.38 remote-as 500
!
address-family ipv4
neighbor 10.0.0.38 activate
exit-address-family
!
address-family ipv6
neighbor 10.0.0.38 activate
exit-address-family
!

配置完以上部分,R2的ipv6路由表中并没有ipv6路由,需要做进一步排查以识别该问题。
R2#debug bgp ipv6 unicast updates in
R2#clear bgp ipv6 unicast 500 soft in
图3
从红框中可以发现,该下一跳地址是通过ipv4映射的ipv6地址格式将该地址填充到ipv6下一跳地址字段中,所以R2接收端的bgp进程无法识别该地址为有效的下一跳地址,从而拒绝了这些路由。

这里需要配置一条策略,将默认的下一跳地址更改为宣告接口的ipv6地址,配置ipv6前缀列表,路由映射更改下一跳地址为ipv6接口地址2001:DB8:A:5::2该路由映射用作出站策略,告诉对端下一跳是 2001:DB8:A:5::2。道理相同,R2也要配置更改下一跳地址。

R1
ipv6 prefix-list v6-routes seq 5 permit 2001:DB8:A::/48 le 64
route-map v6-next-hop permit 10
match ipv6 address prefix-list v6-routes
set ipv6 next-hop 2001:DB8:A:5::2

!
address-family ipv6
network 2001:DB8:5:1::/64
network 2001:DB8:5:2::/64
network 2001:DB8:5:3::/64
neighbor 10.0.0.37 activate
neighbor 10.0.0.37 route-map v6-next-hop out
exit-address-family
!

R2
ipv6 prefix-list v6-routes seq 5 permit 2001:DB8::/32 le 64
route-map v6-next-hop permit 10
match ipv6 address prefix-list v6-routes
set ipv6 next-hop 2001:DB8:A:5::1

!
address-family ipv6
neighbor 10.0.0.38 activate
neighbor 10.0.0.38 route-map v6-next-hop out
exit-address-family
!

图4
查看调试效果,目前已经拥有期望的下一跳地址,并且从调试信息中也可以得知传送BGP更新2001:db8:5:1::/64等路由信息的ipv4 TCP 会话位于ipv4子网10.0.0.36/30上,而下一跳地址位于同一个BGP更新接口上的ipv6子网2001:DB8:A:5::/64上,因而下一跳地址不在建立EBGP会话的同一个子网上。

修改配置,让R2接受两跳之外的下一跳地址,如果要R1也传输ipv6路由信息也要做相同配置。

R2
router bgp 100
bgp log-neighbor-changes
neighbor 10.0.0.38 remote-as 500
neighbor 10.0.0.38 ebgp-multihop 2
!

R1
router bgp 500
bgp log-neighbor-changes
neighbor 10.0.0.37 remote-as 100
neighbor 10.0.0.37 ebgp-multihop 2
!

图5
为什么需要修改多跳为两跳的原因:

如果下一跳地址不属于IPv4对等体所在的子网,那么IPv6不会自动接受来自IPv4对等体的路由。下一跳所属的IPv6地址可以与IPv4子网共享同一条链路,此时会被视为非直连,因而需要配置多跳EBGP以接受“非本地”子网。
在ipv4地址为结构的地址簇中传送ipv6路由信息,这个ipv6路由信息需要下一跳地址也为IPv6地址,那么身为拥有IPv4地址和IPv6地址的同一个接口。会被视为非直连,所以需要配置多跳EBGP。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易决

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值