Cisco Nexus 之“ip redirect”


ICMP Redirect引起的网络丢包

场景

当网络设备发下发送给自己的数据包,下一跳地址和发送源地址在同一个子网时,就会回复一个icmp redirect报文,用于向发送源设备指出存在一个更加优化的路由。当源设备接收到这个icmp redirect报文后,后续数据包就会直接发送给新的下一跳。

引起原因

这一般都是由于策略路由(PBR)或者不优化的路由(错误的静态)引起的。

     +---+
     |   +----------+ ---+
     +---+          |    |
   10.1.1.2/23      |    |
                    |    |          +---+
                    |LAN +----------+   |
                    |    |          +---+
                    |    |        10.1.1.1/24
     +---+          |    |
     |   +---------------+
     +---+
   10.1.1.3/24

如图所示,假设10.1.1.2去往10.1.1.3的的数据包被策略路由强行发网10.1.1.1,10.1.1.1会发现下一跳和自己在同一个网段,接下来将会向10.1.1.2回复一个ICMP Redirect。

                    +---+
                    |   +----------+ ---+
                    +---+          |    |
                  10.1.1.2/24      |    |
                                   |    |          +---+
                                   |LAN +----------+   |
                                   |    |          +---+
                                   |    |        10.1.1.1/24
                    +---+          |    |
192.168.1.0/24<-----+   +----------+----+
                    +---+
                  10.1.1.3/24

如上图,还有一种路由不优化的情况,假设路由设置如下:
10.1.1.2
ip route 192.168.1.0/24 10.1.1.1
10.1.1.1
ip route 192.168.1.0/24 10.1.1.3
10.1.1.3
ip route 192.168.1.0/24 x.x.x.x

这种情况下,10.1.1.1同样也会向10.1.1.2回复ICMP Redirect。

危害

由于需要网络设备回复ICMP Redirect报文,数据包需要发送给CPU进行处理,这将增加CPU额外的负担。
为了避免这种情况(或攻击),Nexus在硬件层面对需要ICMP Redirect报文进行限速。
目前, IP redirects通过Layer 3 Time-to-Live (TTL) 速率限制。默认是500个包每秒。如果超过这个值,将带来丢包

N7K# show hardware rate-limiter 
Units for Config: packets per second
Allowed, Dropped & Total: aggregated since last clear counters
rl-1: STP and Fabricpath-ISIS
rl-2: L3-ISIS and OTV-ISIS
rl-3: UDLD, LACP, CDP and LLDP
rl-4: Q-in-Q and ARP request
rl-5: IGMP, NTP, DHCP-Snoop, Port-Security, Mgmt and Copy traffic


Module: 1

Rate-limiter PG Multiplier: 1.00

  R-L Class           Config           Allowed         Dropped            Total
 +------------------+--------+---------------+---------------+-----------------+
  L3 mtu                   500               0               0                 0
  L3 ttl                   500               0               0                 0
  L3 control             10000               0               0                 0

解决方案及建议

1、关闭ICMP Redirect

int vlan xx
 no ip redirect

2、调整Hardware Rade-limite值

Example:
N7K(config)# hardware rate-limiter layer-3 ttl 1000

本文参考文档
Cisco Nexus 7000 Series NX-OS Security Configuration Guide

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,093评论 0 8
  • 1.这篇文章不是本人原创的,只是个人为了对这部分知识做一个整理和系统的输出而编辑成的,在此郑重地向本文所引用文章的...
    SOMCENT阅读 13,134评论 6 174
  • 0×1.实例拓扑图与配置C1是使用VPCS虚拟出来的一台计算机,SW1是一台不可网管交换机(并非IOU中的交换机,...
    Zero___阅读 860评论 0 0
  • 9.1 引言 选路是IP最重要的功能之一。图9-1是IP层处理过程的简单流程。需要进行选路的数据报可以由本地主机产...
    张芳涛阅读 1,200评论 0 2
  • 本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lso...
    老夫刘某阅读 3,587评论 0 7