为什么我用ssh远程连接我们国内学校的vpn,也就是hillstone,按说这个是走的国内的网络,不需要vpn,只要我的hillstone能连接就行,但是为什么只要我的clash断网了,我的ssh就断网了? #574
Unanswered
Lezhao0226
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
排查结果: WispTerm 的 Rust SSH 实现很可能使用了系统代理来建立 TCP 连接,但不遵守 Windows 的 ProxyOverride 列表。
具体链路是这样的:
正常情况(Clash 在线):
WispTerm → 127.0.0.1:7897 (Clash) → CONNECT 192.168.251.124:22
Clash 发现 192.168 是私有 IP → DIRECT → Hillstone VPN → 目标
✅ SSH 通
Clash 断网后:
WispTerm → 127.0.0.1:7897 → ❌ 端口关闭,拒绝连接
SSH 库报错,连接失败
Windows 的 ProxyOverride 是给 WinINET/WinHTTP 用的(IE/Edge/Chrome 会遵守),但 Rust 的 HTTP/TCP 库(如 reqwest)通常只读 ProxyServer,不读 ProxyOverride。所以即使 192.168. 在绕过列表里,WispTerm 也不会自动跳过代理。
因为它们是传统的 C/C++ 程序,使用原生 Windows Socket API(WSAConnect),根本不走系统代理。它们直接通过路由表走 Hillstone VPN,完全不经过 Clash。 这个能否修复
All reactions