SoftEther、PacketiX 或其他 VPN 已经在 Windows 上连接成功,本机访问目标网络也完全正常,但另一台电脑、虚拟机或热点设备就是不能用。这种情况很常见,也最容易被误判成“VPN 没连好”。

实际上,VPN 连接成功只证明 Windows 主机自己的网络路径已经建立。要让其他设备也通过这台 Windows 出去,还要经过局域网接入、Windows 转发、ICS/NAT、路由和 DNS。任何一层出问题,都会出现“本机正常、下游不通”。

先别重装 SoftEther:先判断坏的是 VPN,还是共享链路

排查的第一步非常简单:先在安装 SoftEther 或 PacketiX 的 Windows 主机上测试目标网络。

如果 Windows 本机自己就不能访问目标网站、远端网段或公司网络,那么问题仍然在 VPN 这一侧,优先检查 VPN Server、账号、虚拟网卡、Windows 路由和 DNS。这个时候反复开关 ICS 或热点没有意义。

只有当 Windows 本机已经确定可以通过 VPN 正常访问之后,才继续看共享链路。此时完整的数据路径更接近:

Client / VM / Phone
        ↓
LAN / Wi-Fi Hotspot
        ↓
Windows
        ↓
ICS / NAT
        ↓
SoftEther Virtual Adapter
        ↓
VPN Server
        ↓
Internet / Remote Network

排错的核心不是猜,而是确认流量停在哪一段。

下游设备先看 IP、网关和 DNS

如果另一台 Windows 电脑无法上网,先运行:

ipconfig /all

重点看 IPv4 Address、Default Gateway 和 DNS Servers。假如客户端拿到的是 169.254.x.x 之类的地址,通常说明它没有从 Windows 共享网络正常获得配置。这时候问题甚至还没到 SoftEther。

优先检查 Windows Internet Connection Sharing(ICS)、Mobile Hotspot、下游网卡、DHCP 和物理连接。如果是网线直连,也要确认两端的地址和子网是否正确。

客户端已经拿到正常地址后,再测试 Windows 网关:

ping <Windows 网关 IP>

如果连网关都到不了,继续查 LAN、防火墙和下游网卡。只有客户端能稳定到达 Windows,才有必要继续查 NAT 和 VPN 出口。

能到 Windows,但出不了网:最常见的是共享接口选错了

实际使用中的 Windows 往往不只有两张网卡。你可能同时看到 Ethernet、Wi-Fi、SoftEther、WireGuard、OpenVPN、Hyper-V、VMware、VirtualBox、WSL 或其他虚拟接口。

这时“Windows 显示网络已连接”并不能说明 ICS 走的是你想要的出口。真正要确认的是两件事:

  • 哪一个接口是当前 VPN 的上游出口;
  • 哪一个接口连接下游电脑、交换机或热点设备。

正常关系应该类似:

SoftEther / PacketiX VPN Adapter
            ↓
         ICS / NAT
            ↓
LAN / Hotspot Adapter
            ↓
          Client

如果误把物理 Ethernet 或 Wi-Fi 当成上游共享出去,客户端可能照样能上网,但流量根本没有经过 VPN。这类问题比“完全断网”更隐蔽,因为表面上看起来一切正常。

VPN 显示 Connected,也不代表所有流量都在走 VPN

SoftEther Client 会在 Windows 中使用虚拟网络适配器,连接过程还可能影响系统路由。官方文档也明确说明,虚拟网卡会作为 Windows 网络接口工作,客户端可以根据连接状态处理路由。换句话说,Connected 只是会话状态,不是“全局流量已切到 VPN”的证明。

可以在主机上检查:

route print

或者使用 PowerShell:

Get-NetRoute

重点关注默认路由 0.0.0.0/0,以及目标网段是否存在更具体的路由。例如:

0.0.0.0/0      → 本地宽带
10.0.0.0/8     → SoftEther VPN

这种情况下 SoftEther 本身可能工作完全正常,但它只是负责 10.0.0.0/8,普通互联网仍然走本地网络。下游设备如果要完整使用 VPN 出口,就必须确认实际路由策略符合这个目标。

SoftEther 官方对虚拟网卡和路由处理有更详细的说明,可参考 SoftEther VPN Client Virtual Network Adapter。

客户端有网络,但出口 IP 不对

共享成功以后,不要只验证“网页能不能打开”。还要分别查看 Windows 主机和下游客户端的公网出口。

如果 Windows 主机已经通过 VPN 使用目标出口,而客户端显示的是本地宽带 IP,说明共享链路虽然通了,但流量没有按预期进入 VPN。此时优先检查 ICS 的上游接口、Windows 默认路由、VPN 是否属于分流模式,以及其他 VPN 或虚拟网卡是否修改了路由优先级。

在多网卡环境里,这一步很重要。只看“能不能上网”,很容易把错误出口当成配置成功。

IP 能访问、域名打不开:多半不是 NAT,而是 DNS

如果客户端可以访问某个公网 IP,但输入域名就打不开网站,可以先运行:

nslookup example.com

这时基础转发可能已经正常,问题更可能出在 DNS。检查客户端正在使用哪个 DNS、查询是否超时、VPN 是否下发专用 DNS,以及 VPN 重连后 Windows 是否留下了旧配置。

同一台 Windows 安装多个 VPN 客户端时,DNS 被反复改写并不少见。把这类问题直接归因于“SoftEther 共享失败”,往往会把排查方向带偏。

Windows 热点能连接,为什么还是显示无 Internet?

Mobile Hotspot 解决的是“设备怎么接入这台 Windows”,不是“设备一定通过 SoftEther 出去”。热点连接成功,只证明第一段链路正常。

真正的数据路径仍然要经过:

Phone / Laptop
      ↓
Windows Hotspot
      ↓
ICS / NAT
      ↓
SoftEther VPN
      ↓
Target Network

所以热点设备显示 Connected 但 No Internet 时,仍然按照同样顺序检查:IP、网关、Windows 连通性、ICS 上游接口、路由和 DNS。不要因为 Wi-Fi 已连接就跳过中间几层。

第一次能用,VPN 重连或 Windows 重启后又坏了

这类问题通常和接口状态变化有关。VPN 重连后,地址、Metric、DNS 或路由可能重新生成;Wi-Fi 重连、WireGuard 启动、Hyper-V 或虚拟机软件启动,也可能改变 Windows 的路由选择。

所以生产环境的验证不能只做一次“打开网页成功”。至少还应该测试:

  • VPN 断开后重新连接,客户端能否恢复;
  • Windows 重启后,VPN 和共享能否重新建立;
  • 物理网络从 Ethernet 切到 Wi-Fi 后,出口是否仍然正确;
  • 其他 VPN 或虚拟网卡启动后,路由是否被抢走。

如果只有第一次配置能用,而重连或重启后经常失效,那么问题已经不是“有没有配置成功”,而是恢复机制和路由稳定性。

SecureNAT 和 Windows ICS 不是一回事

SoftEther 里还有一个经常被提到的功能叫 SecureNAT。它提供 Virtual NAT 和 Virtual DHCP,但它主要工作在 SoftEther VPN Server 的 Virtual Hub 侧。

Windows ICS 则是另一层:它负责让连接到这台 Windows 的下游设备继续使用主机上的网络连接。两者解决的不是同一个位置的问题。

所以开启 SecureNAT 并不等于“Windows 热点中的设备会自动通过本机 SoftEther Client 出去”。如果你遇到的是“Windows 本机 VPN 正常,但旁边电脑不能共享”,排查重点仍然应该放在 Windows Client 这一侧。

SoftEther 对 SecureNAT 的工作方式有单独说明,可参考 SecureNAT 官方文档。

最快的排查方法:一层一层往外走

如果不想一开始就在十几张网卡里来回试,可以按下面的顺序:

  1. Windows 本机通过 VPN 能否访问目标网络?不能就先修 VPN。
  2. 下游设备有没有正常 IP、Gateway 和 DNS?没有就先修 ICS、DHCP 或热点。
  3. 下游设备能不能访问 Windows 网关?不能就查 LAN、防火墙和网卡。
  4. 能到 Windows,但不能访问公网 IP?查 ICS、NAT 和路由。
  5. 公网 IP 能访问,域名打不开?查 DNS。
  6. 能上网但出口 IP 不对?查共享接口和 Windows 路由。

这样做的好处是,每一步都能把故障范围缩小,而不是不停开关“共享”按钮碰运气。

如果只有几个应用需要这个出口,不一定非要继续折腾 ICS

还有一种场景很常见:你并不需要让整台设备透明经过 VPN,只是希望另一台电脑上的浏览器、虚拟机或业务程序使用 Windows 已经建立好的 VPN 出口。

如果这些应用本身支持 HTTP 或 SOCKS5,那么可以把“整机 NAT/网关”问题改成“显式代理”问题。这样可以避开一部分 ICS、DHCP、默认网关和热点 NAT 的复杂性。

这并不是说 HTTP/SOCKS5 能替代所有网关方案。不支持代理的软件、游戏主机、智能设备,或者必须让整台设备透明走 VPN 的场景,仍然需要 NAT、ICS 或真正的网关模式。

如果你还没有确定自己应该用哪一种方式,可以先看 《Windows 如何共享 VPN 给其他电脑?3 种方法完整对比》。那篇文章专门比较 ICS、热点/第二网卡和 HTTP/SOCKS5 的适用范围。

NetConfiger 解决的是“复用已有出口”,不是替代原来的 VPN

NetConfiger 的使用场景之一,就是 Windows 上已经存在一个可以正常工作的 SoftEther、PacketiX、公司 VPN 或其他网络出口,希望把它提供给局域网里的其他应用使用。

SoftEther / PacketiX / Existing VPN
                ↓
             Windows
                ↓
           NetConfiger
          ↙           ↘
       HTTP         SOCKS5
        ↓              ↓
     PC / VM       PC / VM

原来的 VPN Client 仍然负责建立 VPN,NetConfiger 不提供 VPN 线路,也不需要替换原客户端。对于本身支持 HTTP/SOCKS5 的应用,可以直接复用 Windows 已有出口;如果目标设备需要完整系统级转发,则应该使用网关/NAT 类型方案。

这也是为什么排查“VPN 已连接但共享失败”时,先把 VPN、Windows 路由、NAT 和应用代理这几层分开非常重要。它们看起来都叫“共享网络”,实际解决的却不是同一个问题。

最后确认:问题到底停在哪一层

SoftEther 或 PacketiX 已经显示 Connected,只是整个链路的第一步。真正让另一台设备使用这条网络,还要经过 Windows 的转发、路由和 DNS。

如果 Windows 本机不通,先修 VPN;客户端没有地址,先修 LAN、热点或 DHCP;能到 Windows 但出不了网,查 ICS/NAT;IP 能访问但域名不能解析,查 DNS;客户端能上网但出口不是 VPN,就回到路由和共享接口。

按照数据实际经过的路径去查,通常比反复重装 SoftEther、切换网卡或者更换 DNS 更快找到问题。

核心要点

  • VPN 显示已连接,只能证明 Windows 主机的 VPN 会话正常,不代表其他设备的流量已经成功经过 VPN。
  • 按客户端 IP、Windows 网关、ICS/NAT、路由和 DNS 的真实数据路径逐层检查,可以快速定位共享到底断在哪一层
  • 如果客户端可以上网但出口不是 VPN,应重点检查共享接口、默认路由、路由优先级以及 SoftEther 是否实际承担目标流量。