记一次企业高级组网中不正确配置PBR引发的环路排错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记一次企业高级组网中不正确配置PBR引发的环路排错相关的知识,希望对你有一定的参考价值。

嗨,各位。好久没了,最近忙的一塌糊涂,作为一个勤奋好学的网工,我要把实战中遇到的问题记录下来,同时分享给各位。此次的文档分享,是上个月的一次项目实战中记录下来的PBR-策略路由排错。具体的配置不会一一记录,但是会写个大概配置。


毕竟都是有几年的网工经验了,基础的不会就别看了,我都嫌弃!!!技术分享


不多说,我们先上一张图,图的背景就不多介绍了,反正可以给大家保证的是全部均为实实在在的真机。

PS:图进行了和谐,还有很多设备均进行了删减,做网工永远要记住一件事情,信息安全!!!!

技术分享


图中设备清单如下:(仅列举网络设备)

S5700-52TP-LI-接入层交换机

AR2204-路由C

cisco-3750核心路由A-istack部署

cisco-3750路由B

cisco-3750GW设备

主机F-windows2008-r2-64bit

Juniper-SSG320-FWD

IPS设备-hillstone-SG2560-旁挂


软件环境:软件版本不一一列举,均是经过岁月认证的稳定ios


说下局部需求;

1.主机F的流量必须通过PBR扔到路由C上,然后经过FWD访问ISP公网资源。并仅允许在一条线路上实现,不得通过上下游设备使流量经过路由C。

2.主机F的流量通过FW-D设备进行DIP的映射策略配置(切记,这里不是MIP也不是VIP),这次文档不会介绍此需求如何实现,后期会进行补充。

备注:得到甲方的需求时,目测非常的奇葩。故想了个办法,核心网络起动态-OSPF+auth-key认证、重发布直连和静态、边界正常接入宣告即可。路由设备间全部互联ping即可。


这里呢,再说明下为什么我的标题是“记一次不正确的配置PBR导致的环路呢?”,因为我在此次实施过程当中确实因为自己的问题,导致了整个施工卡了近十分钟,十分钟对于一个资深工程师已经算是极大的事故了,所以我认为这真的应该拿出来好好的嘲讽自己一番。


我大概描述下流量的正确走向,如下图:

技术分享

我简单的列出下PBR的相关配置:

核心路由A:

ip access-list extended add113

 permit ip 172.16.113.0 0.0.0.255 any log

route-map PBR-Global permit 10

 match ip address 113

 set ip next-hop 172.16.106.18


rack1_3750X2_isp_core#show route-map 输出如下:

route-map PBR-Global, permit, sequence 10

  Match clauses:

    ip address (access-lists): 113 

  Set clauses:

    ip next-hop 172.16.106.18

  Policy routing matches: 56 packets, 5630 bytes


路由B:

ip access-list extended add113

 permit ip 172.16.113.0 0.0.0.255 any log

route-map PBR permit 15

 match ip address add113

 set ip next-hop 172.16.106.34


route-map ARPBR permit 15

 match ip address add113

 set ip next-hop 172.16.106.34【故障发生点,后面详细介绍


route-map PBR, permit, sequence 15

  Match clauses:

    ip address (access-lists): add113

  Set clauses:

    ip next-hop 172.16.106.34


route-map ARPBR, permit, sequence 15

  Match clauses:

    ip address (access-lists): add113 

  Set clauses:

    ip next-hop 172.16.106.34【故障发生点,下面详细介绍

  Policy routing matches: 13 packets, 1378 byte


路由C:

acl number 3002  

 rule 5 permit ip source 172.16.113.0 0.0.0.255 logging

traffic classifier PBR operator or

 if-match acl 3002

traffic behavior PBR

 statistic enable                         

 redirect ip-nexthop 172.16.106.33

traffic policy PBR

 classifier PBR behavior PBR

接口挂载图省略,太简单的配置不想赘述,如果不会,请自行看书学习。


主机F,路由跟踪测试图如下:

技术分享

结论:环在了34-33中间,回头检查visio图,重新观察流量走向,故障发生描述如下图。

技术分享


中间我思考十分钟的时间,这里就省略了。毕竟太尴尬了,


故障判断:

问题出现在路由B上,在核心路由A过来的流量,进方向挂载PBR,流量指向路由C正常过去了,路由C将流量回指回来后,出现路由B再次把流量指回路由C。判断路由C到路由B直连链路,PBR配置有问题。


检查发现:

route-map ARPBR, permit, sequence 15

  Match clauses:

    ip address (access-lists): add113 

  Set clauses:

    ip next-hop 172.16.106.34【故障发生点

  Policy routing matches: 13 packets, 1378 byte


将next-hop 修改为FW-D的直连linkip地址,至此故障得到解决,如下图展示。

技术分享

结论,PBR下一跳填写错误导致出现环路。


来一一家二级运营商的网工分享,齐家、提升、积累、正心。我是一个认真的草根网络工程师,没有任何认证。


本文出自 “Allen在路上-从零到壹” 博客,转载请与作者联系!

以上是关于记一次企业高级组网中不正确配置PBR引发的环路排错的主要内容,如果未能解决你的问题,请参考以下文章

记一次使用Flannel插件排错历程

记一次让人的喷血的排错经历

记一次 K8S 排错实战过程

Kubesphere-DevOps-记一次流水线排错

记一次nginx配置不当引发的499与failover 机制失效

git 填坑记录----记一次git低版本引发的问题