小牛学技术之【ICMP重定向】
  

justgonnab 10944

{{ttag.title}}
忙里偷闲,写了一下关于之前在排错过程中发现的ICMP重定向原理及心得,希望大家能够纠正错误多提建议!

     在一次有关某公司aDesk桌面云产品网络问题排查的过程中,和400工程师沟通的时候突然发现了一个奇怪的现象,在抓包过程中发现所抓取的数据包中有ICMP的重定向,当初认为此现象和所排查现象(两台windows7关闭了防火墙的虚拟机桥接在同一个虚拟交换机下互相ping不通)有关联,所以工程师跟进了一下,后面顺利解决,我也做了一次实验重新验证了该问题以及ICMP重定向的原因。

     据400工程师的解释是这样的:由于虚拟机配置了DNS地址,但是由于虚拟机配置了两个IP地址(一个是管理网段没有配置网关地址是用于连接VDS的管理口登录VMP以及VDC,另一个是内网网段配置了网关地址用于连接内网从而实现外网访问),所以当系统利用管理网段来探测DNS地址是否可用时当然是失败的(没有连通外网),此时系统会使用内网网段来重新探测DNS地址的可用性,由于windows系统是利用ICMP协议探测DNS地址可用性的所以导致了ICMP报文的重定向使其重定向到内网网段来探测DNS地址的连通性。(由于当时这个原理400工程师解释没有听很清楚,但技术需要实事求是,所以希望大家多多指正追根究底!)



好了,既然是ICMP重定向,那么肯定要弄明白ICMP重定向的原因啊,随后百度之……
网上有很多经典的案例,自己归纳理解了一下,实验……

先上拓扑图:

简单的没天理啊!!!
好吧,现实就是这么骨感,接受吧……
饼子画好了,那么现在就要开始实打实的实验了。
真机环境当然没有!
还是拿出当年大学做实验的必备神器吧——GNS3!
对,就是这个小蜥蜴(没有代言没有广告费)


好了不说了,第一次写废话太多了要被喷,求大神放过鄙人!

进入正题:
GNS3的实验环境迅速搭好!
备注:PC的网关指向R1,R1上配置到R2的静态路由。

路由配置简要如下所示:
R1
interfaceLoopback0
ip address 1.1.2.1 255.255.255.0
!
interfaceFastEthernet0/0
ip address 1.1.1.253 255.255.255.0
duplex auto
speed auto
!
no iphttp server
no iphttp secure-server
ip route 1.1.3.0 255.255.255.0 1.1.1.254


R2
interfaceLoopback0
ip address 1.1.3.1 255.255.255.0
!
interfaceFastEthernet0/0
ip address 1.1.1.254 255.255.255.0
duplex auto
speed auto
!
no iphttp server
no ip http secure-server


PC
interfaceFastEthernet0/0
ip address 1.1.1.1 255.255.255.0
no ip route-cache
duplex auto
speed auto
!
ipdefault-gateway 1.1.1.253
no iphttp server
no ip http secure-server

至于交换机是一个傻瓜的就不写什么了。

接下来在PC中ping R2上的IP地址1.1.3.1,然后在交换机SW1的端口1用wireshark抓包。(由于时间比较零散,所以把抓下来的包先保存了,文档是后面抽时间写的)


这里可以看到在PC发起第一个即编号NO.9的ICMP数据包时,在ICMP这一层的信息中显示:[No response seen],说明第一个ICMP报文看起来是没有回应的。


然后,第二个ICMP数据包即NO.10的数据包在ICMP这一层的信息中注明了:Gatewayaddress:1.1.1.254。此IP地址为R2的FastEthernet0/0接口地址,所以R1通告给PC应该将此数据报转发给网关1.1.1.254。


此后,PC所有的ICMP数据报都发向了R2,成功ping通了1.1.3.1。


总结:
ICMP重定向使得在客户端的管理工作量大大降低,转而将所有负担推向了路由器。当然弊端也显而易见,由于PC的报文总是需要在网关所直连的网段链路上重复传输,所以会增加网络流量负担。

上述是ICMP重定向所造成的性能问题,但是这样的方法也会导致一定的安全隐患。
比如:一台PC-1支持ICMP重定向,但是如果有一台恶意的PC-2给PC-1发送ICMP重定向,那么以后PC-1发出的所有到指定地址的报文都会流经PC-2所指定的网关(也可以是PC-2本身),从而达到窃听的目的。但是经过我多方资料收集发现windows系统会对发来的ICMP重定向报文进行检查,若不是自己网关发送的则会丢弃。为了再次实验验证一次这个现象,遂又用GNS3的拓扑稍作修改进行实验。

拓扑:


图中Host1是真机也就是我的电脑,将其有线网卡桥接到SW1上,电脑网卡手动配置了IP地址为1.1.1.10/24 GW:1.1.1.253,可结果就是怎么也ping不通PC 1.1.1.1以及网关1.1.1.253,习惯性地查看了下真机的路由表(断开了无线网卡):


跃点数40最低,其他看着也没什么问题,更何况是同一二层环境下同一网段的通信根本用不着这个啊!
最令人郁闷的是当路由器R1以及PC在ping真机地址1.1.1.10时,在真机端抓包发现收发ICMP报文都正常!

R1 ping 真机:

PC ping 真机:

好了,在真机ping 网关R1和PC试试吧:

真机 ping R1

真机 ping PC

看来真机是ping不通GNS3里面的PC和R1了,检查真机的arp表同时核对一下R1和PC的接口MAC地址:

没毛病!ORZ……
百度之,搜索半天也没得出什么结果……
好吧,看来可能是GNS3抽风了……

小弟排错已经用尽了洪荒之力!如果有哪位大神看出什么端倪烦请回复小弟指点一二,感激不尽!(后面附上GNS3实验环境文件)

折腾了一组,实验最终还是以失败告终,不过观点还是保留前人所述应该没啥子问题,凑合用吧。

file://localhost/Users/ZJ/Library/Caches/TemporaryItems/msoclip/0/clip_image036.png
本来一个ICMP的重定向实验却牵出这么多的小插曲,真是累觉不爱,所谓在平坦的路面上曲折前行也不过如此了。技术还是要求真务实的,希望大侠们在这里能够建言献策,共同营造良好的技术氛围,快乐地奋斗、成长!

GNS3_environment.zip

33.12 KB, 下载次数: 4

ICMP重定向抓包.pcapng

3.55 KB, 下载次数: 7

小牛学技术之【ICMP重定向】.pdf

1.27 MB, 下载次数: 7

打赏鼓励作者,期待更多好文!

打赏
6人已打赏

稻草 发表于 2016-11-17 11:39
  
Sangfor_闪电回_朱丽 发表于 2016-11-17 11:53
  
一口气看完整篇分享,为楼主认真的态度点赞、鼓掌!
Ljs 发表于 2016-11-17 13:14
  
已收藏!
一颗螺丝钉 发表于 2016-11-17 13:57
  
没太看明白实验的目的。本来应该pc-r1-r2 返回时r2-r1-pc,最后那不是已经返回是直接r2-pc了嘛,这不已经验证了重定向的原理了嘛。至于最后为什么真机ping不通虚拟机,有点费解,可能是模拟软件与真机的连接机制或配置问题还需要仔细研究。没用过此软件,不熟悉。哈哈
Sangfor_闪电回_小云 发表于 2016-11-17 14:10
  
楼主又分享干货了,好详细!赞~
SANGFOR_技术管理中心 发表于 2016-11-17 14:17
  
写得很好,干货!建议楼主也可以去看看这部视频
http://v.youku.com/v_show/id_XMT ... XMTc4Mzk4NjIzNg==.A
Sangfor_闪电回_小狒 发表于 2016-11-18 09:04
  
腻害!顶礼膜拜
JN——M 发表于 2016-11-18 09:56
  
好文啊
发表新帖
热门标签
全部标签>
每日一问
功能体验
技术笔记
技术盲盒
新版本体验
2023技术争霸赛专题
技术咨询
干货满满
标准化排查
GIF动图学习
产品连连看
安装部署配置
信服课堂视频
秒懂零信任
自助服务平台操作指引
技术晨报
深信服技术支持平台
答题自测
答题榜单公布
卧龙计划
通用技术
畅聊IT
云计算知识
排障笔记本
安全攻防
社区帮助指南
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
纪元平台
华北区拉练
天逸直播
以战代练
文档捉虫活动
山东区技术晨报
齐鲁TV
华北区交付直播
每周精选

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人