路由器和防火墙对Ping/Tracert工具的影响

简介:
在日常的网络探测和故障诊断中,常用到的两个工具是Ping和Tracert。随着网络结构的日益复杂和中间设备(包括但不仅限于路由器和防火墙)的广泛部署,以及为了实现安全要求而在路由器和防火墙上实施了严格的访问控制策略后,网络管理和维护人员想要正常使用Ping/Tracert对网络进行主动有效的探测和故障诊断往往受阻,甚至无法进行。Windows环境下的Ping/Tracert工具都是基于ICMP协议实现的,而在Linux或Cisco等网络设备中,Traceroute还使用了UDP协议,在此不做深入讨论。
确实,在网络中部署了路由器和防火墙后,如果不经过慎重规划和部署,就以“保障网络安全”为由,在实施访问控制策略时,过滤掉ICMP协议流,将给日后正常的网络探测和故障诊断带来极大的困难。ICMP协议数据包的类型多样,有些类型的数据包确实会给网络带来安全威胁,但只要正确部署和配置路由器及防火墙的安全策略,在允许必要的ICMP类型数据包的同时过滤特定的ICMP类型数据包,则既能够使得Ping/Tracert工具正常工作,给网络维护和故障诊断带来便利,又能有效保证网络和设备的安全运行。
在网络中部署了路由器和防火墙后,要使得Ping/Tracert正常应用,需要从两个方面进行考虑:第一,过境设备的Ping/Tracert数据流,需要路由器和防火墙放行;第二,到设备自身或接口的Ping/Tracert数据流,需要路由器和防火墙响应。笔者以Cisco设备为例,来说明如何配置路由器和防火墙的策略,允许必要的包括回显(echo)、回显应答(echo reply)、超时(time exceeded)和目标不可到达(unreachables)等四种类型的ICMP数据包,以保障Ping/Tracert命令的正常使用。
在Cisco路由器中,利用NAT结合ACL实现访问控制时,一般允许从内部接口的到外部接口的所有流量,包括ICMP。所以,需要在路由器的外部应用ACL,为允许必要的ICMP数据包进入网络,ACL中必须包含以下的允许规则:
Access-list 101 permit icmp any any echo
Access-list 101 permit icmp any any unreachable
Access-list 101 permit icmp any any time-exceeded
Access-list 101 permit icmp any any echo-reply
如果在路由器中实现了基于区域的IOS防火墙功能,此时可以把路由器当状态防火墙对待,建议对ICMP流量实施应用审查,则配置更为简单明了。另外,对于从外部或内部到自身接口的需要允许的ICMP流量,也通过防火墙策略(而不是ACL)配置实现即可,在此不列出具体命令了。还有一点要注意的是,作为一种防御DoS攻击的保护措施,默认情况下,路由器将ICMP 不可到达类型的流量限制到每500毫秒一个数据包。在12.1及更新的IOS镜像中,这个速率限制可通过命令”ip icmp rate-limit unreachable”进行配置。
 对于一般的状态化防火墙, 只要策略允许从内到外的所有流量,或对ICMP协议实施了应用审查,Ping/Tracert就能够正常运转,无需额外的策略配置。但是从外到内的Ping/Tracert则需要配置策略以放行流量。在PIX/ASA防火墙中,默认情况下,从外向内的ICMP流量被禁止,从内向外的ICMP流量允许通过,但返回包却被禁止。要改变这一默认行为,需要配置例外的允许策略以放行必要的ICMP类型数据包。此外,可通过命令”icmp unreachable rate-limit n burst-size n ”对ICMP不可到达类型的流量进行必要限制,还可以在防火墙上启用针对ICMP的防DoS功能。要允许穿越防火墙的特定的ICMP流量,配置命令如下:
Object-group icmp-type Permit-ICMPType
Icmp-object echo
Icmp-object unreachable
Imcp-object time-exceeded
Icmp-object echo-reply
Access-list inbound permit icmp any any object-group Permit-ICMPType
access-group inbound in interface outside
允许到防火墙自身接口特定的ICMP类型流量,在则命名接口上的配置命令为:
icmp permit 0.0.0.0 0.0.0.0 echo
icmp permit 0.0.0.0 0.0.0.0 echo-reply
icmp permit 0.0.0.0 0.0.0.0 unreachable
icmp permit 0.0.0.0 0.0.0.0 time-exceeded
icmp deny 0.0.0.0 0.0.0.0  

在实际的网络环境中,如果路由器或防火墙丢弃了ICMP超时数据包,那么Tracert会对该跃点显示一系列“*”字符。如果在近侧接口(靠近发起Tracert流的计算机端)上实施了ICMP过滤,那么该路由器或防火墙及其后续的设备上都会显示“*”字符直到完成30个(默认)跃点数尝试。如果Ping/Tracert工具工作正常,那么相应地另一工具即pathping也能正常工作。此外,Ping/Tracert目的为启用了Windows防火墙的主机,需关闭Windows防火墙或进行设置以使得其允许传入的特定类型的ICMP流量。




本文转自 小王 51CTO博客,原文链接:http://blog.51cto.com/xiaowang/812793,如需转载请自行联系原作者

相关文章
|
2月前
|
监控 网络协议 安全
华为配置防火墙直连路由器出口实验
华为配置防火墙直连路由器出口实验
|
13天前
|
监控 网络协议 安全
【亮剑】当设备IP能ping通但无法上网时,可能是DNS解析、网关/路由设置、防火墙限制、网络配置错误或ISP问题
【4月更文挑战第30天】当设备IP能ping通但无法上网时,可能是DNS解析、网关/路由设置、防火墙限制、网络配置错误或ISP问题。解决步骤包括检查网络配置、DNS设置、网关路由、防火墙规则,以及联系ISP。预防措施包括定期备份配置、更新固件、监控网络性能和实施网络安全策略。通过排查和维护,可确保网络稳定和安全。
|
3月前
|
网络协议 安全 网络安全
第二轮学习笔记: 扫描工具 -- nmap躲避防火墙
第二轮学习笔记: 扫描工具 -- nmap躲避防火墙
20 0
|
4月前
|
网络协议 网络架构
比较ping,tracert和pathping等命令之间的关系
比较ping,tracert和pathping等命令之间的关系
31 0
|
6月前
|
Unix Linux Shell
学习Linux须知1.0之Linux相关概念、工具(yum、vim)、防火墙等
学习Linux须知1.0之Linux相关概念、工具(yum、vim)、防火墙等
221 0
|
8月前
|
监控 安全 网络安全
防火墙以及路由器和交换机的安装,调试以及维护工作的详细说明方法?
防火墙以及路由器和交换机的安装,调试以及维护工作的详细说明方法?
|
9月前
|
安全 测试技术 网络安全
路由器?防火墙?
路由器?防火墙?
84 0
|
9月前
|
人工智能 网络协议 网络架构
网络中的哪些事儿(四)之路由器中的有趣Ping实验
网络中的哪些事儿(四)之路由器中的有趣Ping实验
|
9月前
|
安全 Linux 网络安全
简化防火墙管理:探索Linux防火墙工具UFW
在网络安全领域,防火墙是保护计算机网络免受恶意攻击和未经授权访问的重要工具。然而,防火墙的配置和管理可能变得复杂,特别是对于不熟悉网络安全的人来说。幸运的是,Linux系统提供了一个名为UFW(Uncomplicated Firewall)的工具,它简化了防火墙的配置和管理。本文将深入探讨UFW的基本概念、用法以及如何在Linux系统中使用它来实现防火墙规则。
170 0
|
10月前
|
关系型数据库 MySQL 网络安全
新建的windows服务器不能ping通?因为没有关闭防火墙
新建的windows服务器不能ping通?因为没有关闭防火墙