Настройка правил NAT и Firewall на NSX-T Edge

1. NAT (Network Address Translation) – это механизм, позволяющий преобразовывать IP-адреса из приватных (серых) IP-адресов во внешние (белые), и наоборот.

Для доступа в интернет нужен белый IP, который будет "маскировать" один или несколько серых IP-адресов.

Этот механизм помогает экономить адресное пространство (за одним белым адресом может находиться много серых) и обеспечивать безопасность (ограничивается доступ извне до внутренних хостов).

Важно: NAT работает только при включенном Firewall и настроенных соответствующих разрешающих правилах.

Важно: при создание NAT правил, обращайте внимание на настройку Advanced Settings поле Firewall Match, при указание Bypass, правило не будет проходить через Firewall на Edge.

Так же если в правиле не выставлен Application Profile, то правило вместе с выставленной опцией Bypass делает NAT адрес в адрес. То есть все порты будут открыты до конкретной машины, вне зависимости, что указано в external port.

Получается что машина будет полностью доступна из интернета. И если внутри машины не настроен Firewall, то ее могут начать взламывать из интернета.

Первоначально необходимо узнать какие IP-адреса доступны.

Зайдите в раздел Networking пункт IP Spaces и выберите необходимый пулл.

В поле Unused Floating IPs кол-во не использованных IP адресов.

В поле Allocated Floating IPs кол-во IP адресов выдано.

Далее заходим в пулл, в данном примере это internet-test-v1.

Теперь зайдём во вкладку Floating IPs в разделе Allocation.

На данной страничке у нас будут отображать выделенные IP-адреса.

Для настройки NAT нужно настроить правила SNAT и DNAT:

1.1 SNAT (Source Network Address Translation) – механизм замены адреса источника при пересылке пакета, используется для создание доступа в интернет.

Шаг 1. Зайдём в Edge, зайдите в раздел Networking пункт Edge Gateways и выберите необходимый Edge

Шаг 2. Зайдите в раздел Services пункт NAT и нажмите NEW.

Шаг 3. В появившемся окне заполним следующие поля:

  • Name – задаем имя нашему правилу;
  • NAT Action - выбор действия которое будет выполняться с полученным пакетом;
  • External IP – внешний IP адрес, который мы смотрели в Floating IPs;
  • Internal IP – серый диапазон или адрес ВМ, например, возьмём всю подсеть 192.168.0.0/24.

Нажимаем SAVE.

1.2 DNAT – механизм для изменения адреса назначения пакета и порта назначения. Необходим для перенаправления входящих пакетов с внешнего адреса/порта на приватный IP-адрес/порт внутри частной сети.

Важно: при открытие порта указывайте Application и External Port, заполнение данных полей требуется для корректной работы. Application - отвечает за выходящий порт с виртуальной машины. External Port - порт который будет доступен в сеть интернета.

Если нет в списки по умолчанию необходимой Application, её можно создать, для этого зайдите в раздел Security → пункт Application Port Profile в поле Custom Applications нажмите NEW.

Задайте Name и Ports, если требуется указать UDP порт, указать в поле Protocol.

Нажмите SAVE.

Шаг 1. Зайдите в раздел Services пункт NAT и нажмите NEW

Шаг 2. Необходимо заполнить следующие поля:

  • Name – задаем имя нашему правилу; 
  • NAT Action – выбор действия которое будет выполняться с полученным пакетом;
  • External IP – внешний IP адрес, который мы смотрели в Floating IPs
  • External Port – порт, который мы хотим открыть, например, SSH (22) порт с ретрансляцией в 7777; 

Важно: В целях безопасности, не рекомендуем указывать дефолтные порты служб для доступа из интернета.

  • Internal IP – IP нашей VM, на который будет открыть порт, например, 192.168.0.10;
  • Application –  Указываем апликацию выходящего порта с ВМ, в нашем примере это порт SSH (22 порт).

Нажимаем SAVE.

Так же есть раздел Advanced Settings, в нём есть полезные функции:

  • State - включить\отключить правило;
  • Priority - Приоритет, по дефолту 50, чем ниже значение тем правило выше;
  • Firewall Match - определяется какой IP-адрес (до или после NAT трансляции) будет проверяться правилами Firewall. Доступны следующие варианты:
    • Match Internal Address - Включено по умолчанию, Firewall будет проверять трафик, основываясь на внутреннем IP-адресе (поле Internal IP), то бишь после NAT трансляции;
    • Match External Address - Firewall будет проверять трафик на основе внешнего IP-адреса (поле External IP), то бишь до NAT трансляции;
    • Bypass - Игнорирование Firewall.

Теперь в пункте NAT у нас создано 2 правила:

SNAT_NUBES-Net01 - правило, которое позволяет выходить всем машинам с пула 192.168.0.0/24 в интернет с IP 82.22.47.22.

DNAT_SSH_VM-TEST - правило, которое транслирует 82.22.47.22 порт 7777 в 192.168.0.10 порт 22 и дает доступ снаружи на ВМ с серым адресом.

Для их работы необходимо сделать соответствующие правила Firewall.

2. Настройка Firewall

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

Для упрощения работы можно создать Firewall Groups, группы создаются для удобного управления правилами, чтоб не редактировать все правила, а только ту группу IP-адресов в которых они участвуют, например, белый список или пулл ВМ которым нужен доступ в интернет.

Настройка группы на примере IP Sets, зайдите в Networking пункт Edge Gateways и выберите необходимый Edge.

Необходимо выбрать IP Sets в разделе Security и нажать NEW

Далее заполним несколько полей:

  • Name - Имя группы;
  • IP Addresses - IP-адреса которые будут использоваться в данной группе, можно использовать как серые IP созданные на Edge, так и белые IP, например, для правил откуда будут разрешены подключения.

После создания, данную группу можно будет использовать при взаимодействии Firewall правил.

Для настройки Firewall произведите несколько шагов:

Шаг 1. Зайдите в раздел Networking пункт Edge Gateways и выберите необходимый Edge.

Шаг 2. Зайдите в раздел Services пункт Firewall нажмите NEW.

Шаг 3. Создание правил.

Сделаем первое правило для SNAT, которое отвечает за доступ к интернету.

Требуется заполнить следующие поля:

  • Name - Названия правила;
  • Source - IP-адрес исходящего трафика.  В нашем примере это пулл серой сети;
  • Destination - IP-адрес входящего трафика. Переключатель Any выбрать все доступные источники трафика;
  • Action - выберите действие с трафиком:
    • Allow - разрешает входящий и исходящий трафик;
    • Drop - запрещает входящий и исходящий трафик;
    • Reject - запрещает входящий и исходящий трафик, с отправкой уведомление инициирующей соединение.

В настройке Source выбираем Firewall IP Addresses, так как созданных групп у нас нет.

  • Firewall Groups - группы IP-адресов, созданные в IP Set или Static Groups 
  • Firewall IP Addresses - для прописи IP-адресов

В настройках Destination выбираем Any Destination.

Сделаем второе правило для DNAT, которое откроет доступ к SSH

Требуется заполнить следующие поля:

  • Name - Названия правила;
  • Applications - Указываем апликацию выходящего порта с ВМ;
  • Source - IP-адрес исходящего трафика. Переключатель Any выбрать все доступные источники трафика;
  • Destination - IP-адрес входящего трафика. В нашем примере это серый IP-адрес виртуально машины;
  • Action - выберите действие с трафиком:
    • Allow - разрешает входящий и исходящий трафик;
    • Drop - запрещает входящий и исходящий трафик;
    • Reject - запрещает входящий и исходящий трафик, с отправкой уведомление инициирующей соединение.

Настройка Source:

Так как это всего лишь пример будет указано Any Source, отдельный список IP с которых можно подключаться  можно указать в Firewall IP Addresses или создать Firewall Groups.

Важно: В целях безопасности, не рекомендуем ставить Any Source, так как подключение будет доступна из всей сети интернета, лучше создавать IP Sets с белым списком для подключения.

Настройка Destination:

Откройте вкладку Firewall IP Addresses внесите IP ВМ до который должен идти трафик.