firewalld-从本地进程更改传出的 http 和 https 请求的目的地

firewalld-从本地进程更改传出的 http 和 https 请求的目的地

我有一个进程,它监听传入的端口 80 和 443 流量,然后将其发送给外部网络收件人。这是一个代理,但我不想使用该术语,因为我需要通过公司代理发送 ITS 传出请求。但是,该应用程序没有设计代理配置选项,并且它不遵守任何系统代理设置。

我正在尝试使用防火墙,但无法更改端口 80 和 443 传出流量的目标 IP。我认为它最终重定向了所有通过 80 和 443 传入的流量。

我可以发布一些我用过的规则,但我希望这对防火墙老手来说很简单——我只接触过它几次。

顺便说一下,这是在 RHEL 7 上。

答案1

我建议您使用 NAT 来处理此事:

1-启用IP转发:echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf ; sudo sysctl -w net.ipv4.ip_forward=1

2-启动IPtables:sudo systemctl start iptables

3- 将端口 443 和 80 上的传入流量转发到您的 dest_ip:dest_port

sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination <dest_ip>:<dest_port>
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination <dest_ip>:<dest_port>
sudo iptables -t nat -A POSTROUTING -p tcp -d <dest_ip> --dport <dest_port> -j SNAT --to-source <source_ip>

4-检查规则是否正确设置:sudo iptables -t nat -L -n

5 – 测试并使您的规则永久生效:

sudo iptables-save | sudo tee /etc/sysconfig/iptables

相关内容