有时,sshuttle 第一次尝试连接时会失败,但如果我重试,就没问题了。对于网页来说没什么大不了的,但如果应用程序启动需要多个连接,这可能会成为一个问题。
目前我以如下方式启动它:
sshuttle -NHvr <alias from .ssh/config> 0.0.0.0/0 --exclude <ip of alias> --dns -e 'ssh -o "ServerAliveInterval 60" -o "ServerAliveCountMax 120"' --no-latency-control
延迟控制不会影响它,如果没有定制的 ssh 调用,我也会遇到同样的问题。
知道什么可以导致/解决该问题吗?
更新:我所说的“重试”是指重试 http 请求,而不是重新启动应用程序。我还尝试添加
-o "ConnectionAttempts 5" -o "ConnectTimeout 15"
允许更多连接尝试和宽松的超时,但没有成功。在日志中我看到:
error was: nowrite: [Errno 107] Transport endpoint is not
连接或
error was: uread: [Errno 104] Connection reset by peer
目标主机上运行着一些超级疯狂/过时/低质量/专有的 VPN,我不确定这是否会导致这种情况。但 sshuttle 的重点是不必在所有计算机上安装这个不安全的 VPN。但直接在 PC 上使用这个 VPN 时,我没有观察到任何问题。