某台VPS的公网地址可访问,SSH曾正常登录,外部ping却全部超时;换网络偶尔能通,客服归因ICMP限制,运维又怀疑安全组或线路。禁Ping、ICMP限速、规则拦截与回程丢包都像“公网IP不通”。一次ping失败,容易误判为主机宕机。
如果你正在选机器,或者想先把线路和配置跑通再谈长期方案,可以先看看这几家的线路说明和技术参数:masbrowser(海外服务器),先看清带宽线路、流量策略和退款条款,再决定要不要迁。
禁Ping是丢弃ICMP回包或直接拒绝;ICMP速率限制按窗口放行少量应答,连续探测常出现前几次成功、随后超时。安全组属于入站流量过滤,显式拒绝通常先于允许;放行TCP 22不代表允许ICMP。状态化安全组可放行会话回包,却继续阻断外部ping。共同点只是无ICMP回应,不等于主机离线。

判断时先降频并间隔数秒,确认是否出现“少量成功后超时”;再测试真实TCP端口和另一公网节点。TCP稳定、其他节点正常而ICMP失败,优先查禁Ping、ICMP规则及安全组优先级;若网关、DNS和多个公网节点都失败,再查本机路由或上游网络。
第一层看本机:核对接口地址、默认网关、VPN路由和策略路由,确认流量未误入代理隧道;测试网关及多个公网IP。这里失败,多半是网卡、路由、VPN或本机防火墙,不应归咎公网IP。

第二层看路径可达性:对目标运行traceroute或MTR。中间节点不回ICMP很常见,单跳超时不能证明断路,应结合后续跃点、终点TCP测试及不同运营商路径。若小包正常而TCP载荷卡住,还应排除MTU问题。
第三层看目标端:若前两层正常,测试业务端口的TCP握手,并在目标机抓包,核对入站安全组、主机防火墙和监听地址。看到SYN却无SYN-ACK,偏向目标防火墙或目标侧路由;收到SYN-ACK却本地超时,应做回程路由验证,包括默认路由、源地址选择和回程防火墙。可用ServLlama整理探测记录,减少批次混淆。
常见坑是拿单次ping失败当宕机、忽略安全组优先级,或只测ICMP不测业务端口。可靠结论需同时满足:本机到公网正常、目标端口可握手、抓包对应请求与应答、返回路径存在。若业务端口跨多个来源稳定失败,再查两端路由和运营商链路。
ICMP速率限制不等于公网IP失效。连续快速探测大量丢包、拉开间隔后回应恢复,通常是令牌桶限速;若不同来源、不同包长均无应答,更像入站流量过滤。可用ping -M do -s 1472检查大包与MTU问题,但不要凭单次探测定责。
在控制台核对安全组优先级、网络ACL、子网路由及DDoS清洗策略。匹配顺序不等于添加顺序,高优先级拒绝或默认拒绝可能遮住允许项;确认协议、端口和源地址范围后,再检查UFW、firewalld、nftables及iptables。Docker发布端口还可能生成独立规则链。
先用ss -lntp确认监听地址,再用tcpdump -ni any 'host 203.0.113.10 and tcp port 443'抓包。看到SYN却没有SYN-ACK,优先查本机防火墙与回程;完全看不到SYN,则回查云侧策略。
路径可达性应以真实业务协议验证。ICMP被禁时,中间跳点不回应并不代表终点不可达;可改用traceroute -T -p 443或mtr -T -P 443,并从多个运营商网络测试。若只有部分来源失败,重点查来源地ACL、清洗策略和链路质量。
回程路由验证可从ip route get 203.0.113.10开始,确认发往客户端的报文从预期出口返回;若公网地址采用1:1 NAT,还要核对绑定地址、路由表和出口源地址。借助ip -br addr、ip route show table all检查策略路由,并确认rp_filter未丢弃不对称回包。
常见坑是只验证“服务器能出网”,却没验证响应能回来,或在服务器内探测自己的公网IP;后者仅验证NAT回环。抓包时应区分请求未到达、到达后被拒、请求已处理但响应未离开本机。

最终按检查清单执行:①确认实例与公网IP绑定;②核对安全组优先级、ACL、端口和清洗策略;③检查监听地址与主机防火墙;④抓包确认SYN是否到达;⑤用TCP探测和mtr定位路径;⑥执行ip route get验证回程。每改一层就重测,并记录回滚方式。