Существует шлюз на базе интрасети и CentOS, который обеспечивает связь для устройств интрасети.
Типичная переадресация портов в наборе правил iptables шлюза выглядит следующим образом (предоставляется версия TCP):
$IPTABLES -A PREROUTING -t nat -i $EXTERNAL_IF -p tcp -d $EXTERNAL_IP \
--dport $EXTERNALPORT -j DNAT --to $INTERNAL_IP:$INTERNAL_PORT
$IPTABLES -A FORWARD -i $EXTERNAL_IF -p tcp -d $INTERNAL_IP \
--dport $INTERNAL_PORT -j ACCEPT
$ EXTERNAL_IP:$ EXTERNAL_PORT недоступен из интрасети в такой конфигурации.
Есть ли способ перенаправить весь внутренний (исходящий из интрасети) трафик в $ EXTERNAL_IP:$ EXTERNAL_PORT напрямую в $ INTERNAL_IP:$ INTERNAL_PORT?
Добавление правил, таких как
$IPTABLES -A PREROUTING -t nat -s $INTRANET -p tcp -d $EXTERNAL_IP \
--dport $EXTERNALPORT -j DNAT --to $INTERNAL_IP:$INTERNAL_PORT
$IPTABLES -A FORWARD -s $INTRANET -p tcp -d $INTERNAL_IP \
--dport $INTERNAL_PORT -j ACCEPT
где $ INTRANET - это CIDR для адресов в интрасети, не работает.
В результате мне нужно сохранить исходные адреса устройств внутренней сети (цель должна знать точное происхождение соединения).
Пока что используется статическое переопределение для IP в файлах хостов, что не удобно.