最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
服务器故障排查如何解决防火墙规则导致的断网
时间:2026-08-17 08:30:49 编辑:袖梨 来源:一聚教程网
防火墙规则配置错误是服务器断网高频原因,核心在于“开得不全”或“顺序不对”;需分层验证规则是否生效、放行范围是否覆盖真实通信路径,并同步检查云安全组。
防火墙规则配置错误是服务器断网的高频原因,问题往往不是“完全没开”,而是“开得不全”或“顺序不对”。解决核心在于分层验证:先确认规则是否生效,再检查放行范围是否覆盖真实通信路径。
查清当前生效的规则
不同系统命令不同,但目标一致:看到真实运行中的规则链。
- Linux(iptables):
sudo iptables -L -n -v查看带计数的规则,重点看 INPUT 和 OUTPUT 链中 DROP/REJECT 行是否有持续增长的包数 - CentOS/RHEL(firewalld):
sudo firewall-cmd --list-all确认 active zone、开放端口、富规则(rich rules)是否包含你依赖的服务 - Ubuntu(ufw):
sudo ufw status verbose检查状态是否为 active,以及每条规则的方向、协议、端口和来源是否匹配实际访问需求
重点核对三类关键放行项
很多断网不是因为没开 HTTP,而是底层通信被拦了。
-
基础网络协议:确保 ICMP(ping)、DHCP(自动获取IP)、DNS(53端口)、ARP 响应未被阻断。Windows 防火墙中要勾选“核心网络”;Linux 中若用 iptables,默认策略为 DROP 时,必须显式添加:
iptables -A INPUT -p icmp -j ACCEPT -
出站流量控制:检查 OUTPUT 链是否默认 DROP。服务器访问外网(如 yum update、curl 外部 API)失败,常因 OUTPUT 被锁死。临时放通可测试:
sudo iptables -P OUTPUT ACCEPT -
连接跟踪相关规则:若启用 conntrack(如使用 NAT 或复杂转发),需允许 ESTABLISHED,RELATED 流量:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
云环境必须同步检查安全组
本地防火墙只是第一道门,云平台的安全组是第二道——且它在流量到达服务器前就生效。
- 登录云控制台,进入该实例对应的安全组页面
- 检查入方向(Inbound)是否放行业务端口(如 22、80、443),源地址是否写对(例如误填成
192.168.1.0/24却忘了外网用户不在该段) - 检查出方向(Outbound)是否限制过严,比如只允许去某几个 IP,却没放通 DNS(UDP 53)或时间同步(NTP 123)
- 注意规则优先级:部分平台按顺序匹配,靠前的 deny 规则可能直接截断后续 allow
快速验证与回滚建议
别猜,用最小动作验证因果关系。
- 临时清空本地规则测试(仅限内网环境或有控制台备份):
sudo iptables -F && sudo iptables -P ACCEPT。若网络恢复,说明问题确实在 iptables - 安全组修改后,无需重启服务器,但部分旧连接可能仍走缓存路径,建议同时执行
ss -tni查看连接状态,或用新终端重新 telnet 测试 - 所有修改前,先备份当前规则:
sudo iptables-save > /root/iptables-before-change.rules