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.
Шаг 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.
Шаг 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.
Шаг 3. Создание правил.
Сделаем первое правило для SNAT, которое отвечает за доступ к интернету.
Требуется заполнить следующие поля:
- Name - Названия правила;
- Source - IP-адрес исходящего трафика. В нашем примере это пулл серой сети;
- Destination - IP-адрес входящего трафика. Переключатель Any выбрать все доступные источники трафика;
- Action - выберите действие с трафиком:
- Allow - разрешает входящий и исходящий трафик;
- Drop - запрещает входящий и исходящий трафик;
- Reject - запрещает входящий и исходящий трафик, с отправкой уведомление инициирующей соединение.
Сделаем второе правило для 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 с белым списком для подключения.