Начнем с функций обеспечения безопасности:
- Security
- Promiscuous mode enable/disable
- MAC Address Change enable/disable
- Forged Transmit enable/disable
Wikipedia описывает Promiscuous mode как «неразборчивый» режим, в котором сетевая плата позволяет принимать все пакеты независимо от того, кому они адресованы. Этот режим используется в анализаторах сетевого трафика. Однако у нас не конкретная машина и сетевой адаптер, а vSwitch - L2 коммутатор. Хотя в целом режим похож, но он куда ближе к Port mirroring, пересылке всего трафика с указанного порта на выделенный, к которому подключают анализатор. При включении Promiscuous Mode на уровне vSwitch (портгруппы) vNIC (сетевой интерфейс ВМ) получает все пакеты, проходящие через vSwitch (портгруппу). Попробую это проиллюстрировать.
VLAN A - любой VLAN от 1 до 4094, а VLAN B - любой другой VLAN от 1 до 4094, но не равный A. Конкретные числа не имеют значения, достаточно того, что VLAN'ы не совпадают.
Итак, чтобы увидеть, кто с кем может общаться:
Если vSwitch сконфигурирован с включенным режимом "Promiscuous Mode", то vNIC в PG_VGT сможет увидеть весь трафик vSwitch. В то же время, vNIC из PG_EST сможет увидеть только трафик внутри своей портгруппы (или любой другой портгруппы в EST режиме, VLAN = 0). В остальном таблица довольно проста для понимания, за исключением колонки PG_VGT. Строки PG_VLA, PG_VLB и PG_VLB1 содержат и "Yes" и "No" - vNIC в PG_VLA (например) сможет увидеть трафик только для VLAN A, который может включать в себя трафик для PG_VGT.
MAC Address Change
MAC адрес - псевдо-уникальный идентификатор сетевого устройства на уровне L2, в то время как IP-адреса идентифицируют устройства на L3. В VMware vSphere vNIC получает MAC адрес при первом запуске ВМ (если только он не был заранее сконфигурирован и записан в .vmx файле). Точный алгоритм генерации MAC можно увидеть в "ESX Configuration Guide" на стр. 59. Важно запомнить, что количество уникальных MAC адресов на ESX хост ограничено, и можно может привести к проблемам в следующих ситуациях:
- В VDI окружении при большом количестве создаваемых и включаемых ВМ
- В среде, где ВМ стартуют на хосте-стартовой площадке, а в дальнейшем перераспределяются по другим хостам с помощью DRS.
Параметр "MAC Address Change" влияет на получаемый ВМ трафик. При состоянии "Accept" vSwitch примет измененный MAC адрес и продолжит обслуживание ВМ. В случае "Reject" и изменении MAC адреса порт на vSwitch'е будет отключен, и ВМ не будет получать никаких пакетов вообще, пока не изменит MAC адрес обратно. Гостевая ОС при этом НЕ будет уведомлена.
Forged Transmit
Параметр Forged Transmit схож по своему действию с MAC Address Change, с той лишь разницей, что он затрагивает исходящий, а не входящий трафик. При "Accept" vSwitch будет обрабатывать и пересылать пакеты с "подделанным" (forged) MAC адресом. "Reject" соотв. запрещает пересылку пакетов от MAC адреса, не совпадающего с прописанным в .vmx, и заставляет vSwitch игнорировать подобные пакеты. Точно так же, без уведомления гостевой ОС.
Параметры Forged Transmit и MAC Address Change необходимо установить в "Accept" для поддержки Unicast NLB.
Настройка Traffic Shaping
vSwitch позволяет контролировать ширину полосы пропускания трафика, для этого есть три параметра:
- Average Bandwidth. Это "гарантированная" ширина полосы для передачи данных
- Peak Bandwidth. Это абсолютное значение потолка для скорости передачи данных.
- Burst Size. И последний параметр Traffic Shaping, отвечающий за количество байт, которые могут быть переданы за одну "волну" трафика на скорости выше Average Bandwidth.
- vSwitch знает MAC адреса всех подключенных vNIC, основываясь на механизме уведомлений и не использует традиционное для физических коммутаторов изучение проходящего трафика.
- Трафик, полученный одним физическим интерфейсом (аплинком) никогда не передается на другой интерфейс. Из чего следует невозможность создания vSwitch'ом сетевой петли и отсутствие необходимости участия в Spanning Tree Protocol (STP).
- vSwitch не участвует в IGMP snooping, функции третьего уровня. Тем не менее, поскольку vSwitch знает какие vNIC хотят получать muticast трафик, он не передается на все подключенные vNIC.
- vSwitch не доверяет пользовательским даннымв сетевом кадре:
- vSwitch сохраняет копию всех данных сетевого кадра, используемых для пересылки и фильтрации.
- vSwitch разделяет данные VLAN и кадр при прохождении через виртуальный коммутатор. Фильтрация осуществляется простым целочисленным сравнением.
- vSwitch не поддерживает дианмическую агрегацию (802.3ad)
- vSwitch не поддерживает "native VLAN"
При написании статьи использованы материалы "The Great vSwitch Debate" by Ken Cline.
Спасибо за статью!
ОтветитьУдалитьPromiscuous Mode Я использовал, когда надо было организовать прозрачный шлюз. Есть в конторе группа лиц, которая не хотела бы, чтобы к их компам могли подключаться другие люди. Чем пихать их в отдельную подсеть и потом настраивать маршруты, решил поднять мост на виртуальной фрихе и на фрихе рулить, кто куда может ходить. Для этого обязательно на портгруппе, куда подключена фриха, надо включать Promiscuous Mode.
Также эта функция позволяет проследить трафик виртуальной машины во время загрузки, с помощью его понял почему не ставятся софт из nexenta через GPO, но проблему так и не решил :(