我需要帮助彻底解决在 Windows 11 22H2 中使用 SSH 隧道作为 SOCKS5 代理(127.0.0.1:9090)的问题。
我可以使用 WSL、Putty 或 Bitvise(顺便说一句,非常棒)客户端建立 SSH 隧道。这没什么区别。
我知道隧道已正确建立,因为我可以curl --socks5 localhost:9090 -O https://example.org
从 WSL 和 cmd CLI 中建立隧道。但无论我是通过 Chrome 扩展程序、浏览器设置还是本机 Windows 设置来设置代理,我都无法在 CLI(WSL 或 cmd)之外的 Windows 中使用隧道。我明白了No internet - ERR_PROXY_CONNECTION_FAILED
。无论我通过隧道连接到哪个服务器:它只能从两个 CLI 工作。无论我使用哪种浏览器。
完全禁用 Windows 防火墙或 Malwarebytes 也无济于事。将代理端口更改为其他端口也无济于事。Wireshark 显示流量正常,但有一些非常罕见的失灵使用 CLI 下载大型文件时出现错误,因此没有一般的网络错误。尝试从浏览器使用代理时,Wireshark 什么都不显示。任何方向都没有一个数据包。
这不是 DNS 问题,因为http://1.1.1.1/帮助也无法加载。
几个月前,同样的隧道设置曾经工作过。从那时起,我可能安装了一些软件,以及 Windows 更新。与网络相关的两个 SW 部分已被卸载。我不能继续卸载所有内容来找出问题所在。
更新1:重启后隧道会以较慢的速度恢复,因此大多数网站最终都会ERR_TIMED_OUT
更新2:Windows 网络重置以及随后的强制重启并没有帮助。
UPDATE3-缩小问题范围:事实证明,当使用 WSL 启动隧道时,ssh -D 9090 -N example.org
它无法正常退出,尽管终端在按 CTRL-C 后显示它正常退出。netstat -ant
也没有显示任何在 9090 上监听的进程。因此,当我尝试第二次运行隧道时,它会卡住,因为之前的进程仍然连接到端口,而 CLI 在第二次尝试时没有显示任何错误。当通过 Bitvise(可能还有 Putty)启动隧道时,可以根据需要关闭并重新启动它。
我下一步应该检查什么?不再相关。我将在这里回答以关闭问题,除非有人知道我应该尝试使用什么,以便隧道在从 WSL 启动时正确关闭(经过这么长时间的尝试,我并不真正关心,我将继续使用 Bitvise 进行隧道连接)