Trae IDE WSL2/SSH 环境网络故障排查笔记

当前是2026年6月份,官方的WSL2/SSH可以正常连接使用

https://docs.trae.ai/

一、问题概述

在 Trae IDE 原生 WSL 直连模式下,出现 AI 对话功能报错(错误码 997:请求服务失败),但 Windows 本地网络、WSL2 的 SSH 连接均正常。核心故障根源为 WSL2 开启 systemd 后 DNS 解析机制异常,导致运行在 WSL 内部的 Trae 服务端进程无法访问国内 Trae 服务器。

二、故障现象汇总

  1. Trae 功能异常 :本地窗口对话正常,连接 WSL2 后立即报「请求服务失败,请检查网络后重试 (997)」
  2. 网络表现分化:Windows 侧浏览器、其他软件上网完全正常;WSL2 内部执行网络请求全部失败
  3. DNS 配置反复失效 :手动修改 /etc/resolv.conf 后临时生效,WSL 重启后自动还原为 127.0.0.53
  4. 典型报错信息
    • curl: (6) Could not resolve host: trae.ai
    • nslookup 命令执行失败,域名解析无返回

三、根因深度拆解

1. WSL2 + systemd 的 DNS 机制缺陷(核心原因)

  • 开启 systemd=true 后,systemd-resolved 服务会自动接管 DNS 解析
  • 该服务将 /etc/resolv.conf 设为软链接,指向 /run/systemd/resolve/stub-resolv.conf,默认 DNS 地址为本地回环 127.0.0.53
  • WSL2 虚拟化网络环境下,systemd-resolved 无法正常获取 Windows 宿主的上游 DNS,导致本地 DNS 代理失效,所有域名解析失败

2. Trae WSL 直连架构特性

  • Trae 原生 WSL 模式采用「本地 UI + WSL 服务端」的分离架构
  • AI 对话、模型请求的服务端进程运行在 WSL2 系统内部,直接依赖 WSL 的网络栈访问 Trae 服务器
  • Windows 侧网络正常 ≠ WSL 侧网络正常,这是故障最容易误判的点

3. 已排除的干扰项

  • 非 Trae 官方服务器故障:本地窗口可正常对话
  • 非 VPN/代理环境变量串扰:http_proxy 等环境变量全部为空
  • 非防火墙拦截:关闭防火墙后故障依旧

四、分步排查流程

第一步:确认 WSL 内部网络状态

复制代码
# 测试目标域名连通性,快速定位是否为DNS问题
curl -I --connect-timeout 5 https://trae.ai
  • 返回 HTTP/2 200:网络正常,问题在 Trae 服务端缓存
  • 返回 curl: (6) Could not resolve host:DNS 解析失败,进入下一步

第二步:检查 DNS 配置状态

复制代码
# 查看当前DNS配置
cat /etc/resolv.conf
  • 内容包含 nameserver 127.0.0.53:确认是 systemd-resolved 接管导致的问题
  • 内容为自定义公共 DNS:配置未生效,检查文件是否为软链接

第三步:验证 systemd-resolved 服务状态

复制代码
systemctl status systemd-resolved

服务处于 active 运行状态,即可确认其为 DNS 覆盖的元凶。

第四步:排除代理环境变量干扰

复制代码
echo $http_proxy $https_proxy $HTTP_PROXY $HTTPS_PROXY $all_proxy

输出全部为空,排除代理串扰因素。

五、永久解决方案(按推荐优先级排序)

方案一:配置 systemd-resolved 上游 DNS(官方原生方案,当前选用)

适用场景 :希望保留 systemd 原生架构,使用 DNS 缓存功能,符合官方设计规范。

操作步骤

  1. 编辑 resolved 主配置文件

    sudo tee /etc/systemd/resolved.conf << 'EOF'
    [Resolve]
    DNS=223.5.5.5 114.114.114.114
    FallbackDNS=8.8.8.8
    MulticastDNS=no
    LLMNR=no
    DNSStubListener=yes
    EOF

  2. 重载配置并重启服务

    sudo systemctl daemon-reload
    sudo systemctl restart systemd-resolved

  3. 确认软链接指向正确

    sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

  4. 验证配置生效

    resolvectl status

优缺点:符合 systemd 官方设计,保留 DNS 缓存加速;配置步骤较多,WSL 大版本更新后可能被重置。

方案二:彻底禁用 systemd-resolved 服务(嵌入式开发推荐)

适用场景 :嵌入式开发环境,不需要本地 DNS 缓存,追求稳定干净的系统环境。

操作步骤

复制代码
# 停止、禁用并彻底屏蔽服务
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo systemctl mask systemd-resolved

# 删除软链接,创建静态DNS配置
sudo rm -f /etc/resolv.conf
sudo tee /etc/resolv.conf << 'EOF'
nameserver 223.5.5.5
nameserver 114.114.114.114
EOF

优缺点:从根源解决 DNS 覆盖问题,减少后台服务开销;失去 DNS 本地缓存功能(嵌入式开发无影响)。

方案三:静态文件加 immutable 锁(一劳永逸,兼容性最强)

适用场景 :不想修改系统服务,追求配置永久不失效,兼容所有 WSL 版本。

操作步骤

复制代码
# 先停止服务,避免写入冲突
sudo systemctl stop systemd-resolved

# 删除软链接,创建真实静态文件
sudo rm -f /etc/resolv.conf
sudo tee /etc/resolv.conf << 'EOF'
nameserver 223.5.5.5
nameserver 114.114.114.114
options edns0 trust-ad
EOF

# 加不可修改属性锁,连root也无法覆盖
sudo chattr +i /etc/resolv.conf

后续修改方法

复制代码
sudo chattr -i /etc/resolv.conf  # 先解锁
# 修改完成后重新加锁
sudo chattr +i /etc/resolv.conf

优缺点:配置一次永久生效,兼容性极强;后续修改需要手动解锁,操作略繁琐。

六、Trae IDE 侧配套优化配置

为避免代理串扰等次生网络问题,在 Trae 用户 settings.json 中添加以下配置:

复制代码
{
    "http.proxySupport": "override",
    "http.proxy": "",
    "http.strictSSL": false,
    "remote.downloadExtensionsLocally": true
}
  • 强制关闭自动代理检测,避免 WSL 代理配置串扰到本地网络
  • 插件在本地下载,不通过 WSL 网络,提升连接稳定性

七、验证与恢复步骤

  1. 执行 curl -I https://trae.ai,确认返回 200 状态码
  2. 执行 wsl --shutdown 重启 WSL,再次验证 DNS 配置未被覆盖
  3. 打开 Trae IDE 连接 WSL,发送测试对话,确认 997 错误消失

补充:

这里是我自己遇到网络问题后走的弯路,实际配置后是否真的起作用?待定,核心还是WSL2内虚拟机问题

相关推荐
林熙蕾LXL2 小时前
VSCode调试
ide·vscode·编辑器
llllliznc2 小时前
LLM 学习笔记 Day 5:Agent 核心组件——Planner、Memory 与 Reflection
笔记·学习
risc1234562 小时前
“解决了什么痛点”与“为什么有这个东西”的关系?
笔记
hj2862512 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
hyhsandy18033 小时前
STM32F103 TIM学习笔记
笔记·stm32·学习
栈溢出了3 小时前
Redis 消息队列笔记:List 与 Pub/Sub
redis·笔记·list
测试工程师成长之路3 小时前
Typora插件开发指南:打造专属IDE式写作环境
ide
鹰影474 小时前
一款AI笔记助手和远程同步的markdown笔记idea-note
人工智能·笔记·rust·typescript·react
ljt27249606614 小时前
RAG检索增强生成
笔记
大明者省5 小时前
四大模态大模型训练体系全解析(架构+范式+分布式+算力成本·)
笔记·分布式·架构