防墙怎么办:先判断是不是真的被墙
“防墙”没有一个开关能一次解决。节点不可用时,先判断属于哪一类:IP 被封锁、端口被阻断、协议或 TLS 特征被识别,还是只是服务端配置、证书或线路本身出了问题。很多运营者一看到“连不上”就换 IP,结果新 IP 也不通,原因其实是证书过期或进程崩溃,钱和时间都白花了。
直接的处理思路分三步。第一,用国内和海外两组探测点对比,确认故障范围。第二,定位到 DNS、SNI/TLS、客户端或服务端中的具体一层。第三,按结果选择处理方式:IP 被封就切换入口或中转;端口被阻断就换端口或调整协议;配置错误就修配置,不要盲目重建。如果同一业务的入口反复在几天内失效,说明问题已经超出单个节点,需要考虑把入口、转发和后端拆开,后文会讲长期架构。
区分封锁、配置与网络问题
最有效的判断方法是对比测试:同一个 IP 和端口,分别从国内多地和海外探测 ICMP 与 TCP。可以参考下面的对应关系:
看到国内多地 ping 和 TCP 全部超时、海外完全正常 → 大概率是 IP 被封锁 → 下一步是更换入口 IP,或者让流量走中转。看到国内 ping 能通、TCP 443 超时,海外 TCP 正常 → 更像是端口级阻断 → 先换端口验证。看到国内外都连不上 → 和墙关系不大,问题在服务端进程、防火墙规则或机房网络 → 登录服务器检查。看到 TCP 能建立连接但很快被 reset,或者握手阶段断开 → 可能是协议特征被识别,也可能是 TLS 配置错误,要进一步看日志。
还有一种容易误判的情况:只有部分运营商或部分省份不通,其他地区正常。这通常是线路质量或运营商路由问题,例如晚高峰丢包严重,不能直接当作被墙处理。拨测时用 tcping 这类按端口探测的工具,比单纯 ping 更能说明问题。
DNS / SNI / TLS / 客户端 / 服务端单节点排查步骤
建议按从服务端到客户端的顺序排查,每一步都确认后再往下走:
1. 服务端:执行 systemctl status xray 确认进程在运行;用 ss -tlnp | grep 443 确认端口在监听;用 journalctl -u xray -n 50 查看最近日志,留意有没有 failed to listen、证书加载失败之类的报错。 2. DNS:分别执行 dig +short 你的域名 @223.5.5.5 和 dig +short 你的域名 @8.8.8.8。如果国内解析结果是陌生 IP,或者两边结果不一致,说明可能存在 DNS 污染,或者解析记录还没生效。 3. SNI/TLS:从海外机器执行 openssl s_client -connect IP:443 -servername 你的域名,检查证书是否过期、域名是否匹配;如果用的是 REALITY,还要确认 dest 指向的目标站点可以正常访问。 4. 客户端:核对 UUID、端口、传输方式和 SNI 是否与服务端一致,并更新订阅;VMess 对时间偏差敏感,客户端和服务器时间差过大时会认证失败。
以上四步都正常、只有国内不通时,再按封锁处理。
处理之后怎么验证:分层复测与观察窗口
换完 IP 或改完配置,不要只用一台手机测一次就下结论,要按入口、中转、落地三层分别复测。入口层:从电信、联通、移动三种国内网络执行 tcping 入口IP 443,再执行 openssl s_client -connect 入口IP:443 -servername 你的SNI,看握手能不能完成、证书链对不对。中转层:在中转机上执行 curl -v --connect-timeout 5 https://落地地址,确认它能连到后端。客户端层:查看 Clash 或 v2rayN 日志。
判断逻辑可以这样走:TCP 通但 TLS 握手出现 connection reset → 优先怀疑 SNI 或流量特征被识别,下一步检查 SNI 和伪装配置;某一个运营商 i/o timeout、其他正常 → 多半是单线路问题,下一步换这条线路的入口;三网都 context deadline exceeded,而中转直连落地正常 → 问题在入口层。复测通过后,至少观察 24 到 72 小时,并分时段记录可用率,晚高峰单独看,才能判断这次处理是否真的生效。
临时处理的边界:哪些情况换 IP 也解决不了
换 IP、换端口、换 SNI 属于低成本的应急手段,适合偶发的单点失效。下面几种情况说明临时处理已经到头了:新 IP 上线后几小时到几天内又失效,说明暴露的不只是 IP,可能是订阅泄露、入口域名被关联,或者协议特征比较明显;换过入口后所有地区仍然失败,而中转到落地的测试也失败,问题在后端,继续换入口没有用;只有部分用户恢复,往往是 DNS TTL 没过期,或客户端还在用缓存的旧订阅。
另外,频繁手动改动本身也有风险。面板节点地址、证书、解析记录如果没有同步更新,就会出现“服务端正常、用户连不上”的配置漂移。批量换 IP 也会让新地址在短时间内集中暴露。如果你发现自己每周都在重复同样的应急操作,就说明需要从单点修补转向调整架构。
长期思路与方案适用边界
长期处理防墙问题,核心是把入口、转发、后端拆开。入口层准备多个 IP 或多条线路组成入口池,通过域名解析和健康检查切换,单个入口失效时可以较快摘除和替换;中转层负责转发,把落地机隐藏在中转后面,落地的真实 IP 不直接写进订阅;后端落地只接受来自中转的连接。XBoard 或 V2Board 面板里,节点地址填入口域名,不填写落地 IP,这样换入口只需要改解析,用户不必更新订阅。入口和中转数量多了以后,还需要批量部署和统一配置检查。
如果你的问题只是单个节点的证书过期、端口写错或客户端配置错误,按前文的步骤自己排查就够了。如果是多个入口或中转反复失效、换 IP 后很快又出问题,或者需要把入口、中转、落地的故障分开定位并设计切换方案,可以参考 Manguo Labs 的机场高可用入口解决方案(https://manguolabs.com/node-firewall/)。它侧重降低源站暴露风险和故障排查,并不能保证不被封锁。
什么时候这已经不是单点配置问题
如果问题只出在单个节点的配置上,按本文步骤自查通常就够了。如果问题已经跨越单个节点,比如多个入口或中转反复失效、换 IP 后很快又不通,就该从架构层面考虑入口高可用和故障切换。
Manguo Labs 能提供什么
Manguo Labs 为机场运营者提供入口、中转与落地链路的高可用规划和故障排查方案。
Manguo Labs 的机场高可用入口解决方案面向机场运营者,提供入口、中转与落地链路的高可用规划和故障排查,适合多个入口或中转频繁失效、换 IP 后短期内又出问题、需要分层定位并设计切换方案的场景。
适合这些情况
- 多个入口或中转频繁失效的机场运营者
- 换 IP 后短期内问题反复出现
- 需要区分入口、中转与落地故障并设计切换方案
常见问题
怎么判断节点是被墙了,而不是配置问题?
同时从国内和海外探测:海外 tcping 端口正常、国内多个运营商都不通,基本可以判断是入口 IP 或端口被封;国内外都不通,先查服务端进程和防火墙;TCP 通但客户端报 TLS handshake 或证书错误,多半是 SNI、证书或协议参数配置有误。
换 IP 之后很快又失效,是什么原因?
常见原因有:源站 IP 直接暴露在订阅里,域名解析历史可以追溯;流量特征长期不变;单个入口承载的用户过多。只换 IP 而不调整架构,新 IP 往往会沿着同样的路径再次暴露。
入口、中转、落地分别出问题时,日志表现有什么不同?
入口失效时,客户端通常报连接超时,入口机收不到新连接;中转失效时,入口有连接但转发目标超时;落地失效时,链路前段都通,但落地机的出站或目标站访问失败。在每一层分别用 ss -tnp 和服务日志核对连接是否到达,就能定位出问题的那一层。
自己临时处理能做到什么程度?
可以做的有:更换入口 IP 或端口,修正 SNI 和证书,切换协议参数,把用户调度到备用节点。这些办法能较快恢复服务,但无法消除源站暴露和单点问题。如果多个入口频繁失效,就需要做架构层面的调整。
总结与下一步
防墙怎么办的核心是先判断、再处理:区分封锁、配置和网络三类问题,再按 DNS、SNI、TLS、客户端、服务端的顺序排查单个节点,接着把问题定位到入口、中转或落地中的某一层。临时换 IP 能较快恢复服务,但有局限。入口反复失效时,应把入口、转发和后端解耦,减少源站暴露,并准备好多线路切换方案。任何方案都不能保证节点不被封锁。
需要进一步评估时,可先查看机场高可用入口解决方案,并参考更多技术文章。
继续阅读
了解 机场高可用入口解决方案 →