我需要将特定的传出连接(从我的系统上的任何web客户端)重定向到特定的IP。是的,这可以通过在/etc/hosts文件中添加这一行来完成:
123.456.789.012 www.mydomain.com在不编辑/etc/hosts的情况下可以进行这样的重定向吗?事实上,我需要这个临时的重定向。此外,我不能修改我的系统上的任何配置文件,所以我应该只通过命令行中的一些实用程序进行这样的重定向。我读过关于tsocks的文章,但它只能从特定的应用程序,而不是从任何应用程序,将传出连接重定向到SOCKS服务器。
那么,有可能吗?
发布于 2015-12-09 05:18:12
好吧,我找到了解决办法。我们可以使用iptables。此规则通过80端口将所有传出请求重定向到0.0.0.0:3010。
$ sudo iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 0.0.0.0:3010要删除此规则,只需将-A替换为-D
$ sudo iptables -t nat -D OUTPUT -p tcp --dport 80 -j DNAT --to-destination 0.0.0.0:3010如果我们只想通过80端口重定向特定请求,可以使用以下命令:
$ sudo iptables -t nat -A OUTPUT -p tcp -d google.com --dport 80 -j DNAT --to-destination 0.0.0.0:3010在这种情况下,只有对google.com的请求才会被重定向到0.0.0.0:3010。
https://stackoverflow.com/questions/34162579
复制相似问题