我有一个进程,它监听传入的端口 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