Windows 11 22H2中SSH隧道作为SOCKS5代理仅CLI可用及WSL启动隧道无法正常关闭的问题排查求助
Windows 11 22H2中SSH隧道作为SOCKS5代理仅CLI可用及WSL启动隧道无法正常关闭的问题排查求助
我目前在Windows 11 22H2系统里遇到了两个和SSH SOCKS5代理相关的问题,折腾了好久没搞定,想请大家帮忙看看:
一、SSH SOCKS5代理仅CLI可用,GUI程序无法连接
- 不管用WSL、Putty还是Bitvise(不得不说Bitvise真的好用)建立SSH隧道(端口9090),在WSL或CMD里执行
curl --socks5 localhost:9090 -O https://example.org都能正常下载文件,说明隧道本身是通的。 - 但只要跳出CLI环境,不管是用Chrome插件设置代理、浏览器自带代理设置,还是Windows系统原生代理设置,所有GUI程序(试过多个浏览器)都连不上,会提示
ERR_PROXY_CONNECTION_FAILED,甚至直接显示“无网络”。 - 试过换不同的目标服务器、换代理端口、完全关闭Windows防火墙和Malwarebytes,都没用。用Wireshark抓包发现:CLI用代理下载大文件时只有偶尔的乱序错误,没有其他网络问题;但GUI程序用代理时,Wireshark完全抓不到任何数据包。
- 排除了DNS问题:直接访问
http://1.1.1.1/help也加载失败。 - 之前这套配置是正常能用的,应该是后来装了某些软件或者Windows更新导致的,已经卸载了两个和网络相关的软件,但还是没解决,总不能把所有软件都卸一遍。
- 后续尝试的操作:
- 重启后代理能工作但速度极慢,大部分网站会超时(
ERR_TIMED_OUT) - 执行Windows网络重置并重启,问题依旧
- 重启后代理能工作但速度极慢,大部分网站会超时(
二、WSL启动的SSH隧道无法正常关闭
- 用WSL执行
ssh -D 9090 -N example.org启动隧道后,按CTRL+C终端显示已经退出,但实际上端口9090还是被之前的进程占用,netstat -ant也看不到有进程监听这个端口。 - 第二次启动隧道时,明明端口被占用,但CLI完全不报错,隧道直接卡住没法正常工作。
- 对比下来,用Bitvise(推测Putty也一样)启动的隧道就能正常关闭和重启,没这个问题。
现在想问问大家,针对第一个GUI无法用代理的问题,我接下来还能排查哪些点?至于WSL隧道的关闭问题,其实我现在已经打算一直用Bitvise了,但如果有简单的解决办法也可以告诉我~
备注:内容来源于stack exchange,提问作者Gaia
相关产品推荐
相关产品推荐

