Если посмотреть конфиг любого файрвола, то, скорее всего, мы увидим простыню с кучей IP-адресов, портов, протоколов и подсетей. Так классически реализуются политики сетевой безопасности для доступа пользователей к ресурсам. Сначала в конфиге стараются поддерживать порядок, но потом сотрудники начинают переходить из отдела в отдел, сервера размножаться и менять свои роли, появляются доступы для разных проектов туда, куда им обычно нельзя, и получаются сотни неизвестных козьих тропок.

Около каких-то правил, если повезет, прописаны комментарии «Попросил сделать Вася» или «Это проход в DMZ». Сетевой администратор увольняется, и все становится совсем непонятно. Потом кто-то решил почистить конфиг от Васи, и упал SAP, потому что когда-то Вася просил этот доступ для работы боевого SAP.



Сегодня я расскажу про решение VMware NSX, которое помогает точечно применять политики сетевого взаимодействия и безопасности без неразберихи в конфигах файрвола. Покажу, какие новые функции появились по сравнению с тем, что было раньше у VMware в этой части.

VMWare NSX – платформа виртуализации и обеспечения безопасности сетевых сервисов. NSX решает задачи маршрутизации, коммутации, балансировки нагрузки, файрвола и умеет много другого интересного.

NSX – это преемник собственного продукта VMware vCloud Networking and Security (vCNS) и приобретенного Nicira NVP.

От vCNS к NSX


Раньше у клиента в облаке, построенном на VMware vCloud, была отдельная виртуальная машина vCNS vShield Edge. Он выполнял роль пограничного шлюза, где можно было настроить множество сетевых функций: NAT, DHCP, Firewall, VPN, балансировщика нагрузки и пр. vShield Edge ограничивал взаимодействие виртуальной машины с внешним миром согласно правилам, прописанным в Firewall и NAT. Внутри сети виртуальные машины общались между собой свободно в пределах подсетей. Если очень хочется разделять и властвовать трафиком, можно сделать отдельную сеть для отдельных частей приложений (разных виртуальных машин) и прописать в файрволе соответствующие правила по их сетевому взаимодействию. Но это долго, сложно и неинтересно, особенно когда у вас несколько десятков виртуальных машин.

В NSX VMware реализовала концепцию микросегментации с помощью распределенного файрвола (distributed firewall), встроенного в ядро гипервизора. В нем прописываются политики безопасности и сетевого взаимодействия не только для IP- и MAC-адресов, но и для других объектов: виртуальных машин, приложений. Если NSX развернут внутри организации, то такими объектами могут стать пользователь или группа пользователей из Active Directory. Каждый такой объект превращается в микросегмент в своем контуре безопасности, в нужной подсети, со своей уютненькой DMZ :).


Раньше периметр безопасности был один на весь пул ресурсов, защищался пограничным коммутатором, а с NSX можно оградить от лишних взаимодействий отдельную виртуальную машину даже в пределах одной сети.

Политики безопасности и сетевого взаимодействия адаптируются, если объект переезжает в другую сеть. Например, если мы перенесем машину с базой данных в другой сетевой сегмент или даже в другой связанный виртуальный дата-центр, то правила, прописанные для этой виртуальной машины, продолжат действовать безотносительно ее нового положения. Сервер приложений по-прежнему сможет взаимодействовать с базой данных.

На смену самому пограничному шлюзу vCNS vShield Edge пришел NSX Edge. У него есть весь джентльменский набор старого Edge плюс несколько новых полезных функций. Про них и пойдет речь дальше.

Что нового у NSX Edge?


Функциональность NSX Edge зависит от редакции NSX. Всего их пять: Standard, Professional, Advanced, Enterprise, Plus Remote Branch Office. Все новое и интересное можно увидеть только начиная с Advanced. В том числе и новый интерфейс, который до полного перехода vCloud на HTML5 (VMware обещает лето 2019-го) открывается в новой вкладке.

Firewall. В качестве объектов, к которым будут применяться правила, можно выбрать IP-адреса, сети, интерфейсы шлюза и виртуальные машины.





DHCP. Помимо настройки диапазона IP-адресов, которые будут автоматически выдаваться виртуальным машинам этой сети, в NSX Edge стали доступны функции Binding и Relay.

Во вкладке Bindings можно привязать MAC-адрес виртуальной машины к IP-адресу, если нужно чтобы IP-адрес не менялся. Главное, чтобы этот IP-адрес не входил в DHCP Pool.



Во вкладке Relay настраивается ретрансляция DHCP-сообщений DHCP-серверам, которые находятся за пределами вашей организации в vCloud Director, в том числе и DHCP-серверам физической инфраструктуры.



Маршрутизация. У vShield Edge можно было настраивать только статическую маршрутизацию. Здесь появилась динамическая маршрутизация с поддержкой протоколов OSPF и BGP. Также стали доступны настройки ECMP (Active-active), а значит и аварийное переключение типа «активный-активный» на физические маршрутизаторы.


Настройка OSPF


Настройка BGP

Еще из нового – настройка передачи маршрутов между различными протоколами,
перераспределение маршрутов (route redistribution).



L4/L7 Балансировщик нагрузки. Появился X-Forwarded-For для заголовка HTTPs. Без него все плакали. Например, у вас есть сайт, который вы балансируете. Без проброса этого заголовка все работает, но в статистике веб-сервера вы видели не IP посетителей, а IP балансировщика. Теперь все стало правильно.

Также во вкладке Application Rules теперь можно добавлять скрипты, которые будут напрямую управлять балансировкой трафика.



VPN. В дополнение к IPSec VPN, NSX Edge поддерживает:

  • L2 VPN, позволяющий растянуть сети между географически разнесенными площадками. Такой VPN нужен, например, чтобы при переезде на другую площадку виртуальная машина оставалась в той же подсети и сохраняла IP-адрес.



  • SSL VPN Plus, который позволяет пользователям подключаться удаленно к корпоративной сети. На уровне vSphere такая функция была, а вот для vCloud Director это новшество.



SSL-сертификаты. На NSX Edge теперь можно поставить сертификаты. Это снова к вопросу, кому нужен был балансировщик без сертификата для https.



Группы объектов (Grouping Objects). В этой вкладке как раз задаются группы объектов, для которых будут действовать те или иные правила сетевого взаимодействия, например правила файрвола.

Этими объектами могут быть IP- и MAC-адреса.


 


Здесь также указан список сервисов (сочетание протокол-порт) и приложений, которые можно использовать при составлении правил файрвола. Новые сервисы и приложения добавлять может только администратор портала vCD.


 


Статистика. Статистика по подключениям: трафик, который проходит через шлюз, файрвол и балансировщик.

Статус и статистику по каждому туннелю IPSEC VPN и L2 VPN.



Логирование. Во вкладке Edge Settings можно задать сервер для записи логов. Логирование работает для DNAT/SNAT, DHCP, Firewall, маршрутизации, балансировщика, IPsec VPN, SSL VPN Plus.
 
Для каждого объекта/сервиса доступны следующие типы оповещений:

— Debug
— Alert
— Critical
— Error
— Warning
— Notice
— Info



Размеры NSX Edge


В зависимости от решаемых задач и объемов VMware рекомендует создавать NSX Edge следующих размеров:
NSX Edge
(Compact)

NSX Edge
(Large)

NSX Edge
(Quad-Large)

NSX Edge
(X-Large)

vCPU
1
2
4
6
Memory
512MB
1GB
1GB
8GB
Disk
512MB
512MB
512MB
4.5GB + 4GB
Назначение
Одно
приложение, тестовый
дата-центр
Небольшой
или средний
дата-центр
Нагруженный
файрвол
Балансировка
нагрузки на уровне L7

Ниже в таблице – рабочие метрики сетевых служб в зависимости от размера NSX Edge.
NSX Edge
(Compact)

NSX Edge
(Large)

NSX Edge
(Quad-Large)

NSX Edge
(X-Large)

Interfaces
10
10
10
10
Sub Interfaces (Trunk)
200
200
200
200
NAT Rules
2,048
4,096
4,096
8,192
ARP Entries
Until Overwrite
1,024
2,048
2,048
2,048
FW Rules
2000
2000
2000
2000
FW Performance
3Gbps
9.7Gbps
9.7Gbps
9.7Gbps
DHCP Pools
20,000
20,000
20,000
20,000
ECMP Paths
8
8
8
8
Static Routes
2,048
2,048
2,048
2,048
LB Pools
64
64
64
1,024
LB Virtual Servers
64
64
64
1,024
LB Server / Pool
32
32
32
32
LB Health Checks
320
320
320
3,072
LB Application Rules
4,096
4,096
4,096
4,096
L2VPN Clients Hub to Spoke
5
5
5
5
L2VPN Networks per Client/Server
200
200
200
200
IPSec Tunnels
512
1,600
4,096
6,000
SSLVPN Tunnels
50
100
100
1,000
SSLVPN Private Networks
16
16
16
16
Concurrent Sessions
64,000
1,000,000
1,000,000
1,000,000
Sessions/Second
8,000
50,000
50,000
50,000
LB Throughput L7 Proxy)
2.2Gbps
2.2Gbps
3Gbps
LB Throughput L4 Mode)
6Gbps
6Gbps
6Gbps
LB Connections/s (L7 Proxy)
46,000
50,000
50,000
LB Concurrent Connections (L7 Proxy)
8,000
60,000
60,000
LB Connections/s (L4 Mode)
50,000
50,000
50,000
LB Concurrent Connections (L4 Mode)
600,000
1,000,000
1,000,000
BGP Routes
20,000
50,000
250,000
250,000
BGP Neighbors
10
20
100
100
BGP Routes Redistributed
No Limit
No Limit
No Limit
No Limit
OSPF Routes
20,000
50,000
100,000
100,000
OSPF LSA Entries Max 750 Type-1
20,000
50,000
100,000
100,000
OSPF Adjacencies
10
20
40
40
OSPF Routes Redistributed
2000
5000
20,000
20,000
Total Routes
20,000
50,000
250,000
250,000
> Источник

Из таблицы видно, что балансировку на NSX Edge для продуктивных сценариев рекомендуется организовывать, только начиная с размера Large.

На сегодня у меня все. В следующих частях подробно пройдусь по настройке каждой сетевой службы NSX Edge.

Комментарии (6)


  1. dmitryzhechkov
    13.12.2018 11:33
    +1

    Спасибо за статью! Небольшое дополнение к разделу про балансировщик. Опция «X-Forwarder-For» актуальна только в случае когда эдж с сервисом балансировки подключен режиме one-arm. Балансировщик NSX также поддерживает режим подключения inline («в разрыв»). При таком подключении балансировщик настраивается в режиме Transparent и SNAT на нем не работает, соответственно IP-адреса клиентов сохраняются прямо в IP-заголовке и нет необходимости использовать «X-Forwarder-For».


    1. msolovyev Автор
      13.12.2018 11:33

      Спасибо за дополнение!


  1. Jaizer
    13.12.2018 12:34

    Есть пара вопросов:
    1) Тестировали ли реальную производительность FW? 9,7Gbit это imix?
    2) Я так понимаю, поддержки ipv6 до сих пор нет?


    1. msolovyev Автор
      13.12.2018 12:35

      Поддержки ipv6 нет в vCloud Director


    1. msolovyev Автор
      13.12.2018 12:39

      В части тестирования. Есть продуктивный NSX Edge (Large, HA), через который льется до 4 Гбит траффика — это работает стабильно более полугода. Тесты на производительность в разных сценариях не проводили. Их результаты будет сложно отделить от конкретных сетевых карт, их драйверов, особенностей апстрим свичей, билда ESXi. Поэтому верим написанному в источнике, нет оснований не доверять :)


  1. WW3
    13.12.2018 16:23

    Спасибо за статью!
    Но хочу заметить, что логирование в vCloud не доступно для Firewall (это касается HTML портала) и для DHCP.