打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
ip redirects作用简析 A路由器-----B路由器,假设这两台路由器在同一个网段中(192.168.3.0), A路由器有一条路由到192.168.1.0,B路由器有一条路由到192.168

ip redirects作用简析

A路由器-----B路由器,假设这两台路由器在同一个网段中(192.168.3.0), A路由器有一条路由到192.168.1.0,B路由器有一条路由到192.168.2.0,现在有一台在192.168.3.0网段中的PC机要和192.168.2.0网段中的主机通讯,但是它的网关是A路由器,如果这时候A路由器.

这时如果在A路由器上启用了 ip redirect 功能,那么当C主机的数据包到达A路由器时,A路由器会发送一个ICMP消息告诉C主机,:以后往2.0网段去的数据别给我了,直接发送给路由器B即可,那么随后的C主机去往2.0网段的数据包都直接发给路由器B.

这就是所谓的ICMP重定向功能.

ICMP重定向

1         预备知识

n         了解ICMP的基本内容

n         理解VRRPHSRP工作原理

n         掌握基本的组网知识

n         了解访问控制列表(ACL)的基本概念

n         了解IP子接口的配置

2         ICMP重定向原理

2.1        ICMP重定向报文格式

ICMPIP层的一个组成部分,它传递差错报文以及其他需要注意的信息。

ICMP报文通常被IP层或更高层协议使用。一些ICMP报文把差错报文返回给用户进程。任何ICMP差错报文的内容都要包括原来的IP报文首部,用以返回主机时能够令主机的应用进行判断分析。其他的字段依具体情况而定。对于重定向ICMP报文,其报文格式如下:

Byte 0    Byte 1    Byte 2    Byte 3

类型       代码     校验和   

重定向网关 IP

原包的IP首部

IP数据报前8个字节

重定向报文的类型为5,代码有效值为03。其中0代表网络重定向,1代表主机重定向,2代表服务类型和网络重定向,3代表服务类型和主机重定向。原则上,重定向报文是由路由器产生而供主机使用的。路由器默认发送的重定向报文也只是1或者3,只是对主机的重定向,而不是对网络的重定向。而主机本身不是路由器,所以这种ICMP重定向会导致网络流量的增大。

2.2        何时重定向

对于路由器来说只有当如下条件同时满足的时候才进行重定向

a)  数据包的入接口和路由后的指定的出接口是同一个接口。

b)  数据包的源IP地址和该包应走的下一跳IP地址属于同一个网段。

c)  数据报非源路由的(这种情况应该比较少见了,源路由多见于Token Ring)。

d)  系统开启重定向功能

2.3       重定向报文的处理

主机和路由器对于重定向报文有不同的处理原则

路由器一般忽略ICMP重定向报文。而主机对于重定向报文的感知取决于操作系统。以Windows为例,对于网关返回的ICMP重定向报文,Windows会在主机的路由表中添加一项主机路由。那么以后对于这个目的地址数据报,主机会将其直接送往重定向所指示的路由器。支持重定向报文处理的还有许多的Unix系统,如FreeBSD的诸多版本等。这类主机收到ICMP重定向报文后所采取的行动基本都是增加主机路由。显然,修改默认网关是不合理的。

同时,有的操作系统对于重定向报文是不做任何处理而直接丢弃(虽然也同样经由网络层向上递交),比如Sun的某些系统。

某些主机可以启动路由器功能,如FreeBSD的某些版本和Win32系统。这时主机的行为要特殊一些,会施加一些特殊条件来判断是否处理该重定向报文,这是依系统而异的。比如BSD,它检查重定向报文的条件之一是重定向报文不能让主机本身作为网关

2.4        ICMP重定向的利与弊

ICMP重定向使得客户端的管理工作大大减少,使得对于主机的路由功能要求大大降低。该功能把所有的负担推向路由器学习。但是与此同时ICMP重定向也有很多弊端。

就重定向本身的机制来说,ICMP重定向增加了网络报文流量,因为主机的报文总是要在网关的直连网段上重复传输。

引起性能问题,例如:有一台大型的服务器,要处理数十个子网下的数千台主机的业务。如果要支持重定向,那么服务器将会维护一个庞大的充满主机路由的路由表。这是一笔很大的开销。可能很大程度上降低服务性能,甚至导致网络服务瘫痪。

可能埋下安全隐患。利用这点可以进行攻击和网络窃听。如果目某主机A支持ICMP重定向,那么主机B发一个IMCP重定向给它,以后它发出的所有到指定地址的报文都会转发主机B,这样B就可以达到窃听目的了。当然,拿windows操作系统来说,它会对ICMP报文进行检查,如果这个重定向不是网关发送的,会被直接丢弃。不过伪造一个网关的数据包很容易。另外,如果刻意伪造许多虚假的ICMP重定向报文,主机路由表就可能被改的乱七八糟。

3         ICMP重定向的避免与消除

针对上述ICMP重定向引发的问题,我们可以采用一些手段来避免或补救。我们讨论的前提条件是不改变网络拓扑

3.1        关掉ip redirects

在路由器上取消ip redirect。这样路由器不向主机发送ICMP重定向报文。或者当起动HSRPVRRP的时候,ICMP重定向会被关掉。这是相当于一台路由器作备份。有效的避免出现ICMP重定向。该方案是看似根本上解决了问题,但是只是ICMP重定向报文不会发回主机,解决了安全和主机负荷的问题,网络上的流量却没有减少。

3.2        不同掩码长度子网划分

这种方法的基本思想是:破坏ICMP重定向的条件,哄骗路由器认为用户数据报的入接口和出接口不同。从HostA来看,RT1和RT2都在和自己直连的网段。如此配置从RT2来看,用户数据的入接口和出接口不在同一网段上,数据从1.1.1.2进入,从1.1.1.250路由出去,用户数据纯粹的被路由出去,这样就破坏了ICMP重定向的条件。而且RT2会认为自己的子接口E0/1.1和RT1的E0/1接口是在同一子网的。这种方式要求配置的技巧性比较强,但也并没有减少网络数据流量,只是在安全性和主机负荷上有所改进。

3.3        使用访问控制列表(ACL

在高级的ACL中可以根据报文类型进行过滤,在我司设备上如下配置:

[Quidway]acl number 100 match-order auto

[Quidway-acl-adv-100]rule deny icmp fragment icmp-type net-redirect

[Quidway-Ethernet6/0]firewall packet-filter 100 outbound

在出接口上绑定ACL,过滤掉报文。这样做实事上减少了网络流量,保证了主机的安全性,减轻主机负荷。但是会消耗路由器的处理资源。

3.4        代理ARP

代理ARP的方法比较直接,干脆在RT1上启动代理ARP,让自己的。主机广播ARP请求后,网关RT1返回RT2的接口MAC地址。这种方法相当于修改了主机的默认网关。其后所有的流量都被导向RT2。这样可能会影响原来的业务需求。所以这种方法是不可取的。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ICMP重定向案例
tcpip详解笔记(9) IP选路
TCP/IP详解学习笔记(5)
TCP/IP详解(2)链路层,第二章笔记整理
TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节
【转载】ARP协议及欺骗原理(下)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服