Настройка Cisco ASA. Урок 2.4. Настройка динамического Port Address Translation (PAT).
Настройка динамического Port Address Translation (PAT)
При использовании динамического NAT мы предполагаем, что у нас есть диапазон (пул) общедоступных адресов, которые мы используем для преобразования частных адресов внутренней сети. В реальных ситуациях предприятие получает от своего интернет-провайдера лишь ограниченное количество публичных адресов, тогда как количество внутренних частных адресов намного больше. Это означает, что, если мы используем динамический NAT в такой ситуации, внешний пул общедоступных адресов (сопоставленный пул IP-адресов) будет очень быстро истощен, когда многие внутренние узлы одновременно обращаются к Интернету.
Чтобы решить эту проблему, мы можем использовать преобразование адресов «многие к одному», называемое также преобразованием адресов порта (Port Address Translation (PAT). Используя PAT, несколько соединений с разных внутренних хостов могут быть мультиплексированы по одному глобальному (общедоступному) IP-адресу с использованием разных номеров портов источника. Давайте посмотрим на пример ниже:
Версии Cisco ASA до 8.3
ciscoasa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
Внутренняя подсеть для использования PAT
ciscoasa(config)# global (outside) 1 100.1.1.2 netmask 255.255.255.255
Используйте один глобальный IP-адрес для PAT
В приведенном выше примере все внутренние частные адреса (192.168.1.0/24) будут использовать один общедоступный IP-адрес (100.1.1.2) с разными номерами портов источника. Например, когда хост 192.168.1.1 подключается к внешнему хосту в Интернете, брандмауэр преобразует его исходный адрес и порт в 100.1.1.2 с исходным портом 1024. Точно так же хост 192.168.1.2 будет снова преобразован в 100.1.1.2, но с другого порта источника (1025). Исходные порты динамически изменяются на уникальный номер больше 1023. Один адрес PAT может поддерживать около 64 000 внутренних хостов.
Мониторинг преобразований PAT
Команда ciscoasa # show xlate отображает содержимое таблицы преобразований PAT. Например PAT Global 100.1.1.2 (1024) Local 192.168.1.1 (4513)
Приведенные выше выходные данные показывают, что соединение с частного локального адреса 192.168.1.1 с исходным портом 4513 преобразуется в адрес 100.1.1.2 с исходным портом 1024.
Брандмауэр отслеживает все сеансы NAT, используя свою таблицу xlate, поэтому, когда ответный пакет возвращается извне, брандмауэр проверяет свою таблицу преобразований, чтобы увидеть, какой номер порта принадлежит конкретному ответному пакету, чтобы доставить его правильному внутреннему хосту.
Cisco ASA версии 8.3 и новее
Вы можете настроить один сопоставленный IP-адрес либо как network object, либо в операторе «nat». Например, предположим, что мы хотим скрыть нашу внутреннюю сеть 192.168.1.0/24 за общедоступным IP-адресом 100.1.1.2.
ciscoasa(config)# object network internal_lan
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic 100.1.1.2
Существует несколько различных сценариев, использования PAT в сети. Рассмотрим их.
Сценарий 1: PAT с использованием IP-адреса внешнего интерфейса.
Вместо того, чтобы настраивать конкретный IP-адрес в глобальной команде, которая будет использоваться для PAT (как в примере выше), мы можем указать внешний интерфейс в качестве адреса PAT. Этот сценарий важен, когда наш брандмауэр получает динамический общедоступный IP-адрес от поставщика услуг Интернета (ISP), и в этом случае мы не знаем точный адрес, чтобы настроить его с помощью глобальной команды.
На схеме ниже показан пример конфигурации с использованием внешнего DHCP адреса для PAT:
Версии Cisco ASA до 8.3
ciscoasa(config)# interface G0/0
ciscoasa(config-if)# ip address dhcp setroute
Получить внешний адрес и шлюз от провайдера
ciscoasa(config)# nat (inside) 1 192.168.1.0 255.255.255.0
Внутренняя подсеть для использования PAT
ciscoasa(config)# global (outside) 1 interface
Использовать внешний IP-адрес для PAT
Команда интерфейса «ip address dhcp setroute» настраивает межсетевой экран для работы в качестве DHCP-клиента для провайдера и автоматического получения общедоступного адреса. Параметр «setroute» указывает межсетевому экрану Cisco установить маршрут по умолчанию с использованием значения шлюза по умолчанию, предоставляемого DHCP-сервером. Не настраивайте маршрут по умолчанию при использовании опции setroute.
Cisco ASA версии 8.3 и новее
Чтобы использовать внешний адрес интерфейса ASA для выполнения PAT в версии 8.3 и более поздних версиях, выполните следующие действия:
ciscoasa(config)# interface G0/0
ciscoasa(config-if)# ip address dhcp setroute
Получить внешний адрес и шлюз от провайдера
ciscoasa(config)# object network internal_lan
ciscoasa(config-network-object)# subnet 192.168.1.0 255.255.255.0
ciscoasa(config-network-object)# nat (inside,outside) dynamic interface