中国领先的IT技术网站
|
|

推荐:防火墙路由配置错误分析排除

本文讲述了如何用网络分析工具去解决防火墙路由配置错误,而是用简单的系统工具和基本路由知识通过现象分析问题并解决问题,并通过该过程总结遇到网络问题我们解决的思路。

作者:佚名来源:it168.com|2008-04-22 15:44

Tech Neo技术沙龙 | 11月25号,九州云/ZStack与您一起探讨云时代网络边界管理实践


本文档不是讲述如何用网络分析工具去解决防火墙路由配置错误,而是用简单的系统工具和基本路由知识通过现象分析问题并解决问题,并通过该过程总结遇到网络问题我们解决的思路。适合于刚接触防火墙和交换路由设备的XDJM们。

前置知识:

基础路由知识;
会在dos界面输入tracert及ip地址。

网络架构:


该企业现有的架构较简单,没有设置DMZ区,仅仅使用防火墙进行上网访问控制,物理连接和地址分配如上拓扑图。其中内部网将172.15.0.0/16进行子网划分成24个子网,对应不同的厂区部门所在的VLAN。

一、事故起因及现象

国庆后的一天,该外地用户打电话给俺,说刚对9月份部署的一台防火墙在做了策略调整后整个公司不能访问互联网,导致全厂职工和领导极大的不满,联名说周一前弄不好就扣信息中心的工资。。。。。。(幸亏俺RP好,不是在十一期间调整 ^_^)通过咨询,了解现在的网络状况表现如下:

1、不能通过域名上网,也不能通过已知的外网网站的ip上网,但是可以ping通外网的地址;(注意!此处位为用户的说法)
2、可以登陆到该防火墙进行策略的调整设置;

二、远程分析诊断

根据用户所描述的现象,初步判断为DNS服务器没有起效,因此让他们看看防火墙设置中的DNS服务器地址是否正确,能否ping通该服务器。回答是防火墙中设置的DNS服务器的地址是当地电信提供的,但是无法ping通到该dns地址。
根据以上ping当地DNS服务器地址不通的结果,以及用户提到可以ping通外网地址,分析为当地的dns服务器服务可能有中断。准备叫他们换其它dns服务器进行尝试,并寻求他们该防火墙的管理员密码以进行更加详细的设置查询和设置,但是他们以公司内部机密等原因不提供,并希望我们到现场进行解决。
没有办法,只有去一趟咯!

公司--的士--源长途车站--睡觉2小时--目标长途车站--的士--现场

三、现场分析处理

到达现场后,对客户描述的现象进行测试:
1、整个企业内部网网络连通正常;
2、任何网段中允许上网的工作站无法通过域名访问互联网;
3、任何网段中允许上网的工作站无法通过已知的IP访问互联网网站及其它服务;
4、任何网段中允许上网的工作站能ping通到防火墙外网口网关(即电信端);
5、任何网段中允许上网的工作站无法ping通到电信端以外的地址(此处跟用户最先说的可以ping通外网的ip地址不符合。后经了解,用户当时以为能ping通到电信端就以为是ping通到外网所有的地址,没有进行进一步的测试。)

根据以上的表象,初步认为有两种可能:
1、电信端出问题,该公司所处的公网网段地址没有发布出去;
2、本地的防火墙设置有问题。

为了进一步进行查询问题出在什么地方,决定进行一次路由跟踪,看是否是电信端的关于该企业的公网网段发布问题。

tracert  61.172.255.19      (www.netexpert.cn的解析地址,允许ping,实在是测试网络设置效果时的必备之暗器)

Tracing route to www.netexpert.cn [61.172.255.19]
over a maximum of 30 hops:

1     3 ms    <1 ms    <1 ms  172.15.0.254  (本机网关)
2     6 ms    99 ms   102 ms  172.16.0.250  (防火墙内网口)
3   257 ms   300 ms   317 ms  216.X.X.241   (防火墙外网口网关,电信)
4   298 ms   141 ms   128 ms  221.232.254.1
5   188 ms   265 ms   387 ms  202.97.37.149
6   270 ms   130 ms    79 ms  202.97.35.77

7   490 ms   372 ms   495 ms  61.152.86.13
8   102 ms    91 ms    87 ms  61.152.87.134
9    41 ms    46 ms    95 ms  61.152.83.38
10    89 ms   252 ms    81 ms  61.152.83.162
11   304 ms   333 ms   439 ms  218.78.213.102
12   448 ms   463 ms   173 ms  61.172.255.19

从以上结果,我们可以看是防火墙的对目的为61.172.255.19的数据包没有正确的路由,数据在交换机和防火墙之间进行环路传递。
确定是防火墙的路由有问题,登陆到该防火墙,查询路由状态:


Yty-> get route
untrust-vr (0 entries)
--------------------------------------------------------------------------------
C - Connected, S - Static, A - Auto-Exported, I - Imported, R – RIP  trust-vr (4 entries)
--------------------------------------------------------------------------------
ID          IP-Prefix      Interface         Gateway   P Pref    Mtr     Vsys
--------------------------------------------------------------------------------
*   5            0.0.0.0/0           eth1    172.16.0.254   S   20      1     Root
*   3            0.0.0.0/0           eth3    216.X.X.241   S   20      1     Root
*   1        172.16.0.0/24           eth1         0.0.0.0   C    0      0     Root
*   2      216.X.X.240/28           eth3         0.0.0.0   C    0      0     Root

从上表中,我们可以看到除了有两条直联路由外,配置了两条默认路由,到达未知IP可通过E1或E3到达,而且访问回来的路由没有,看来问题应当出在这个地方了。
让我们来假设一下数据报的流向:

1、访问目标为路由已知的地址

采用此路由表,我们在内网中能访问到的最远的地址为该企业专线在电信端的地址,即216.X.X.241/28。其流向为工作站―――工作站网关(vlan地址)―――所在vlan网关(交换机同防火墙直联端口地址172.16.0.254)―――防火墙内网口地址(172.16.0.250),防火墙通过路由表查询,发现到达216.X.X.241的地址为自己的直联路由,将该数据报交给E3,这样我们访问的数据报能到达该地址。

2、访问目标为路由未知的地址

在访问目标为路由未知的地址时,数据报到达E1后,E1发现有两条默认路由,因此将数据重新转发到交换机(为什么不选用另一默认路由未知?难道是针对E1口而言这条默认路由的优先级高一些?寻求答案!),交换机根据自己的路由表又发到防火墙,而防火墙根据路由表又发回。。。。。。,最终导致路由环路。
后经了解,负责防火墙的管理人员为了让返回的数据包到达目的,将原有的路由表进行勒修改,增加了这条造成环路的路由。

原路由设置为:

 set route  0.0.0.0/0 interface ethernet3 gateway 216.x.x.241
 set route  172.15.13.0/24 interface ethernet1 gateway 172.16.101.254
 set route  172.15.3.0/24 interface ethernet1 gateway 172.16.101.254
(原来只允许13和3两个VLAN访问互联网)

错误的路由设置为:

 set route  0.0.0.0/0 interface ethernet3 gateway 216.x.x.241
 set route  0.0.0.0/0 interface ethernet1 gateway 172.16.101.254

四、故障处理

将路由  0.0.0.0/0      eth1    172.16.0.254   S   20      1     Root删除;

重新添加新的路由条目:

*   4        100.0.0.0/8           eth1    172.16.0.254   S   20      1     Root

(回应包路由,到达100.0.0.0网段的数据报将交给Eeh1处理,下一跳的地址为交换机到防火墙的级联口)

*   5      172.15.0.0/16           eth1    172.16.0.254   S   20      1     Root

(回应包路由,到达172.15.0.0/16的任一网段的数据将转发到eth1,下一跳地址为交换机端口地址。)

set route  0.0.0.0/0 interface ethernet3 gateway 216.x.x.241
set route  100.100.10.0/8 interface ethernet1 gateway 172.16.101.254
set route  172.15.0.0/16 interface ethernet1 gateway 172.16.101.254

查询路由
yty-> get route
untrust-vr (0 entries)
--------------------------------------------------------------------------------
C - Connected, S - Static, A - Auto-Exported, I - Imported, R - RIP
trust-vr (5 entries)
ID          IP-Prefix      Interface         Gateway   P Pref    Mtr     Vsys
--------------------------------------------------------------------------------
*   3           0.0.0.0/0           eth3     216.X.X.241   S   20      1     Root
*   1       172.16.0.0/24           eth1          0.0.0.0   C    0      0     Root
*   2     216.X.X.240/28           eth3          0.0.0.0   C    0      0     Root
*   4         100.0.0.0/8           eth1    172.16.0.254    S   20      1     Root
*   5       172.15.0.0/16           eth1    172.16.0.254    S   20      1     Root


五、结果测试

Tracing route to www.netexpert.cn [61.172.255.19]
over a maximum of 30 hops:

1     3 ms    <1 ms    <1 ms  172.15.0.254  (本机网关)
2     6 ms    99 ms   102 ms  172.16.0.250  (防火墙内网口)
3   257 ms   300 ms   317 ms  216.X.X.241   (防火墙外网口网关,电信)
4   298 ms   141 ms   128 ms  221.232.254.1
5   188 ms   265 ms   387 ms  202.97.37.149
6   270 ms   130 ms    79 ms  202.97.35.77

7   490 ms   372 ms   495 ms  61.152.86.13
8   102 ms    91 ms    87 ms  61.152.87.134
9    41 ms    46 ms    95 ms  61.152.83.38
10    89 ms   252 ms    81 ms  61.152.83.162
11   304 ms   333 ms   439 ms  218.78.213.102
12   448 ms   463 ms   173 ms  61.172.255.19


至此问题解决,将工作站划分到不同vlan上网都正常。


总结

对故障的排除并不一定需要专业的网络分析软件,很多系统自带的工具能很方便的反映问题所在,定义问题点,此次能找到问题点就是因为使用tracert进行路由跟踪,确定了故障的原因是环路路由造成的;
网络出现故障时一定要对网络的架构有所了解,根据问题表现按照网络连接的顺序进行正向、反向的验证、分析,找出故障所在。
对于问题出在三层交换、网关位置时,问题一般是数据报路由的问题,因此出现故障首先检查路由表,这样会省很多事情;
对于故障现象应当进行验证操作,以免出现实际和描述不一致的地方,影响故障诊断。

 后语

每次处理问题后,总有种冲动,想写些东西,不为别的,只是想将该处理方法回味一下,确认自己确实是了解该故障原因和处理方法是否正确。不想做那种知道处理方法而不知道原因的操作工。由于一直做防毒方面的工作,考试结束后就没有接触什么路由交换的东东,因此这次的冲动更强烈些,就乱七八糟的写了一通,也不知对否,望论坛中的XDJM们拍砖,俺挺得住的!        

这次的处理问题时还有很多地方自己没有弄清楚,所以没有写得很详细。比如数据报在访问过程中的数据格式、到达目的地址后的回应包的格式、在设置两条默认路由情况下数据报会如何选择等问题。希望各位兄弟姐妹们多多指教!

【相关文章】

【责任编辑:王健楠 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

热门职位+更多

读 书 +更多

解密SEO:搜索引擎优化与网站成功战略

本书是作者根据十年网站营销经验,特别是搜索引擎优化(SEO)实现营销方面的技术和实践总结。本书帮助读者建立搜索营销的概念,分析搜索营...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× CTO训练营(深圳站)