关于vista系统机器无法通过防火墙上网的故障分析解决案例
作者:易隐者 发布于:2012-9-17 13:53 Monday 分类:网络分析
【说在之前】:1,该案例为误开启ARP代理功能导致的疑难故障;
2,该故障的触发是由于XP与vista操作系统发送的免费ARP报文格式不一致导致的;
3,关于ARP代理请参考本博客《ARP代理(Proxy ARP)》一文;关于免费ARP,请参考《免费ARP(gratuitousARP)》一文;
4,跟这个案例分析的原因有关的类似故障案例还有netyourlife论坛上的《为什么VISTA不能穿过ASA》,大家可自行查看比较;
5,针对该案例做的相关实验,请大家参考本博客《关于防火墙的arp代理功能对不同格式的arp报文的处理情况的实验》一文;
【我的案例】:
故障环境
1 网络拓扑
2 说明
1、内部机器全部在同一网段,经过一个二层交换机接入防火墙,通过防火墙的NAT访问互联网;
2、以前内部办公机器都是xp操作系统,现在新采购了一批vista操作系统新机器。
故障现象
1、 vista操作系统的办公机器在接入网络时,本地连接便显示网络连接正在识别,提示找不到网络;
2、 使用ifconfig/all命令查看vista系统的ip地址情况如下图所示:
通过上图,我们发现:vista系统的首选地址变成了169.254.180.208,而不是先前收到设置的192.168.0.23了;
3、 用户反馈,如果vista系统的办公机器只接入交换机不会出现这种情况,但一旦接入防火墙,故障现象就会出现。
4、 XP系统的办公机器一切正常。
故障分析
1、 首先根据用户反馈的故障现象,从自己的经验出发,个人认为这个跟网络应该没有什么关系,估计是操作系统的问题,于是打microsoft OEM厂商的800电话咨询关于vista系统ip地址“突变”的原因,得到的回复是:从未出现过此类问题,可能跟现场环境有关。
2、 根据用户反馈的情况测试:首先,设好vista系统机器的ip地址后,将其接入一台普通的交换机,查看vista机器的ip地址,的确正常,如下图所示:
难道真的跟防火墙有关?
3、 既然怀疑跟防火墙有关,我们便将注意力放到防火墙上来,telnet到防火墙上,使用使用tcpdump –i eth2 host 192.168.0.23 –n命令抓取测试vista主机的数据包。
4、 重启vista主机,发现vista主机在系统启动后,发送了一个源ip为0.0.0.0、目的ip为其配置的ip的arp请求包,同时,防火墙回应了该arp请求包,如下图所示:
5、防火墙为什么会回应该数据包?我们检查防火墙配置,发现防火墙上手动将内部办公网段设为静态arp代理。跟用户确认该问题,原来用户误认为该功能可能会解决arp欺骗问题,尝试设置后,忘记将其删除了。
故障解决
删除防火墙上手动添加的arp代理项,故障现象消失,故障解决。
引申问题
1、通过抓取数据包,我们可以发现vista系统与xp系统在网卡引导阶段发送的“免费”arp报文格式的差别:
VISTA 系统发送的免费ARP请求包格式为:
下图为wireshark抓取的vista系统网卡引导阶段发送的arp数据包格式:
XP系统中发送的免费ARP请求包格式为:
下图为xp系统发送的免费arp包格式:
为什么VISTA系统在网卡地址加载期间发送这种格式的ARP数据包呢?关于这个问题已经有人做过相关的测试,我也验证了这个实验,下面为实验的过程,引用自netexpert的gwdwx:
“A机-B机两台xp对联测试:
1)按照xp的arp包格式(源ip=目的ip=a机ip),用sniffer伪造arp包向b机发包,b机不断提示ip冲突;
2)按照vista的arp包格式(源ip=0.0.0.0),用sniffer伪造arp包向b机发包,b机不提示。
这就是最明显的区别,看来vista比xp还谦虚,它不仅让出ip,而且还不让对方发现有ip冲突,宁可牺牲自己”。
关于这个问题的详细讨论,可以参考如下链接:
http://www.netexpert.cn/viewthread.php?tid=19463&pid=125237&page=1&extra=page%3D1#pid125237
2、细心的兄弟应该会发现这样一个问题:既然是防火墙启用了针对内部办公网段的arp代理功能,使得vista在网卡加载地址期间发生了ip地址冲突,导致了vista系统机器无法访问互联网,那么,为什么xp系统在网卡加载地址期间没有出现地址冲突呢?
实验证明:防火墙虽然启用了针对办公网段的arp代理功能,但是,防火墙只响应vista系统格式的arp请求报文,而不响应xp系统网卡加载地址时发送的免费arp报文。
标签: 疑难故障 ARP 防火墙 免费ARP ARP代理 VISTA
关于防火墙的arp代理功能对不同格式的arp报文的处理情况的实验
作者:易隐者 发布于:2012-9-16 10:42 Sunday 分类:网络分析
1 实验环境
构建如下图所示的简单的实验环境即可,测试机为xp系统。
2 实验目的
验证防火墙的arp代理功能对不同格式(主要指xp系统免费arp格式和vista系统在网卡加载地址时发送的arp报文格式)的arp报文的响应情况。
3 实验工具
在此实验中使用到的工具主要有:
1、wireshark,主要用于实验时的报文捕获;
2、科来网络分析系统,主要用于构造vista系统网卡加载地址时发送的arp报文。
4 实验步骤
一、验证防火墙对xp系统免费arp报文的响应情况
实验步骤:
1、配置防火墙的arp代理功能;
2、在测试机器上开启wireshark,抓取本地网卡的数据包;
3、更改测试机网卡地址,以便测试机发送免费arp报文;
4、地址更改成功后,查看数据包。
实验现象:
通过分析数据包,我们发现,防火墙没有响应xp系统的免费arp报文。
二、验证防火墙对vista系统网卡加载地址期间发送的arp报文的响应情况
实验步骤:
1、配置防火墙的arp代理功能;
2、在测试机器上开启wireshark,抓取本地网卡的数据包;
3、使用科来网络分析系统,构造vista系统网卡加载地址期间发送的arp报文并向本地网卡发送;
4、地址更改成功后,查看数据包。
实验现象:
通过分析数据包,我们发现,防火墙以下图所示的报文格式响应的这个arp请求报文:
同时,测试机弹出地址冲突提示窗口。
5 实验总结
以上实验证明:防火墙的arp代理功能,不会响应标准的免费arp请求包,而正如七哥所说的“Vista的ARP报文似乎不符合ARP请求的规范,所以不能算做免费的ARP”,因此防火墙对vista系统网卡地址加载期间发送的arp请求包进行了回应。
标签: wireshark ARP 防火墙 科来 免费ARP ARP代理 VISTA 实验
ARP代理(Proxy ARP)
作者:易隐者 发布于:2012-9-16 9:33 Sunday 分类:网络分析
ARP代理通俗地说,就是由中间设备代替其他主机响应arp请求。下图展现了ARP代理工作的主要过程:
ARP代理工作的过程说明
1,192.168.0.16/16主机向外发送目的主机为192.168.1.3/24的ARP请求报文;
2,网关收到0.16的ARP请求报文,由于网关开启了ARP代理的功能,因此网关代替1.3向0.16发送ARP响应数据报;
3,网关向1.0/24网段发送1.3的ARP请求报文;
4,1.3收到后,发送ARP响应报文。
ARP代理带来的问题
在开启ARP代理功能之后,很可能会导致地址冲突等类似故障的产生,如在下图的网络环境下,将会产生一系列的不稳定的故障现象产生。
正因为如此,我们在实际工作的环境中对于ARP代理功能的应用需要慎重一些,尽量避免针对整个网段使用ARP代理功能,最好只针对需要使用ARP代理功能来实现某些特殊功能需求的少数IP开启。
ARP代理在实际工作中的应用
1,AnyIP
AnyIP是指机器随便使用什么IP地址或网关信息,只要接入网络中都可以实现访问的需求。这个技术被广泛的应用在soho级网关产品中,特别是在宾馆、会议室、广场等公共场所,为网络使用者提供了很大的便利。
其工作原理就是利用了ARP代理的功能,在收到非本地IP地址的ARP请求报文时,对其进行ARP响应。这样,那些收到ARP响应的主机就会将相关的数据包发送至网关设备接口处,再由网关设备转发出去,从而实现了上网的功能。
2,网关地址映射
在很多网关设备上,都支持将内网的服务器映射为公网地址对外提供服务,以达到隐藏内部网络的目的,这种地址映射也是利用ARP代理技术来实现的,我们来简单看一下下图所示的地址映射的工作过程:
地址映射的工作过程
在这个过程中,当来自互联网的数据访问产生了对映射外网地址202.102.X.2的ARP请求报文,正常情况下,因为这个地址的真实主机并不存在,发送端是不会收到来自202.102.X.2的ARP响应报文的。但是,由于网关上启用了针对202.102.X.2的ARP代理功能,网关会替代202.102.X.2发送ARP响应报文。从而实现了地址映射访问的需求。
日历
最新日志
链接
分类
最新碎语
- 如果一个人想要做一件真正忠于自己内心的事情,那么往往只能一个人独自去做"——理查德·耶茨
2019-06-25 21:34
- 日后我们知道,真正的人生道路是由内心决定的。不论我们的道路看上去如此曲折、如此荒谬地背离我们的愿望,它终归还是把我们引到我们看不见的目的地。(茨威格《昨日世界》)
2019-03-16 21:27
- 如果你渴望得到某样东西,你得让它自由,如果它回到你身边,它就是属于你的,如果它不会回来,你就从未拥有过它。——大仲马《基督山伯爵》
2018-10-09 22:07
- 人生有两大悲剧:一个是没有得到你心爱的东西;另一个是得到了你心爱的东西。人生有两大快乐:一个是没有得到你心爱的东西,于是可以寻求和创造;另一个是得到了你心爱的东西,于是可以去品味和体验。——弗洛伊德
2018-09-25 18:06
- 一个人越有思想,发现有个性的人就越多。普通人是看不出人与人之间的差别的——布莱兹·帕斯卡尔
2018-08-30 18:44
存档
- 2020年11月(2)
- 2018年1月(1)
- 2017年12月(1)
- 2017年11月(6)
- 2017年6月(1)
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2016年11月(1)
- 2016年4月(1)
- 2015年7月(2)
- 2015年6月(1)
- 2015年5月(5)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(1)
- 2014年4月(3)
- 2014年2月(2)
- 2014年1月(2)
- 2013年12月(1)
- 2013年11月(1)
- 2013年10月(2)
- 2013年9月(1)
- 2013年8月(1)
- 2013年7月(3)
- 2013年6月(2)
- 2013年5月(1)
- 2013年4月(3)
- 2013年3月(1)
- 2013年2月(2)
- 2013年1月(2)
- 2012年12月(11)
- 2012年11月(12)
- 2012年10月(12)
- 2012年9月(26)
- 2012年8月(29)
- 2012年7月(18)
- 2012年6月(2)
- 2012年5月(25)
- 2012年4月(16)
- 2012年3月(13)
- 2012年2月(6)