В этой статье мы покажем, как настроить тегированный интерфейс VLAN в Windows 10/11 и Windows Server 2019 (2022/2016/2012R2). Сайт VLAN (виртуальная локальная сеть) спецификация описана в IEEE 802.1Q стандарт, предполагающий маркировку трафика метками (vlanid), чтобы сетевой пакет мог быть отнесен к определенной виртуальной сети. VLAN используются для разделения и сегментирования сетей, ограничения широковещательных доменов и изоляции сегментов сети для повышения безопасности. В Windows можно настроить несколько логических сетевых интерфейсов с разными идентификаторами VLAN на одной физической сетевой карте с помощью различных инструментов.
Чтобы использовать VLAN в Windows, необходимо изменить конфигурацию физического порта коммутатора, к которому подключен ваш компьютер/сервер. Порт должен быть переключен из режима доступа в режим магистральный режим. По умолчанию на магистральном порту разрешены все VLAN, но вы можете задать список разрешенных номеров VLAN (1 на 4094), доступных на данном порту коммутатора Ethernet.
Создание нескольких интерфейсов VLAN в Windows 10 и 11
В настольных версиях Windows нет встроенной поддержки тегов VLAN. По умолчанию большинство драйверов сетевых адаптеров игнорируют все теги VLAN в сетевых пакетах, и внешние VLAN становятся недоступными.
Для некоторых сетевых адаптеров можно задать номер VLAN в свойствах драйвера:
- Запустите диспетчер устройств (
devmgmt.msc
); - Развернуть Сетевые адаптеры раздел и откройте свойства сетевого адаптера;
- Перейдите в раздел Advanced , найдите вкладку ИДЕНТИФИКАТОР ВИРТУАЛЬНОЙ ЛОКАЛЬНОЙ СЕТИ вариант;
- Здесь можно задать номер VLAN;
- Для некоторых сетевых карт сначала необходимо включить опцию Приоритет пакетов и VLAN вариант.
В современных версиях Windows 10 и 11 для адаптера сетевого интерфейса можно задать один тег VLAN. Для управления сетевыми настройками можно использовать PowerShell. Например, вы хотите установить идентификатор VLAN ID 24 для сетевого интерфейса с именем Ethernet0:
Set-NetAdapter –Name "Ethernet0" -VlanID 24
Для некоторых сетевых карт (от Intel, Broadcom, HP, Realtek) существуют специальные инструменты, позволяющие создать виртуальный сетевой интерфейс в Windows с идентификатором VLAN. Для этого необходимо установить на компьютер специальный драйвер, поддерживающий трафик с тегами 802.1Q, и официальный инструмент настройки от производителя.
Создание нескольких виртуальных локальных сетей на сетевой карте Realtek в Windows 10 или 11
Для сетевых карт Realtek можно настроить несколько виртуальных сетевых карт с различными VLAN с помощью функции Realtek Ethernet Diagnostic Utility. Найдите описание сетевого контроллера Realtek на сайте производителя и проверьте, поддерживает ли эта модель VLAN. Например, в спецификации сетевого контроллера RTL8169SC(L) есть такая опция:
Supports IEEE 802.1Q VLAN tagging
Загрузите и установите последнюю версию сетевого драйвера для адаптера Realtek и запустите программу Realtek Утилита диагностики Ethernet (Программа диагностики для Win7/Win8/Win10/Win11).
Перейдите к VLAN раздел, нажмите Добавить, и добавьте необходимые ИДЕНТИФИКАТОР VLAN. После этого в Windows появится новый сетевой интерфейс.
После создания сетевых интерфейсов для VLAN можно назначить IP-адреса из соответствующей IP-сети.
Как настроить VLAN на сетевом адаптере Intel Ethernet?
У компании Intel есть свой собственный Intel Advanced Network Services (Intel® ANS) инструмент для настройки интерфейсов VLAN. Модель вашего сетевого адаптера, разумеется, должна поддерживать VLAN (например, VLAN не поддерживается для сетевых адаптеров Intel PRO/100 или PRO/1000). При установке драйвера выберите Intel PROSet для диспетчера устройств Windows и Расширенные сетевые услуги варианты.
После этого в свойствах физического сетевого адаптера Intel появится отдельная вкладка VLANs, на которой можно создать несколько интерфейсов VLAN.
Однако этот метод работает во всех предыдущих версиях Windows (вплоть до Windows 10 1809). В современных сборках Windows 10/11 на вкладке VLANs отображается следующее сообщение:
Intel(R) Advanced Network (Intel(R) ANS) Teams and VLANs are not supported on Microsoft Windows 10.
Недавно компания Intel выпустила новые драйверы сетевых адаптеров и утилиту настройки адаптеров Intel PROSet для последних сборок Windows 10 и 11. Загрузите и установите последнюю версию драйвера Intel и утилиту Intel PROset.
Запустите инструмент настройки, перейдите в раздел Teaming/VLANs , нажмите на вкладку Новый и укажите имя сетевого интерфейса и его VLANID.
Кроме того, вы можете добавить/удалить/просмотреть список виртуальных локальных сетей на сетевых картах Intel с помощью команд PowerShell из раздела IntelNetCmdlets модуль. Импортируйте модуль в сеанс PowerShell:
Import-Module -Name "C:\Program Files\Intel\Wired Networking\IntelNetCmdlets\IntelNetCmdlets" -Scope Local
Можно создать нетегированный виртуальный сетевой адаптер (обычно используется с native-vlan-id):
Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 0
Чтобы создать сетевую карту Intel с определенным номером VLAN:
Add-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 103
Чтобы перечислить все виртуальные сетевые адаптеры Intel:
Get-NetAdapter
Удалить интерфейс VLAN:
Remove-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 103
Как настроить несколько виртуальных локальных сетей на Windows Server 2022/2019/2016?
В Windows Server 2022/2019/2016/2012R2 можно настроить несколько VLAN на одном сетевом интерфейсе с помощью встроенных инструментов (без установки сторонних драйверов и инструментов). Давайте попробуем настроить несколько VLAN на одной физической сетевой карте в Windows Server 2019 с помощью Объединение сетевых карт.
- Откройте Менеджер сервера -> Местный и нажмите кнопку Объединение сетевых карт ссылка;
- В Команды раздел, нажмите Задание -> Новая команда. Укажите имя группы и выберите сетевые адаптеры для добавления;
Вы можете создать группу NIC Teaming с помощью PowerShell:
New-NetLbfoTeam -Name vTeam -TeamMembers "Ethernet1","Ethernet2" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
- Затем в поле «Адаптеры и интерфейсы«, добавьте виртуальные сетевые интерфейсы. Нажмите . Задачи -> Добавить интерфейс;
- Введите имя создаваемого интерфейса и номер VLAN;
Вы можете добавить сетевой интерфейс и задать для него VLAN в PowerShell:
Add-NetLbfoTeamNic -Team vTeam -VlanID 24 -Name VLAN24
- Таким же образом можно добавить столько сетевых интерфейсов VLAN, сколько вам нужно;
Обратите внимание, что Windows Server 2022/2019/2016 поддерживает не более 32 сетевых карт (и уникальных VLAN) на группу NIC Teaming.
- Отдельный виртуальный сетевой адаптер появится в списке сетевых подключений в
ncpa.cpl;
- Теперь вы можете настроить параметры IP для каждого интерфейса VLAN в свойствах сетевого адаптера или с помощью команд PowerShell:
New-NetIPAddress -InterfaceAlias your_VLAN_interface -IPAddress 192.168.10.10 -PrefixLength 24 -DefaultGateway 192.168.10.1
Set-DnsClientServerAddress -InterfaceAlias your_VLAN_interface -ServerAddresses 192.168.100.12
Создание нескольких виртуальных локальных сетей с помощью роли Windows Hyper-V
Вы можете программно управлять несколькими виртуальными локальными сетями в Windows с помощью подсистемы Hyper-V (доступна как в Windows Server, так и в настольных версиях Windows 10/11 Pro и Enterprise). Можно создать виртуальный коммутатор с сетевым адаптером в определенной VLAN.
Для этого необходимо установить компоненты Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName:Microsoft-Hyper-V -All
Создайте новый виртуальный коммутатор через Hyper-V Manager или с помощью команд PowerShell (см. пример в статье о настройке Hyper-V Server).
Затем выполните следующие команды для каждой VLAN, которую вы хотите создать:
Add-VMNetworkAdapter -ManagementOS -Name VLAN24 -StaticMacAddress "11-11-AA-BB-CC-DD" -SwitchName vSwitch2
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName VLAN24 -Access -VlanId 24
Таким образом, в Windows появится сетевой адаптер с нужной вам VLAN.
Если на сервере Hyper-V запущены виртуальные машины, их можно поместить в разные VLAN. Чтобы переключить виртуальный сетевой адаптер ВМ на Hyper-V в режим доступа и разрешить ему принимать трафик только с определенным идентификатором VLAN, используйте команду:
Set-VMNetworkAdapterVlan -VMName MyVMName1 -Access -VlanId 30
Отображение списка виртуальных машин и назначенных им VLAN:
Get-VMNetworkAdapterVLAN
В Windows Server 2022 с ролью Hyper-V вы не сможете привязать виртуальный коммутатор к такому командному интерфейсу. Дело в том, что LBFO NIC Teaming является устаревшей функцией в Windows Server 2022 (https://aka.ms/lbfodeprecation). Вместо NIC Teaming предлагается использовать Switch Embedded Teaming (SET).
Давайте создадим виртуальный адаптер и назначим ему VLAN на Windows Server 2022 Hyper-V с помощью SET.
Создайте виртуальный коммутатор, подключенный к физическим адаптерам хоста:
New-VMSwitch -Name HVVLANSwitch1 -NetAdapterName "Ethernet3","Ethernet4" -EnableEmbeddedTeaming $true
Теперь создайте виртуальный адаптер, подключенный к виртуальному коммутатору:
Add-VMNetworkAdapter -ManagementOS -Name "VLAN22" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName HVVLANSwitch1
Назначьте виртуальному адаптеру метку VLAN:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN22" -Access -VlanId 22
Можно включить виртуальный адаптер Hyper-V для приема пакетов из нескольких VLAN с помощью команды:
Get-VMNetworkAdapter -Name youradaptername | Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList 40-69 -NativeVlanId 0
-NativeVlanId 0
является обязательным параметром. В этом случае мы сообщаем Hyper-V, что VLAN:0 используется как родная для нетегированного трафика.