You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

运行深信服aTrust时WSL2无法联网的问题求助

运行深信服aTrust时WSL2无法联网的问题求助

大家好,我是刚接触Linux的新手,目前在Windows 11 22H2(版本号22624.1470)上用WSL2跑Ubuntu 22.04.6 LTS,现在遇到一个棘手的问题:

当我启动深信服aTrust客户端(必须用它连接学校内网办公)时,WSL2完全无法联网——连网关172.17.160.1都ping不通,更别说其他公网IP或域名了。关闭aTrust后一切正常,但频繁开关实在太麻烦,想请大家帮忙想想办法。

我的排查过程和现象:

  1. 核心网络异常表现

    • 用Wireshark抓包发现,所有ICMP包都显示“No Respond Found”警告,不管ping哪个IP都一样。
    • 执行traceroute 172.17.160.1,输出全是丢包标记:
      traceroute to 172.17.160.1 (172.17.160.1), 64 hops max
      1   *  *  *
      2   *  *  *
      3   *  *  *
      4   *  * ^C
      
    • WSL2自动生成的/etc/resolv.conf内容:
      # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
      # [network]
      # generateResolvConf = false
      
      nameserver 172.17.160.1
      
      我试过把nameserver改成1.1.1.1或9.9.9.9,但WSL2连这些地址也访问不了。
  2. 尝试过的解决方法及效果

    • 在Windows防火墙里添加了一条规则:允许172.17.160.2-172.17.160.254的所有协议和端口访问本地所有地址/端口(虽然担心有安全风险),结果只能ping通网关172.17.160.1,但还是无法解析DNS,公网IP比如8.8.8.8依然访问不了。
    • 此时再执行traceroute 8.8.8.8,第一跳能到网关,但后续全部丢包:
      traceroute to 8.8.8.8 (8.8.8.8), 64 hops max
      1   172.17.160.1  0.358ms  0.202ms  0.205ms
      2   *  *  *
      3   *  *  *
      4   *  *  *
      5   * ^C
      
    • 用Wireshark抓Windows的WLAN网卡时,发现WSL里ping域名的DNS请求其实能正常拿到IP返回给Windows系统,但WSL这边就是收不到响应。

关于aTrust对系统的异常修改:

我排查了Windows系统,发现aTrust没有创建明显的VPN或代理,但做了这些奇怪的操作:

  • 创建了一个无法终止的虚拟网络,让我的Windows本地IP变成了法国的2.0.0.1(tracert显示直接指向本地主机):
    C:\>tracert 2.0.0.1
    通过最多 30 个跃点跟踪
    到 DESKTOP-94DT041 [2.0.0.1] 的路由:
    1    <1 毫秒   <1 毫秒   <1 毫秒 myDESKTOP [2.0.0.1]
    跟踪完成。
    
  • 生成了一个名为“Sangfor aTrust VNIC”的虚拟网卡,用来维持这个虚拟网络。
  • 修改注册表禁用了Windows的所有IPv6访问。

感觉它肯定还做了其他我没发现的系统修改,才导致WSL2的网络被拦截了。

附上Wireshark抓包截图:

  • [WSL ping域名时的抓包截图]
  • [WSL traceroute 8.8.8.8时的抓包截图]
  • [WSL ping域名得到回复但未返回给WSL的抓包截图]

真心希望有大佬能指点一下,怎么让WSL2和aTrust共存,不用频繁开关客户端,谢谢大家!

备注:内容来源于stack exchange,提问作者szw0407

火山引擎 最新活动