%3F.png)
У нас есть частная локальная сеть, подключенная к брандмауэру с несколькими публичными IP-адресами для использования SNAT, чтобы не перегружать порты на одном IP-адресе. Однако у нас есть требование разрешить определенным рабочим станциям быть доступными извне на предопределенных портах, на которых они размещают серверы.
В приведенном ниже примере машина A ранее передала B ресурс, доступный по адресу 203.0.113.1:7045. Однако когда машина B инициирует соединение с A, она, скорее всего, получит ответ с исходным IP-адресом, отличным от ожидаемого (из-за циклического перебора SNAT).
Я предполагаю, что это должно быть проблемой для машины B, поскольку она не сможет правильно связать пакет для создания соединения. Какое лучшее решение?
iptables -t NAT -A POSTROUTING -s 10.8.4.0/24 -o eth1 -j SNAT --to-source 203.0.113.1-203.0.113-3
iptables -t NAT -A PREROUTING -i eth1 -m multiport --dports 7045:7059 -j DNAT --to-destination 10.8.4.2
решение1
Я не думаю, что есть проблема вообще, так как входящие соединения будут иметь свои собственные записи состояния, которые не будут пересекаться с исходящими. Ваша проблема реальна или просто воображаемая?