Cisco IOS 使用 IP SLA 状态作为静态路由的开关

2024-03-08 15:04

本文主要是介绍Cisco IOS 使用 IP SLA 状态作为静态路由的开关,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cisco IOS 和 IOS XE 作为最普及的路由器和交换机操作系统,内建强大的状态跟踪联动能力。

我们配置网络设备时,希望设备能主动发现网络故障,及时作出相应调整,并将故障状态传递给网络的其他部分,减少故障恢复时的人工干预。

本文涉及 Cisco IOS 中的三个功能

  1. 静态路由随 track 状态开关
  2. 使用 IP SLA 检查指定 IP 是否响应 ICMP ECHO REQUEST(即 ping)
  3. Enhanced Object Tracking(即前述 track)聚合多个 IP SLA 检查的结果

案例介绍

配置要求

给出一种判断互联网接入链路是否可用的方法,如果此互联网接入链路不可用,从本机路由表中删除对应的默认路由,使得依赖此默认路由的动态路由协议向其邻居撤回默认路由。

基本思路

  1. 持续跟踪互联网上两个 IP 地址的 ICMP 可达性
  2. 如果它们中至少有一个可达,启用默认路由,同时禁用为这两个地址添加的静态主机路由。
  3. 如果两个均不可达,禁用/撤回默认路由。

相关配置

本文使用 192.0.2.1, 198.51.100.1 和 203.0.113.1 作为示例,这三个地址是 RFC 5735 中规定的文档专用地址,不在互联网上使用,读者应该自己选择合适的地址,与地址使用方联系获得许可,避免被误判为拒绝服务攻击流量。

  • 配置两个 IP SLA 测试

    1. 发送的 ICMP 数据报文结构 C15C0105 是 CISCO IOS 的另类拼写,可自定义。
    2. ISP-A 是使用的本机配置的对应此运营商的 VRF 名称,如果在全局路由表使用,可以不写这一行
    3. tag 是对此 IP SLA 测试的别名,用于帮助识别
    4. threshold 40 定义了 40ms 以上的 RTT 时间为超出上限,timeout 80 定义了 80ms 以上的 RTT 时间判为超时错误。
    5. 最后一行 ip sla group schedule 将两个 IP SLA 测试统一启动,每一个周期都是 10 秒,启动间隔 5s,立即启动,永远执行。
    ip sla 1icmp-echo 198.51.100.1 source-interface GigabitEthernet1request-data-size 1200tos 184data-pattern C15C0105vrf ISP-Atag ping-TESTNET-2threshold 40timeout 80frequency 10history distributions-of-statistics-kept 5history lives-kept 2history filter all
    !
    ip sla 2icmp-echo 203.0.113.1 source-interface GigabitEthernet1request-data-size 1200tos 184data-pattern C15C0105vrf ISP-Atag ping-TESTNET-3threshold 100timeout 200frequency 10history distributions-of-statistics-kept 5history lives-kept 2history filter all
    !
    ip sla group schedule 1 1-2 schedule-period 10 start-time now life forever
    
  • 配置调用上述 IP SLA 测试结果的 Tracking

    1. track 1 状态与 IP SLA 测试 1 联动
    2. track 2 状态与 IP SLA 测试 2 联动
    3. 在跟踪的 IP SLA 变为 DOWN 之后 31 秒内不改变 track 自身状态,如果这段等待期内 IP SLA 变为 UP,track 状态不会震荡。同理,若 track 从 DOWN 状态恢复,需要等待 61 秒内没有 IP SLA DOWN 的事件。
    4. track 3 状态取决于前两个跟踪目标(可以配置更多),如果小于 24% 则判为无效,如果大于 49% 则判为有效。在只配置了两个 object 的情况下,一个 object 状态为 UP,则贡献 50%,整体判为有效。
    5. track 10 的状态与 ISP-A 这个 VRF 的路由表中是否存在默认路由联动
    6. track 11 的状态与 track 10 状态相反
    track 1 ip sla 1delay down 31 up 61
    !
    track 2 ip sla 2delay down 31 up 61
    !
    track 3 list threshold percentageobject 1object 2threshold percentage down 24 up 49
    !
    track 10 ip route 0.0.0.0 0.0.0.0 reachabilityip vrf ISP-A
    !
    track 11 list boolean andobject 10 not
    
  • 配置与上述 track 联动的静态路由

    1. 两个被测试地址的主机路由与默认路由的相反状态关联,即存在默认路由时,这两条主机路由不会被安装。
    2. 默认路由与链路可用性关联,即可以到达两个被测试地址时,安装默认路由。
    3. 以下配置不会形成震荡的原因是,两个被测试地址可以通过默认路由离开本路由器。
    ip route vrf ISP-A 198.51.100.1 255.255.255.255 192.0.2.1 name TESTNET-1 track 11
    ip route vrf ISP-A 203.0.113.1 255.255.255.255 192.0.2.1 name TESTNET-2 track 11
    ip route vrf ISP-A 0.0.0.0 0.0.0.0 192.0.2.1 name ISP-A-DEFAULT track 3
    

参考资料

IP SLA 和 Tracking 的选项及其丰富,读者可参考

  1. IP SLAs Configuration Guide, Cisco IOS XE 16
  2. IP Application Services Configuration Guide, Cisco IOS XE 16 - Configuring Enhanced Object Tracking

这篇关于Cisco IOS 使用 IP SLA 状态作为静态路由的开关的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/787475

相关文章

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

C#使用HttpClient进行Post请求出现超时问题的解决及优化

《C#使用HttpClient进行Post请求出现超时问题的解决及优化》最近我的控制台程序发现有时候总是出现请求超时等问题,通常好几分钟最多只有3-4个请求,在使用apipost发现并发10个5分钟也... 目录优化结论单例HttpClient连接池耗尽和并发并发异步最终优化后优化结论我直接上优化结论吧,

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma