工厂 VPN 为什么只能单向 Ping 通?

单向 Ping 通几乎从来不是玄学:回程路由、防火墙策略方向、NAT 与主机防火墙,按顺序排查十分钟定位。

“A 站能 Ping 通 B 站,B 站 Ping 不通 A 站” — 这是工厂网络里最经典的问题之一,尤其常见于 VPN 组网之后。它几乎从来不是”玄学”,而是一些固定原因的组合。这篇文章按排查顺序记录处理思路。

先明确:Ping 是双向协议

ICMP echo 发出去,还要 echo reply 回得来。单向 Ping 通意味着:请求到了对方,但回复回不来(或者压根没到)。所以问题只有两类:去程策略回程路由

按顺序排查

  • 1. 回程路由:B 站设备知不知道”A 网段要经过 VPN 隧道走”?最常见的就是 B 端缺了回程路由,回复走了默认网关出了公网,自然回不来。查:B 端路由表有没有 A 网段指向隧道;
  • 2. 防火墙策略方向:很多防火墙的策略是带方向的 — A→B 放行了 ICMP,B→A 没放。检查两端防火墙会话方向和策略顺序;
  • 3. NAT 改写了地址:如果 B 端做了 NAT,A 发起的连接在 B 看到的源地址不是 A 的真实地址,回复 NAT 设备不知道该转给谁。梳理两端的 NAT 规则;
  • 4. 主机防火墙:Windows 默认禁止来自”其他网段”的 ICMP,但放行自己主动发起的会话 — 这完美制造出”单向 Ping 通”的现象。查目标主机的防火墙 ICMP 规则;
  • 5. 多网卡 / 策略路由:A 或 B 有多条线路时,回复可能从另一条接口出去。检查两端是否有策略路由或多出口。

实用命令

# 在 B 端查回程路由(Linux)
ip route get <A的内网IP>

# Windows 查看本机 ICMP 入站是否被防火墙拦截
netsh advfirewall monitor show currentprofile

# 抓包定位:在 B 端同时抓 request 和 reply
tcpdump -ni any icmp and host <A的内网IP>

工厂环境特别注意

工厂网络经常是”多个供应商拼起来”的:专线一家做、防火墙一家做、服务器自己管。单向 Ping 通的问题,十有八九出在两家的配置对不上。先把完整拓扑和所有策略收集齐,再动手改配置 — 这是工厂 IT 和办公网最大的不同。

相关服务:IT 基础架构。你的工厂如果正被网络问题困扰,可以把拓扑和现象发给我。

需要在你厂的 ERP / MES 上做类似的事?

可以把你的场景发给我,先聊清楚问题和边界,再谈方案。

项目咨询

有一个工厂 IT 问题?

MES、ERP、软件开发、系统集成、IT 架构,或者电子连接产品采购,都可以先交流需求。

滚动至顶部