firewalld - изменить адрес исходящих запросов http и https от локального процесса
У меня есть процесс, который прослушивает входящий порт 80 и 443 трафика, а затем отправляет его получателю экстрасети. Это прокси, но я не хочу использовать этот термин, потому что мне нужно отправлять ITS исходящие запросы через прокси компании. Тем не менее, приложение не разработано с параметром конфигурации для прокси, и оно не учитывает никаких настроек прокси системы.
Я экспериментировал с firewalld, но не смог изменить IP-адрес назначения только для порта 80 и 443 трафика OUTGOING. Я думаю, что это в конечном итоге перенаправило весь ВХОДЯЩИЙ трафик на 80 и 443.
Я могу опубликовать некоторые правила, которые я использовал, но я надеюсь, что это просто для ветеранов firewalld - я только коснулся этого пару раз.
Это на RHEL 7, кстати.
0 ответов
Я хотел бы предложить вам использовать 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