H3C防火牆開啓路由跟蹤

  有時爲了排查網絡的連通性需要用到Traceroute,然而有的設備默認並不開啓路由跟蹤,在排查故障的時候有時會要用到tracert來判斷路由的正確性。
  機房裏有一臺 H3C SecPath 和天融信防火牆相連,其他還有幾臺路由設備。在天融信上做了路由,訪問的時候不通,由於路由設備較多,排查的時候使用tracert到H3C的設備就不通了,SecPath 沒有ip ttl-expires enable、ip unreachables enable、ip df-unreachables enable這樣的命令,於是考慮做訪問策略,寫了以下策略用在了SecPath的主機相連端口進方向:


rule 1 permit icmp icmp-type echo          #回顯請求
rule 2 permit icmp icmp-type echo-reply      #回顯應答
rule 3 permit icmp icmp-type ttl-exceeded     #ICMP超時響應報文
rule 4 permit icmp icmp-type port-unreachable  #ICMP端口不可達


然後trace經SecPath,還是不行,在官網找了資料,相關配置說:


 firewall defend tracert 命令用來打開tracert 報文***防範功能


   當時比較着急並未理解這句話的含義,把這個命令敲上了還是不行,爲進一步排查打開了debug功能:
terminal debugging
terminal monitor
debugging firewall packet-filter all
找到了相關報文:

wKiom1lM1UjhwJPqAABAG2KLGes541.png-wh_50

唯一覺得比較有問題的地方就是:rcvIfName(1023)=InLoopBack0  

這裏出現了一個環回接口,難道相關報文被丟到了InLoopBack0,查找配置文件沒發現 InLoopBack0接口的配置,所以我覺得在圖形界面裏又該有相關設置,在最相關的“防火牆管理”、“***防範裏”有一項“路由跟蹤***”,將該項去掉,然後再試果然可以了!!

  通過對比之前的配置文件發現少了一句firewall defend tracert,這時才明白這條命條是打開報文***防範功能,而不是tracert!一時疏忽竟繞了個大彎子。現在trace 也可以通過天融信防火牆,該條命令不但阻止本地路由被跟蹤其他經過的報文也會被丟棄。
至此,具體配置可以這樣:


  1、在內部接口的IN方向:
  rule 0 permit icmp source X.X.X.X 0 #想要允許的IP

  以下規則禁止其他所有ping內網
  rule 1 deny icmp destination 10.0.0.0 0.255.255.255 icmp-type echo
  rule 2 deny icmp destination 172.16.0 0.15.255.255 icmp-type echo
  rule 3 deny icmp destination 192.168.0.0 0.0.255.255 icmp-type echo

  所有主機可以ping外網
  rule 4 deny icmp icmp-type echo

  其他類型的ICMP報文(tracert)禁止通行
  rule 10 deny icmp

  2、在設備外部接口的IN方向

  無限制的IP
  rule 0 permit icmp source X.X.X.X 0

  允許所有主機ping外網的回顯報文
  rule 1 permit icmp icmp-type echo-reply

  允許Tracert的回顯信息
  rule 2 permit icmp icmp-type ttl-exceeded
  rule 3 permit icmp icmp-type port-unreachable #最好有這一條traceroute需要port-unreachable的ICMP返回包  
  rule 10 deny icmp      #其他禁用

  當然首先關閉防路由跟蹤功能:undo firewall defend tracert

  以上設置完後只有允許的IP可以無限使用ICMP,其他主機只能使用ping,且只能ping通外網地址,互聯網用戶不能使用ICMP與外網設備通信,這樣設置相對安全。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章