如何在linux中使用iptables将http和https流量转发到透明代理

ajt*_*ajt 11 linux firewall iptables gateway transparentproxy

我有一个Ubuntu linux系统充当网关系统,上面有两个接口.一个接口用于本地网络,一个接口用于Internet.我可以毫无问题地通过它来路由流量.我使用两个iptables规则来转发内部接口的出站流量:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我现在需要创建一个iptables规则,过滤掉并重定向所有tcp端口80和443流量,通过eth1接口离开我的网络,并将其发送到驻留在tcp端口9090上的环回接口上的代理服务器.

我一直在寻找SO,但我找不到一个有效的例子.有没有一种有效的方法来做到这一点?

Die*_*sen 16

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090
Run Code Online (Sandbox Code Playgroud)

HTTPS不能与透明代理一起使用.有一些黑客,但它没有任何意义,也没用.

  • 透明代理可以使用 HTTPS,您认为它们为什么不能使用? (3认同)
  • 代理增加了通过代理离开网络的数据的价值,代理在大多数情况下是唯一允许在网络外进行通话的系统。如果您愿意,也可以通过代理检查 https 流量。所以当然有价值,这取决于你想要实现的目标。 (3认同)