使用 ssh -D 通过袜子代理路由所有流量

grm*_*grm 9 ssh ssh-tunnel socks

使用-D通过ssh代理路由所有流量有什么简单的方法吗?

我可以配置单独的特定应用程序来执行此操作,但我想要一个配置来路由机器上的所有流量。谢谢你的帮助!

Vi.*_*Vi. 10

在 Linux 中:

  1. iptables -t nat -A 输出!-d 127.0.0.0/8 -j 重定向 --to 1081
  2. 运行侦听 1081、检索实际、非重定向目标地址、与 SOCKS 服务器协商和中继的程序。

我已经用 Perl(原型质量)编写了这样的程序供私人使用,并用 C 编写了一个更好的版本。它尚未发布。

更新:现已发布:http : //github.com/vi/socksredirect/ 使用prototype.pl。如果您有兴趣开发更好的版本,请给我一些通知。

更新 2创建了一个更好的版本:http ://github.com/vi/tcpsocks 和 Socat 2 的补丁:http ://github.com/vi/socksredirect/blob/master/socat-2.0.0- b3-REDIRECT.patch

PS 我的大部分(有时还有一些邻居)流量现在通过 tcpsocks->ssh。


eph*_*ent 8

Avery Pennarun 的sshuttleVi回答类似,但需要较少的设置,并且可以在 BSD 和 OS X 以及 Linux 上工作。


小智 2

也许您应该考虑设置 VPN。