![Iptables 将 HTTP 流量重定向到代理](https://linux22.com/image/661724/Iptables%20%E5%B0%86%20HTTP%20%E6%B5%81%E9%87%8F%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%E4%BB%A3%E7%90%86.png)
我正在运行一个本地 HTTP 代理,如果我将浏览器配置为通过它,它可以完美运行,但我需要将浏览器配置留空,并且只使用 iptables(或任何其他机制)将流量重定向到代理。
我尝试了这些规则(单独),但没有成功(代理返回 400 错误请求错误):
iptables -t nat -A OUTPUT -p tcp -o lo -d 127.0.0.1 --dport 80 -j DNAT --to 127.0.0.1:8082
iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8082
是否可以使用仅使用 iptables 的 HTTP 代理?还是也必须重写 HTTP 请求?
在此先感谢您的帮助
答案1
这称为“透明代理”。 您需要做两件事才能做到这一点:
- 您的代理服务器应该支持它(透明代理)。乌贼是一个著名的代理服务器,支持透明代理模式。
- 配置您的防火墙/路由器以将 HTTP 流量重定向到您的代理,就像您拥有的 iptables 规则一样。