Использование фильтрации виртуальных коммутаторов
Общие сведения о фильтрации виртуальных коммутаторов
Фильтрация виртуальных коммутаторов поддерживается в Windows 8 и более поздних версиях Windows.
Эта функция МПП позволяет выполнять фильтрацию по полям заголовка MAC, заголовка IP и портов верхнего протокола, а также по конкретным полям виртуального коммутатора, таким как виртуальный порт (VPort) и идентификатор виртуальной машины (VM ID). Эти уровни вызываются по каждому пакету для всех пакетов, проходя через виртуальный коммутатор. Доступ к этим уровням выполняется из фильтра расширения виртуального коммутатора — типа драйвера упрощенного фильтра NDIS (LWF).
Драйвер выноски вызывает функцию FwpsvSwitchEventsSubscribe0 для регистрации точек входа обратного вызова для событий уровня виртуального коммутатора.
Точки входа для функций уведомлений обратного вызова указываются в FWPS_VSWITCH_EVENT_DISPATCH_TABLE0 структуре. Доступные функции обратного вызова:
- FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0
- FWPS_VSWITCH_INTERFACE_EVENT_CALLBACK0
- FWPS_VSWITCH_LIFETIME_EVENT_CALLBACK0
- FWPS_VSWITCH_POLICY_EVENT_CALLBACK0
- FWPS_VSWITCH_PORT_EVENT_CALLBACK0
- FWPS_VSWITCH_RUNTIME_STATE_RESTORE_CALLBACK0
- FWPS_VSWITCH_RUNTIME_STATE_SAVE_CALLBACK0
Перечисление FWPS_VSWITCH_EVENT_TYPE определяет значения для параметра eventType функций уведомления виртуального коммутатора.
Драйвер выноски должен в конечном итоге вызвать FwpsvSwitchEventsUnsubscribe0 , чтобы освободить системные ресурсы.
Если драйвер выноски возвращает STATUS_PENDING из функции уведомления МПП, программа МПП вернет STATUS_PENDING обработчику запросов OID. Драйвер выноски должен вызвать функцию FwpsvSwitchNotifyComplete0 , чтобы завершить ожидающие операции. После вызова FwpsvSwitchNotifyComplete0 ПРОГРАММА МПП вызывает функцию NdisFOidRequestComplete для завершения OID для виртуального коммутатора.
Обратные вызовы не должны синхронно добавлять или удалять фильтры ПППП в контексте функций уведомлений. Кроме того, если функция уведомления позволяет обратному вызову возвращать STATUS_PENDING, а выноска возвращает STATUS_PENDING, выноска не должна добавлять или удалять фильтры МПП до завершения уведомления.
Слой и поля фильтра виртуального коммутатора МПП
Идентификаторы слоев фильтрации во время выполнения для фильтрации виртуальных коммутаторов включают:
- FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
- FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V4
- FWPS_LAYER_INGRESS_VSWITCH_TRANSPORT_V6
- FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V4
- FWPS_LAYER_EGRESS_VSWITCH_TRANSPORT_V6
Идентификаторы полей данных для фильтрации виртуальных коммутаторов:
- FWPS_FIELDS_EGRESS_VSWITCH_ETHERNET
- FWPS_FIELDS_EGRESS_VSWITCH_TRANSPORT_V4
- FWPS_FIELDS_EGRESS_VSWITCH_TRANSPORT_V6
- FWPS_FIELDS_INGRESS_VSWITCH_ETHERNET
- FWPS_FIELDS_INGRESS_VSWITCH_TRANSPORT_V4
- FWPS_FIELDS_INGRESS_VSWITCH_TRANSPORT_V6
Руководство для модулей записи выносок виртуального коммутатора МПП
Трафик порта 0
Для выносок виртуального коммутатора МПП трафик с порта 0 (идентификатор порта по умолчанию) является доверенным и не должен фильтроваться. Это связано с тем, что, как правило, трафик через порт 0 поступает из других расширений в стеке драйверов и, таким образом, рассматривается путем к данным как привилегированный и доверенный. Расширения виртуального коммутатора будут использовать порт 0 для таких ситуаций, как создание пакета управления, который не должен фильтроваться и отклоняться базовыми расширениями. Дополнительные сведения о mofification порта источника расширяемого коммутатора Hyper-V см. в разделе Изменение данных порта источника расширяемого коммутатора пакета.
Правила сопоставления выносок
При определении правила сопоставления для фильтрации выноски виртуального коммутатора не должны использовать MAC-адрес в качестве основы для сравнения. MAC-адреса могут изменяться во время выполнения, а некоторые порты могут генерировать трафик из нескольких MAC-адресов. Вместо этого выноски должны использовать более устойчивое правило сопоставления, например идентификатор сетевого адаптера, которое не изменится.
Виртуализация ввода-вывода (IOV) и сосуществование МПП
Функция МПП не может быть включена на коммутаторе IOV и блокируется ОПЕРАЦИОННОй системой, если предпринята попытка включить его.
Включение или отключение МПП
Установщики для выносок виртуального коммутатора МПП не должны изменять состояние поддержки расширения МПП; то есть они не должны включать или отключать саму МПП.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по