防火牆路由配置錯誤分析排除

作爲一個網絡安全工程師,分享成功的排錯經驗是很重要的,懂得分享的人才能夠進步,才能夠得到別人的尊重,希望看到本篇的讀者都能多多分享,共同進步!!
這篇文章是我在論壇上找到的,覺得不錯,希望博友們多多支持!
 
防火牆路由配置錯誤分析排除
 
一、前言
 
本文檔不是講述如何用網絡分析工具去解決防火牆路由配置錯誤,而是用簡單的系統工具和基本路由知識通過現象分析問題並解決問題,並通過該過程總結遇到網絡問題我們解決的思路。適合於剛接觸防火牆和交換路由設備的XDJM們。
 
二、前置知識
 
基礎路由知識;
會在dos界面輸入tracert及ip地址。
 
 
三、網絡架構
 
該企業現有的架構較簡單,沒有設置DMZ區,僅僅使用防火牆進行上網訪問控制,物理連接和地址分配如上拓撲圖。其中內部網將172.15.0.0/16進行子網劃分成24個子網,對應不同的廠區部門所在的VLAN。
 
clip0017
 
國慶後的一天,該外地用戶打電話給俺,說剛對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,實在是測試網絡設置效果時的必備之暗器)
1     3 ms    <1 ms    <1 ms  172.15.0.254(本機網關)
2     6 ms    99 ms   102 ms  172.16.0.250(防火牆內網口)
3     6 ms    99 ms   102 ms  172.16.0.254(交換機聯防火牆端口)
4     6 ms    99 ms   102 ms  172.16.0.250(防火牆內網口)
5     6 ms    99 ms   102 ms  172.16.0.254(交換機聯防火牆端口)
6     6 ms    99 ms   102 ms  172.16.0.250(防火牆內網口)
7     6 ms    99 ms   102 ms  172.16.0.254(交換機聯防火牆端口)
8     6 ms    99 ms   102 ms  172.16.0.250
9     6 ms    99 ms   102 ms  172.16.0.254
10    6 ms    99 ms   102 ms  172.16.0.250
11    6 ms    99 ms   102 ms  172.16.0.254
12    6 ms    99 ms   102 ms  172.16.0.250
13    6 ms    99 ms   102 ms  172.16.0.254
14    6 ms    99 ms   102 ms  172.16.0.250
15    6 ms    99 ms   102 ms  172.16.0.254
16    6 ms    99 ms   102 ms  172.16.0.250
。。。。。。(陷入循環狀態直至30跳中止)
 
從以上結果,我們可以看是防火牆的對目的爲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們拍磚,俺挺得住的!    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章