使用透明代理将端口上的流量转发到另一台主机

使用透明代理将端口上的流量转发到另一台主机

我有一个 IP 为 的主机$HOST_IP,它在端口 8080 上运行一个 HTTP 服务器。在 IP 为 的主机上有一个在端口 9000 上运行的透明代理服务器$PROXY_SERVICE_IP

我正在尝试将流量从原始主机转发到代理服务器。我有以下两条iptables规则:

iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination $PROXY_SERVICE_IP:9000
iptables -t nat -A POSTROUTING -p tcp -d $PROXY_SERVICE_IP --dport 9000 -j SNAT --to-source $HOST_IP

它们工作得很好,我将数据包发送到代理服务器。

问题:代理服务器尝试通过向主机发出请求来解析原始请求,但该流量被重定向到代理,因此最终陷入循环。

我可以使用什么iptables规则来防止这种情况?当代理服务器向主机发出请求时禁用转发?我尝试添加! -s $PROXY_SERVICE_IP上述规则,但没有成功。

相关内容