您的 IPv4 地址:
操作系统:
运营商:

什么是防火墙?规则、端口与网络访问

防火墙按照规则放行或拦截网络流量。它可以运行在电脑上、家用路由器上,也可以部署在云网络的边界。规则控制的是连接能否建立;被放行的应用并不会因此自动变得安全。

防火墙规则如何工作

一条规则可以根据连接方向、地址、协议、端口,有时还包括应用程序来作出判断。家用路由器一般会限制不请自来的入站流量,而操作系统防火墙控制的是到达设备本身的流量。状态检测防火墙可以放行已建立的出站连接的回复,而不必把所有入站端口都打开。

流量可能要经过好几层防护。云安全组可能已经放行某个端口,主机防火墙却仍在拦截它。如果路由器没有转发该端口,或者运营商使用了运营商级 NAT,本地的放行规则也可能不起作用。在进行大范围修改之前,请先把每一层都弄清楚。

服务为什么无法访问

首先确认应用正在运行,并在预期的协议、端口和网络地址上监听。只绑定在回环地址上的服务,本机可以访问,外部却访问不到。然后再检查主机规则、路由器端口转发和运营商的限制。外部端口测试可以显示从其观测点看到的可达性,但无法确定故障的唯一原因。

请区分连接被拒绝、连接超时和应用层错误。它们指向不同的故障位置,不过过滤规则可能会让它们难以分辨。请从一个真正独立的网络进行测试;有些路由器处理指向自身公网地址的连接时,与处理外部流量的方式不同。要从您的网络外部检查可达性,可以使用 2IP 端口检测;如果结果显示端口关闭,还需要逐一检查本地防火墙、NAT 和监听程序。

更稳妥地修改规则

只放行服务确实需要的访问,在可行时最好限制来源地址。及时更新服务,并要求适当的身份验证。记录每条规则存在的理由,服务停用后就把它删掉。拦截所有出站连接可能导致系统更新或 DNS 失效,所以在应用规则之前,要先弄清楚有哪些依赖关系。

防火墙无法阻止网络钓鱼、不安全的下载,也挡不住利用已放行服务发起的攻击。请把它与系统更新、数据备份和账户安全措施结合使用。修改之后,既要确认所需的连接能够建立,也要确认没有意外暴露其他服务。

对于 IPv6,请核实实际的接口地址和防火墙策略,而不要想当然地认为 IPv4 的 NAT 规则同样适用。应用可能只在一个地址族上监听,而客户端尝试的却是另一个。

ICMP 不只是 ping

ICMP 不仅承载 Echo 消息,还传递诊断工具以及路径 MTU 发现等机制所用的控制和错误信息。一刀切地屏蔽 ICMP 可能造成难以排查的故障。请参阅 ICMP 以及 MTU。