写在前面
本篇所描述的网络环境不具有广泛的代表性,请谨慎参考。
需求背景
当前国内IPV6普及的速度越来越快,各大主流运营商的宽带网络接入基本实现了双栈接入,但是本人在实际使用过程中,遇到了不可避免的矛盾问题。那就是固定接入的IPV6在链路中断时,可能会引发计算机终端因IPV6不通,导致的DNS解析失败,进而引发计算机全面“断网”的尴尬。为了保证IPV6的基本连通(请注意,是基本连通,而不是流畅使用),想到了he.net提供的免费IPV6隧道。搭配H3C的NQA,使得原链路中断后,自动切换值隧道链路,进而完成IPV6的基本连通,解析结果会因为IPV6响应较慢,而自动访问IPV4,保证网络的基本使用(其他链路并未中断)。
基本网络环境介绍
核心网络使用H3C MSR830 10BEI路由器,接入移动专线(固定双栈),移动宽带二级,联通宽带二级共计三条线路。对上述链路均配置NQA,自动检测通断(另行发文描述,暂时还没写呢)。当链路中断后,使路由表对应条目失效。其中移动专线双栈分别检测(虽然要断就都断了)。当IPV6链路检测失效时,切换至tunnel链路。
实现过程
首先,请通过这个网站 https://tunnelbroker.net/ 注册自己的账号,并申请配置一个你自己稍后要用的IPV6隧道。注意,不要用专线地址作为申请接口,因为专线断了,就没意义了。申请过程不在此赘述。
其次,通过MSR将上述网站申请的接口IPV4对端地址、动态更新服务器的IP地址(申请后配置页面能找到一个域名,自己解析一下就行)的路由指向你未来实现该隧道的那个接口去。
ip route-static 0.0.0.0 0 专线IPV4接口IP track 1 description Yidongzhuanxian
ipv6 route-static :: 0 专线IPV6接口IP track 4
ipv6 route-static :: 0 Tunnel4 preference 255 description 6to4Tunnel-he.net
#上述代码仅列举与本文相关的内容,并隐藏我的IP地址。如有需要请替换为你自己的IP,其中track的目的就是检测路由是否要失效。
interface Tunnel4 mode ipv6-ipv4#隧道类型
description Hurricane Electric IPv6 Tunnel Broker#隧道描述,见名知意,方便以后维护
mtu 1480 #配置成和he.net提供的一直即可
source GigabitEthernet0/1 #源端口,源IP也可以,如果你有的话
destination 66.220.18.42 #目的地址,he.net提供的
nat66 prefix source 我的IPV6网段 64 he.net提供的IPV6用户段 64 #这里的作用是全局NAT66,使得电脑仍旧使用原有IPV6,并NAT为he.net提供的IPV6,进而达到连通IPV6网络的目的
ipv6 address he.net提供的IPV6设备段 #这里是要做互联,基础知识不解释
#上述代码仅列举与本文相关的内容,并隐藏我的IP地址。如有需要请替换为你自己的IP
至此,隧道配置完成,模拟专线业务中断但接口未down的情况,实现IPV6切换至隧道,保证业务的基本连通。
后记
1、本人是将IPV6隧道拨至联通出口,与he.net做互联,原因是联通提供了公网IPV4地址的出口,如果你没有IPV4公网,那么上面的也就白看了。右上角关掉这个页面就行了。
2、要注意拨测你所在的地区,连接哪台隧道服务器延时更低,延时过高,同样也会让业务无法连通,即便实际上是通的。
3、可能你很好奇,为什么专线还会断,因为对端设备供电的不稳定,我已经遇到好几次了。
4、有没有更好的解决方案呢?实际上是有的,因为我所有的链路,其实都有双栈提供,但是目前我无法找到更合适的自动切换方案。如果有,我会发一篇新的,重新描述过程。