从 LAN 使用 mtr/traceroute 的防火墙规则

从 LAN 使用 mtr/traceroute 的防火墙规则

我有一个 Linux 计算机组成的 LAN,它们可以通过 NAT 访问互联网。网关运行限制性防火墙。我允许 ICMP 回应请求和回复通过网关上的防火墙,因此我可以从 LAN 计算机 ping 任何外部主机,但到外部主机的 mtr 和 traceroute 挂在网关跳转处。

我应该设置哪些额外的防火墙规则才能使这些工具正常工作?

答案1

Linux traceroute 默认使用 UDP,在随机高端口上,而 Windows tracert 使用 ICMP。对于 Linux 计算机,您需要配置防火墙以允许在高端口上使用 UDP,或者使用 -I 命令行开关指定使用 ICMP ECHO 而不是 UDP 数据报。

编辑后添加:默认情况下,它会在未分配的端口范围内随机选择一个端口,通常称为“高端口”。通常,这意味着 49152–65535 范围内的端口(请参阅此端口列表)。手册页将此称为服务无意中运行的“不太可能的值”,因为我们实际上不希望主机将 UDP 数据报作为信息处理。如果需要,您可以使用 -p 指定端口,但请注意,使用 UDP 时,它会在每次探测时将目标端口增加 1。如果您想使用恒定端口,请指定 -U 开关(默认端口为 53)。或者,如果您不想使用 UDP 或 ICMP,您可以使用 -T 开关指定 TCP SYN 模式,它将使用您可以使用 -p 设置的恒定端口。然后,您将在防火墙上打开该端口。

仅允许非特权用户使用 UDP。

相关内容