热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经

有些日子没过来写文章,一是最近在研究阿里云(ACP)等组网以及考试,而是也发现没有什么特别实用的技术在blog中去分享。不出意料的在上周通过了AC

有些日子没过来写文章,一是最近在研究阿里云(ACP)等组网以及考试,而是也发现没有什么特别实用的技术在blog中去分享。不出意料的在上周通过了ACP的考试,发现云计算中又出现了一些的组网应用,虽然在阿里云和目前很多公司的云平台操作的时候,很难感觉到网络的存在,都是自己点一点就好了。。但如果在使用的过程只是这么简单以为的话,这是会出大问题的。


比如从网络的容灾的概念中,你虽然在各大云平台得到了网络配置的最大简化体验,此时网络工程的重心就会辐射到容灾、安全、流量切换等等。这些作为但凡作为一个运维都要考虑,而且要花大量的精力去做这件事情。


今天写文章不是聊云化的趋势和带来的改变等等,今天仍然是介绍一次真正案例中我们利用GRE、IPSEC、BFD解决冗余组网和自动切换的问题。且具有强大的“万精油”属性,在任何组网的案例下,都会有这样的需求,而且使用的都是标准协议,所以可以负责任的讲,如果企业没有强大的资本支撑IT的业务扩展时对高可靠的要求时,今天的这一篇文章就非常值得大家读一读里面的思想。时间匆忙,简单的画了一个示意图,如下所示:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经

以上部分是简化过的拓扑,一是为了保护原案例的相关信息,二是助于大家去理解。


项目案例需求背景:

  1. 需要部署灾备数据中心,两个数据中心内网通过专线打通(我这里使用GRE做的测试,因为GRE在功能实现上就相当于物理专线MSTP,所以这个做完了,相当于专线也讲了一遍)

  2. 双数据中心无需做到同城双活,仅仅是在主数据中心上联出口完全中断,且恢复时间不可控时,我们把业务完全切换到灾备数据中心

  3. 需要保证两地之间通信除了专线物理线路,另外还要存在一条备份冗余链路,并可实现完全无缝自动切换

PS:需求我也做了省略很简化,关于DNSPOD、业务侧的切换、集群业务等等这里都不做过多的赘述,不然文章写不完了都,以后会慢慢补上


项目案例背景:

  1. 出口设备为:山石网科T级产品线(很高端设备)

  2. 交换机华为6700万兆

  3. 服务器上百台

  4. 存储、光交

  5. 内网waf、堡垒机、备份一体机等等

PS:这里详细介绍忽略一切三层设备,直接从山石网科设备上实现该功能,因为山石实现后,我们去把这个拆分到三层交换机上,或者其他路由器设备上都没问题。无非就是几条路由的问题。【原谅我这么嚣张,因为路由、交换真的就是用心学就搞的定,不要虚,好好学就总有一天会学会】


我这里就以工程师技术实施部署的思路去给大家介绍下。当然,还是以前一样,底层的配置不作赘述。

第一步,山石网科配置GRE,我们在FW-A和FW-B上配置了GRE,如下为数据配置方法,参考如下即可。zone、策略、路由配置这里不提及,希望大家多全面学习,不要做伸手党。

FW-A

tunnel gre "tofw-b"

  source 210.20.1.1

  destination 200.10.1.1

  key 10

  interface ethernet0/1

exit

interface tunnel1

  zone  "GRE"

  ip address 1.1.1.1 255.255.255.252

  manage ping

  tunnel gre "tofw-b" gw 1.1.1.2

————————————————————

FW-B

tunnel gre "tofw-a"

  source 200.10.1.1

  destination 210.20.1.1

  key 10

  interface ethernet0/1

exit

interface tunnel1

  zone  "GRE"

  ip address 1.1.1.2 255.255.255.252

  manage ping

  tunnel gre "tofw-a" gw 1.1.1.1


第二步,测试GRE直连地址是否可以通信?

FW-A# ping 1.1.1.2

Sending ICMP packets to 1.1.1.2

   Seq    ttl    time(ms)

   1      128    1.09 

   2      128    0.938 

   3      128    1.01 

   4      128    0.962 

   5      128    0.947 

statistics: 

5 packets sent, 5 received, 0% packet loss, time 4005ms

rtt min/avg/max/mdev = 0.938/0.989/1.091/0.069 ms


确认可以通信,即证明GRE完成配置。


第三步,测试底层主机是否可以内网通信,并测试路由走向?

主机:10.137.97.1

ping测图:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经

tracert图:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


主机:10.137.98.1

ping测图:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经

tracert图:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


综上,目前内网间的流量即可实现从GRE互通了。第一阶段需求完成,那我们现在配置备份线路IPSEC,这里仍然使用的路由模式的IPSEC。


第二阶段,配置山石网科的IPSEC-×××,我这里就不做介绍了,因为之前的文章中都有非常详细的介绍,若大家不熟,请参考官方手册或者参考以前笔者文章。

此时,因为路由模式IPSEC同样是需要目的路由来实现通信,我这里为了方便测试,这里我们暂时先把GRE的优先级就行了上调,使其与IPSEC的目的路由形成“浮动静态”。


主机:10.137.97.1

tracert图测试如下:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


主机:10.137.98.1

tracert图测试如下:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


好了,IPSEC的配置也完成并通过业务验证了。所以我们接下来要做今天非常重要的一步,就是如何使其GRE成为主线,IPSEC成为备份线路并实现自动切换,以及当GRE线路恢复后,线路再次切换回GRE主线。


第三阶段,配置BFD,在vroute中进行BFD的关联,这好比在路由后面加上track和优先级的概念,不难理解。

FW-A(config)# bfd echo-source-ip 1.1.1.1 

FW-A(config-vrouter)# ip route 10.137.98.0/24 tunnel1 1.1.1.1 bfd 

FW-B(config)# bfd echo-source-ip 1.1.1.2

FW-B(config-vrouter)# ip route 10.137.97.0/24 tunnel1 1.1.1.1 bfd

PS:这里我使用了直连接口做的检测,大家若有不同意见,当然可以用loopback或者其他方式实现,没有固定的配置思维模式 

————————————————————————————————————

LOG输出如下:

FW-A(config-vrouter)# 2017-04-04 01:51:16, Event CRIT@NET: BFD session state changed from Down to Up,local IP:1.1.1.1,neighbor IP:1.1.1.2

FW-B(config-vrouter)# 2017-04-04 01:51:14, Event CRIT@NET: BFD session state changed from Init to Up,local IP:1.1.1.2,neighbor IP:1.1.1.1


接着我们把两台山石网科的GRE的路由调整为默认的1,IPSEC的目的路由优先级调整为10,如下参考:

FW-A# show ip route

==============================================================================

S>* 10.137.98.0/24 [1/0/1/b] via 1.1.1.2, tunnel1

S   10.137.98.0/24 [10/0/1] is directly connected, tunnel2

==============================================================================


FW-B# show ip route

==============================================================================

S>* 10.137.97.0/24 [1/0/1/b] via 1.1.1.1, tunnel1

S   10.137.97.0/24 [10/0/1] is directly connected, tunnel2

==============================================================================

PS:以上做过简化

结论:可以发现,目前路由表中已经形成了浮动静态的状态,并tunnel的路由中成功挂在了BFD功能。所以我们现在可以进行完美的故障切换了。


切换过程中,属于动态的观察,而blog只能上传静态图片,所以我这里稍微简单的描述下。因为确实在我测试的过程当中也比较惊讶完全的无缝切换,没有任何丢包和延迟升高的情况。总之,听我讲倒不如大家去测试真实的体验一把,这样会更深刻一点。


故障模拟:

    shutdown GRE的tunnel接口===好比物理专线故障


以下为测试故障的过程截图,【没有】

主机:10.137.97.1

切换过程中前后ping包情况,中断后的瞬间,前后tracert图情况:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


主机:10.137.98.1

切换过程中前后ping包情况,中断后的瞬间,前后tracert图情况:

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


然后我再次执行tunnel接口no shut的时候,情况和上面完全一样。所以这里的截图就省略不贴了。


模拟故障时,BFD的底层log提示:

FW-A# 2017-04-04 03:16:38, Event CRIT@NET: BFD session state changed from Up to Down,local IP:1.1.1.1,neighbor IP:1.1.1.2

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


模拟故障恢复时,BFD的底层log提示:

FW-A# 2017-04-04 03:21:50, Event CRIT@NET: BFD session state changed from Down to Up,local IP:1.1.1.1,neighbor IP:1.1.1.2

山石网科如何利用GRE+IPSEC+BFD进行高可用组网-经


结论:

山石网科通过GRE+IPSEC+BFD实现两点专线热冗余方案验证通过,可以去PPT中写方案去了。


写在最后,当然这里也需要给大家再次提醒一次,我这属于实验环境,网络情况相对封闭和稳定,无法客观的呈现出广域网的故障情景,起码不会出现被“挖掘机”挖断光缆的事情,光衰过弱的情况,设备故障的情况等等~~~~~~~,所以网络这条路很长也很远,甚至可以讲深不可测。但是网络依然是改变所有业务支撑方式的最大的功臣,所以希望大家不会忽略网络的重要性,也不要骄傲自大以为自己会配置几个静态路由、配置几条×××就觉得网络没什么可以学的了。

                        ————————来自一家二级运营商的网工分享


把学习当成习惯,把努力奋斗当作人生格言,把分享转换为大家的力量。



QQ:549675970

【欢迎加我交流技术心得,大家互相学习】

QZONE:http://user.qzone.qq.com/549675970

E-mail:

          549675970@qq.com

             allen_junjun@hotmail.com


人生格言:越努力、越幸运



推荐阅读
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • 虚拟机网络设置与数据库远程连接优化指南
    本文针对个人计算机上虚拟机网络配置与数据库远程连接的问题,提供了一套详细的优化指南。在探讨远程数据库访问前,需确保网络配置正确,特别是桥接模式的设置。通过合理的网络配置,可以有效解决因虚拟机或网络问题导致的连接失败,提升远程访问的稳定性和效率。 ... [详细]
  • 在CentOS上部署和配置FreeSWITCH
    在CentOS系统上部署和配置FreeSWITCH的过程涉及多个步骤。本文详细介绍了从源代码安装FreeSWITCH的方法,包括必要的依赖项安装、编译和配置过程。此外,还提供了常见的配置选项和故障排除技巧,帮助用户顺利完成部署并确保系统的稳定运行。 ... [详细]
  • 本文详细解析了神州数码DCRS5980交换机的基础配置流程和技术要点。首先,通过进入配置模式(`enable`),设置主机名(`hostname 5980`),并创建VLAN,逐步介绍了设备的初始设置步骤。此外,还涵盖了端口配置、IP地址分配及安全设置等关键环节,为用户提供了全面的配置指导。 ... [详细]
  • 深入解析OSI七层架构与TCP/IP协议体系
    本文详细探讨了OSI七层模型(Open System Interconnection,开放系统互连)及其与TCP/IP协议体系的关系。OSI模型将网络通信过程划分为七个层次,每个层次负责不同的功能,从物理层到应用层逐步实现数据传输和处理。通过对比分析,本文揭示了OSI模型与TCP/IP协议在结构和功能上的异同,为理解现代网络通信提供了全面的视角。 ... [详细]
  • DHCP三层交换机设置方式全局模式和接口模式设置方式和命令resetsave回车输入yreboot输入n输入y重启后就恢复默认设置了默认用户名密码adminAdmin@huawei ... [详细]
  • Ping 命令的高级用法与技巧
    本文详细介绍了 Ping 命令的各种高级用法和技巧,帮助读者更好地理解和利用这一强大的网络诊断工具。 ... [详细]
  • 在Cisco IOS XR系统中,存在提供服务的服务器和使用这些服务的客户端。本文深入探讨了进程与线程状态转换机制,分析了其在系统性能优化中的关键作用,并提出了改进措施,以提高系统的响应速度和资源利用率。通过详细研究状态转换的各个环节,本文为开发人员和系统管理员提供了实用的指导,旨在提升整体系统效率和稳定性。 ... [详细]
  • 这篇文章 | 夕阳下的防火墙命令全解 ... [详细]
  • 虚拟网络连接配置指南旨在详细阐述如何在两台区域边界路由器(ABR)之间,通过一个非骨干区域(即传输区域)建立一条逻辑连接通道。该指南提供了具体的配置步骤和最佳实践,帮助网络管理员高效地实现跨区域的虚拟连接,确保网络的稳定性和可靠性。 ... [详细]
  • 基于域名、端口和IP的虚拟主机构建方案
    本文探讨了在单台物理服务器上构建多个Web站点的虚拟主机方案,详细介绍了三种主要的虚拟主机类型:基于域名、基于IP地址和基于端口的虚拟主机。每种类型的实现方式及其优缺点均进行了深入分析,为实际应用提供了全面的技术指导。 ... [详细]
  • 考前准备方面,我的考试时间安排在上午11点至12点,只需提前20分钟到达考场的接待休息区即可。由于我居住在福田区,交通便利,可以选择多种方式前往考场。为了确保顺利通过考试,我建议考生提前熟悉考试流程和环境,并合理规划出行时间,以保持良好的心态和状态。此外,考前复习应注重理论与实践相结合,多做模拟题,加强对重点知识点的理解和掌握。 ... [详细]
  • 负载均衡基础概念与技术解析
    随着互联网应用的不断扩展,用户流量激增,业务复杂度显著提升,单一服务器已难以应对日益增长的负载需求。负载均衡技术应运而生,通过将请求合理分配到多个服务器,有效提高系统的可用性和响应速度。本文将深入探讨负载均衡的基本概念和技术原理,分析其在现代互联网架构中的重要性及应用场景。 ... [详细]
  • MySQL性能优化与调参指南【数据库管理】
    本文详细探讨了MySQL数据库的性能优化与参数调整技巧,旨在帮助数据库管理员和开发人员提升系统的运行效率。内容涵盖索引优化、查询优化、配置参数调整等方面,结合实际案例进行深入分析,提供实用的操作建议。此外,还介绍了常见的性能监控工具和方法,助力读者全面掌握MySQL性能优化的核心技能。 ... [详细]
  • 西北工业大学作为陕西省三所985和211高校之一,虽然在农业和林业领域不如某些顶尖院校,但在航空航天领域的实力尤为突出。该校的计算机科学专业在科研和教学方面也具有显著优势,是考研的理想选择。 ... [详细]
author-avatar
ESC咻咻_973
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有