iptables - 如何通过本地代理/ SSH转发所有端口(我的传出流量)?


0

通过阅读人们提出的30个不同的类似问题和一些教程,我对iptables有了非常基本的了解。我想要做的是通过SSH转发我的所有传出流量,让它作为一种通用的socks代理。我现在没办法测试这个,但这就是我自己想出来的:

iptables -A OUTPUT -i eth0 -p tcp --destination-port 22 -j ACCEPT
iptables -A OUTPUT -i eth0 -p tcp -j REDIRECT --to-port 22

第一个规则应该自动接受已经发往端口22的任何内容,而第二个规则应该将任何剩余的外发数据包重定向到端口22。

我的主要问题是我对PREROUTING和OUTPUT之间的差异没有完全的了解,因为我看到它们都以不同的方式用于转发这样的端口。

Answers:


0

使用tsocks

“通过使用LD_PRELOAD环境变量或/etc/ld.so.preload文件,tsocks会自动加载到每个已执行程序的进程空间中。从那里它通过提供它自己来覆盖正常的connect()函数。应用程序调用connect()建立TCP连接,而不是将控制传递给tsocks“


1
还有dante-client用socksify做同样的技巧。对于解决方案,不要忘记使用“ssh -D”选项来创建动态隧道,充当这些命令的socks服务器。
AB
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.