Главная » Компьютерные сети » Настройка Cisco ASA. Урок 2.6. Настройка статической трансляции адресов (Static NAT)

Настройка Cisco ASA. Урок 2.6. Настройка статической трансляции адресов (Static NAT)

Настройка статической трансляции адресов (Static NAT).

Предыдущий урок 2.5

Два типа трансляции, которые мы обсуждали в предыдущих статьях (динамический NAT и PAT), используются только для исходящей связи (т.е. с более высокого уровня безопасности на более низкий уровень безопасности). Однако, если внешний хост (скажем, хост в Интернете) хочет инициировать связь с внутренним хостом за брандмауэром, это невозможно, если у нас настроен только динамический NAT или PAT. Это очень хорошо с точки зрения безопасности, но бывают случаи, когда необходимо разрешить входящий доступ (т. е. доступ с более низкого уровня безопасности на более высокий – от внешнего к внутреннему). Для этого мы должны использовать статическую трансляцию NAT, а также настроить соответствующий список управления доступом. Статический NAT постоянно сопоставляет адрес хоста с фиксированным глобальным (внешним) адресом.

Наиболее весомыми причинами использования статического NAT являются следующие:

  • У нас есть внутренний сервер с частным IP-адресом (например, электронная почта или веб-сервер нашей компании), который всегда должен отображаться с фиксированным общедоступным IP-адресом на внешнем интерфейсе брандмауэра.
  • Мы хотим разрешить хостам извне (например, из Интернета) инициировать подключения к локальному внутреннему серверу (например, нашему веб-серверу или почтовому серверу).
  • Мы хотим использовать перенаправление портов (подробнее об этом в следующих статьях).

Статический NAT в версиях Cisco ASA до 8.3

Формат команд статического NAT:

ciscoasa(config)# static (real_interface_name , mapped_interface_name) “mapped_IP” “real_IP” netmask “subnet_mask”

Для настройки статического NAT нам необходимо знать следующие параметры:

  1. Между двумя интерфейсами будет происходить трансляция. Два интерфейса определены как real_interface и mapped_interface. Real_interface (например, интерфейс DMZ или внутренний интерфейс) должен иметь более высокий уровень безопасности, чем mapped_interface (например, внешний интерфейс).
  2. Real_IP-адрес хоста (IP-адрес, фактически настроенный на сетевой карте хоста).
  3. Mapped_IP (или переведенный) IP-адрес хоста (то есть адрес, который хост будет известен внешним сетям).

Небольшая «загвоздка» в том, что вам нужно быть осторожным со статической командой, заключается в следующем: при вводе имен интерфейсов в скобках сначала вводится имя real_interface, а затем имя mapped_interface (см. формат команды выше). Однако при настройке IP-адресов после имен интерфейсов сначала вводится адрес mapped_IP, а затем адрес real_IP. Давайте рассмотрим несколько примеров сценариев для прояснения ситуации:

Сценарий 1: статический NAT с веб-сервером и почтовым сервером на DMZ

Рис. 1 Типичный сценарий со статическим NAT с веб-сервером и почтовым сервером на DMZ
Рис. 1 Типичный сценарий со статическим NAT с веб-сервером и почтовым сервером на DMZ

Описанная выше топология сети является классической для многих предприятий. Обычно на брандмауэре есть внутренняя сеть, в которой размещаются компьютеры всех внутренних сотрудников, внешняя сеть, которая подключается к Интернету, а также демилитаризованная зона (DMZ), в которой размещаются серверы, которые должны быть доступны из интернета (в нашем примере это веб-сервер и почтовый сервер). В этом сценарии статический NAT должен использоваться для серверов DMZ, чтобы их реальный частный IP-адрес всегда переводился на фиксированный публичный IP-адрес (10.0.0.1 переводится на 100.1.1.1 и 10.0.0.2 переводится на 100.1.1.2).

В нашем случае мы имеем следующее:

  • Real реальное имя интерфейса : DMZ
  • Mapped отображенное имя интерфейса: снаружи
  • Real реальные IP-адреса: 10.0.0.1 и 10.0.0.2
  • Mapped сопоставленные IP-адреса: 100.1.1.1 и 100.1.1.2

Статический NAT в Cisco ASA в версии 8.3

Давайте посмотрим на конфигурацию ниже:

ciscoasa(config)# static (DMZ , outside) 100.1.1.1 10.0.0.1 netmask 255.255.255.255

ciscoasa(config)# static (DMZ , outside) 100.1.1.2 10.0.0.2 netmask 255.255.255.255

Приведенные выше инструкции обеспечивают двунаправленную связь для веб-серверов и серверов электронной почты. Теперь интернет-хосты могут получить доступ к нашим веб-серверам и почтовым серверам через свои публичные адреса 100.1.1.1 и 100.1.1.2.

Статический NAT в Cisco ASA версии 8.3 и более поздних версиях

Теперь давайте посмотрим, как настроить описанный выше сценарий в ASA версии 8.3 и более поздних версиях. Статическая конфигурация NAT использует ту же концепцию, что и динамическая NAT (т. е. использование сетевых объектов), но вместо использования ключевого слова «dynamic» в операторе «nat» мы используем ключевое слово «static». Формат команды оператора «nat»  для статического NAT-это:

ciscoasa(config-network-object)# nat (real if , mapped if) static [mapped-ip | mapped-obj]

Чтобы настроить сценарий 1 выше в версиях 8.3 и более поздних, выполните следующие команды:

ciscoasa(config)# object network web_server_static

ciscoasa(config-network-object)# host 10.0.0.1

Реальный IP-адрес веб-сервера

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.1

Сопоставленный IP

ciscoasa(config)# object network email_server_static

ciscoasa(config-network-object)# host 10.0.0.2

Реальный IP-адрес почтового сервера

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.2

Сопоставленный IP

Сценарий 2: статический NAT для всего диапазона сети (Net Static)

Cisco ASA Versions prior to 8.3

Вместо того чтобы постоянно переводить отдельные адреса хостов, мы можем создавать постоянные сопоставления адресов для всей подсети всего одной командой. Ссылаясь на предыдущую диаграмму в сценарии 1 выше, предположим, что у нас есть целый диапазон публичных адресов класса C 100.1.1.0/24. Мы можем перевести весь диапазон DMZ 10.0.0.0 / 24 в 100.1.1.0 / 24.

ciscoasa(config)# static (DMZ , outside) 100.1.1.0 10.0.0.0 netmask 255.255.255.0

Любой пакет, полученный с адреса сервера в подсети 10.0.0.0 / 24 в DMZ, будет переведен на адрес хоста в подсети 100.1.1.0 / 24 на внешнем интерфейсе (например, хост 10.0.0.20 будет переведен на 100.1.1.20).

Cisco ASA версии 8.3 и новее

Для настройки сценария 2 выше (т. е. статического NAT всей сети) в версиях 8.3 и более поздних:

ciscoasa(config)# object network mapped_static_range

ciscoasa(config-network-object)# subnet 100.1.1.0 255.255.255.0

ciscoasa(config)# object network dmz_network

ciscoasa(config-network-object)# subnet 10.0.0.0 255.255.255.0  подсеть DMZ

ciscoasa(config-network-object)# nat (DMZ , outside) static mapped_static_range

Сценарий 3: Статическая трансляция адресов порта (перенаправление портов)

Рис. 2 Статическая трансляция адресов порта (перенаправление портов)

Довольно распространенным сценарием является тот, который показан на диаграмме выше. Предположим, что у нас есть только один общедоступный IP-адрес (100.1.1.1), но у нас есть два (или более) сервера, для которых мы должны обеспечить публичный доступ. Мы знаем, что наш веб-сервер слушает порт 80, а наш почтовый сервер слушает порт 25. Весь входящий трафик, попадающий на адрес 100.1.1.1 порта 80, будет перенаправлен брандмауэром на порт 10.0.0.1 порта 80, а весь трафик, попадающий на адрес 100.1.1.1 порта 25, будет перенаправлен на порт 10.0.0.2 порта 25.

Версии Cisco ASA до 8.3

Формат команды для перенаправления портов следующий:

ciscoasa(config)# static (real_interface_name , mapped_interface_name) [tcp|udp]

“mapped_IP” “mapped_port” “real_IP” “real_port” netmask “subnet_mask”

Для топологии сети в приведенном выше примере сценария команды перенаправления портов следующие:

ciscoasa(config)# static (DMZ , outside) tcp 100.1.1.1 80 10.0.0.1 80 netmask 255.255.255.255

ciscoasa(config)# static (DMZ , outside) tcp 100.1.1.1 25 10.0.0.2 25 netmask 255.255.255.255

Другой популярный случай – перенаправление портов с использованием внешнего интерфейса. Если, например, ASA получает IP-адрес динамически от ISP (используя внешний DHCP), то внешний адрес неизвестен. Таким образом, мы можем настроить ASA так, чтобы трафик, попадающий на его внешний интерфейс через порт 80, был перенаправлен на веб-сервер DMZ 10.0.0.1, а также трафик, попадающий на его внешний интерфейс через порт 25, чтобы быть перенаправлен на сервер электронной почты DMZ 10.0.0.2.

ciscoasa(config)# static (DMZ , outside) tcp interface 80 10.0.0.1 80 netmask 255.255.255.255

ciscoasa(config)# static (DMZ , outside) tcp interface 25 10.0.0.2 25 netmask 255.255.255.255

А что, если у нас есть два веб-сервера, которые оба слушают порт 80? Мы можем настроить брандмауэр для перенаправления другого общедоступного сопоставленного порта (например, 8080) на наш второй веб-сервер.

Мы также можем использовать функцию перенаправления портов для преобразования известного порта в менее известный или наоборот. Это поможет повысить безопасность. Например, вы можете указать своим веб-пользователям подключиться к менее известному порту 5265, а затем перевести их на правильный порт 80 в локальной сети.

Cisco ASA версии 8.3 и новее

Чтобы настроить перенаправление портов в версии 8.3 и новее (используя схему выше):

ciscoasa(config)# object network web_server_static

ciscoasa(config-network-object)# host 10.0.0.1

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.1 service tcp 80 80

ciscoasa(config)# object network email_server_static

ciscoasa(config-network-object)# host 10.0.0.2

ciscoasa(config-network-object)# nat (DMZ , outside) static 100.1.1.1 service tcp 25 25

Примечание:

  • Первый номер порта (25 или 80): это Real Port (фактический порт, прослушивающий сервер).
  • Второй номер порта (25 или 80): это о Mapped Port (порт, видимый снаружи)
  • Вместо использования сопоставленного IP-адреса (например, 100.1.1.1) вы можете использовать ключевое слово «interface».

Следующий урок 2.7