Особенности настройки NAT на С-Терра Шлюз

Обработка трафика шлюзом безопасности осуществляется в последовательности аналогичной Cisco IOS (см. Таблица 3). Исходящие пакеты сначала обрабатываются iptables, а затем VPN-продуктом в соответствии с политикой безопасности. Входящие пакеты сначала обрабатываются VPN-продуктом, а затем iptables.

 

Если на С-Терра Шлюз осуществляется NAT (в частности source NAT), то при настройке необходимо учитывать следующее:

·                в локальных пакетах протокола IKE/NAT-T средствами NAT не должны меняться source порты 500/4500 на какие либо другие (если NAT осуществляется на другом оборудовании, то source порты 500/4500 могут меняться на произвольные), поэтому IKE/NAT-T пакеты должны быть исключены из правил трансляции source NAT.

·                защищаемый трафик должен быть исключен из правил трансляции source NAT (если только специально не требуется осуществлять зашифрование транслированных пакетов), иначе он не попадет под фильтры IPsec, так как source NAT выполняется до зашифрования.

Т.е. нужно создать правила, исключающие IKE/NAT-T трафик, а также трафик, который должен шифроваться, а потом добавить правило для source NAT. Учитывая вышесказанное, правила iptables должны выглядеть следующим образом:

iptables -t nat -A POSTROUTING –s <EXTERNAL_IP> -p udp --source-port 500 -j ACCEPT

iptables -t nat -A POSTROUTING –s <EXTERNAL_IP> -p udp --source-port 4500 -j ACCEPT

iptables -t nat -A POSTROUTING -s <LOCAL_LAN> -d <REMOTE_LAN> -j ACCEPT

iptables -t nat -A POSTROUTING -j MASQUERADE

 

Если через С-Терра Шлюз проходят пакеты транзитного IPsec, которые попадают под правила source NAT, то нужно обеспечить, чтобы порт источника (source порт) транзитных пакетов IPsec (IKE/NAT-T) отличался от 500/4500. Изменить порт источника можно до прихода таких пакетов на С-Терра Шлюз путем изменения настроек сервиса, реализующего транзитный IPsec, так и после их прихода, но до выхода пакетов в сеть. Второй вариант реализуется при помощи функций source NAT:

iptables -t nat -A POSTROUTING –s <EXTERNAL_IP> -p udp --source-port 500 -j ACCEPT

iptables -t nat -A POSTROUTING –s <EXTERNAL_IP> -p udp --source-port 4500 -j ACCEPT

iptables -t nat -A POSTROUTING -s <LOCAL_LAN> -d <REMOTE_LAN> -j ACCEPT

iptables -t nat -A POSTROUTING -p udp --sport 500 -j MASQUERADE --to-ports 40500-40540

iptables -t nat -A POSTROUTING -p udp --sport 4500 -j MASQUERADE --to-ports 44500-44540

iptables -t nat -A POSTROUTING -j MASQUERADE

 

Предложенный вариант настройки NAT протестирован для класса защиты КС1.

Для сохранения и очистки всех правил iptables, а также для автоматического применения сохраненных ранее правил после перезагрузки ОС необходимо установить deb-пакет iptables-persistent (утилита iptables предустановлена изначально). Получить deb-пакет iptables-persistent можно в личном кабинете Партнера (https://www.s-terra.ru/auth/).