Checkpoint Hide NAT и динамический выбор порта источника
Межсетевой экран контрольной точки имеет два режима NAT: статический NAT (1-к-1 внутренний IP-адрес к внешнему IP-адресу) и скрытый NAT, который называется "перегрузкой" в Cisco и так далее.
Это не ясно сказано, но кажется, что Статический NAT не меняет номера портов, только IP-адреса.
В отличие от этого Hide NAT изменяет исходный порт в исходящем пакете на случайное "динамически назначаемое", а затем устанавливает в таблице правило, которое допускает обратную трансляцию пакетов. Это правило удаляется при чистом конце соединения (TCP FIN, RST) или тайм-ауте. Это то, что в основном делают все современные устройства с поддержкой NAT.
У меня есть только один внешний IP-адрес, поэтому я должен использовать вариант Hide NAT. Тем не менее, я хочу немного увеличить его, так как у меня есть очень специальный хост внутри, который запускает очень специальную службу, которая не особенно любит, когда их номер порта источника изменяется и выбирается случайным образом. Мне нужно иметь стандартный Hide NAT, который использует для "динамического выделения" все порты, кроме одного (скажем, ничего не переводить в UDP 33333), и пакеты этой конкретной услуги от этого конкретного порта должны всегда и только транслироваться в этот номер порта.
В Linux я легко делаю это с этими правилами:
iptables -t nat -s MY-SPECIAL-HOST -p udp --sport MY-SPECIAL-SERVICE-PORT -j SNAT --to-source MY-WHITE-IP:MY-SPECIAL-SERVICE-PORT
iptables -t nat -s MY-LOCAL-NETWORK -p udp -j SNAT --to-source MY-WHITE-IP:10000-[MY-SPECIAL-SERVICE-PORT - 1]
iptables -t nat -s MY-LOCAL-NETWORK -j SNAT --to-source MY-WHITE-IP
(Я знаю, что я ограничиваю это количество портов для исходящих UDP-разговоров, это не проблема, так как реальный сервисный порт находится где-то в конце диапазона.)
Как добиться того же в КПП? У меня есть GAIA R77.10 ClusterXL с двумя участниками, если это необходимо.
1 ответ
Вы можете изменить порт со статическим NAT, источником и назначением. Достаточно взглянуть на вкладку NAT политики и оставить слева исходный пакет (условие, которое должно совпадать для запуска трансляции), а справа - переведенный пакет, в котором вы можете внести необходимые изменения. Итак, все, что вам нужно, это создать правило для вашего специального хоста со статическим NAT и второе правило со скрытым NAT для других вещей.