В этой статье мы рассмотрим, как настроить тегированный сетевой интерфейс с VLAN в Windows 10/11 и Windows Server 2019 (а также для Windows Server 2022/2016/2012R2). VLAN (Virtual LAN) используется для сегментирования сети и описан в стандарте 802.1Q. VLAN позволяет маркировать трафик с помощью тегов (vlanid), что важно для распределения трафика между виртуальными сетями. Использование VLAN помогает разделить сеть на несколько логических сегментов, изолировать широковещательные домены, а также повысить безопасность сети.
Приобрести оригинальные ключи активации можно у нас в каталоге:
Windows 11 — от 1490 ₽
Windows 10 — от 1110 ₽
Windows Server 2022 — от 2770 ₽
Windows Server 2019 — от 2640 ₽
Windows Server 2016 — от 2370 ₽
Windows Server 2012 R2 — от 1270 ₽
Для работы с VLAN необходимо настроить порт коммутатора, к которому подключен ваш компьютер или сервер. Этот порт должен быть переведен из режима access в режим trunk. В trunk портах, как правило, разрешены все VLAN, однако вы можете задать список VLAN (от 1 до 4094), доступных для конкретного порта коммутатора Ethernet.
В настольных версиях Windows нет встроенной поддержки VLAN. Обычно драйверы сетевых адаптеров удаляют VLAN-теги из пакетов, что делает VLAN недоступными.
Однако для некоторых сетевых адаптеров можно задать VLAN ID прямо в настройках драйвера:
1. Откройте Диспетчер устройств (devmgmt.msc).
2. Разверните секцию Network adapters и откройте свойства нужного сетевого адаптера.
3. Перейдите на вкладку Advanced и найдите опцию VLAN ID. Здесь можно задать номер VLAN.
4. На некоторых сетевых картах нужно сначала включить поддержку Packet Priority and VLAN.
Для современных версий Windows 10 и 11 можно использовать командлет PowerShell для настройки VLAN. Например, вы хотите задать VLAN 50 для вашего сетевого интерфейса с именем Ethernet1:
Set-NetAdapter –Name "Ethernet1" -VlanID 50
Обратите внимание, что Windows позволяет назначить несколько IP-адресов одному сетевому интерфейсу, но IP-адреса нельзя привязать к разным VLAN. Чтобы решить эту проблему, создайте дополнительные виртуальные сетевые адаптеры.
Некоторые сетевые карты (Intel, Broadcom, HP, Realtek) поддерживают тегирование VLAN через специальные утилиты. Для этого нужно установить драйвер с поддержкой 802.1Q и официальную утилиту от производителя.
Для сетевых карт Realtek можно настроить несколько виртуальных интерфейсов с VLAN с помощью утилиты Realtek Ethernet Diagnostic Utility.
1. Проверьте, поддерживает ли ваша модель сетевого адаптера Realtek VLAN, например, в спецификации модели RTL8169SC(L) должно быть указано Supports IEEE 802.1Q VLAN tagging.
2. Скачайте и установите последнюю версию драйвера и утилиты Realtek Ethernet Diagnostic Utility.
3. В утилите перейдите в раздел VLAN нажмите кнопку Add и добавьте нужный VLAN ID.
Для сетевых карт Intel VLAN настраиваются с помощью утилиты Intel Advanced Network Services (ANS).
1. Убедитесь, что ваша карта поддерживает VLAN. Например, карты Intel PRO/100 и PRO/1000 не поддерживают VLAN.
2. Установите драйвер с опциями Intel PROSet for Windows Device Manager и Advanced Network Services.
3. В настройках адаптера должна появиться вкладка VLANs, где можно добавить VLAN интерфейсы.
Однако этот способ работает только в версиях Windows до 10 1809. Для более поздних версий Windows 10 и 11 на этой вкладке присутствует надпись:
«Intel(R) Advanced Network (Intel(R) ANS) Teams and VLANs are not supported on Microsoft Windows 10.»
Необходимо использовать обновленную утилиту Intel PROSet Adapter Configuration Utility.
Запустите утилиту, перейдите на вкладку Teaming/VLANs, нажмите кнопку New, и укажите имя сетевого интерфейса и его VLANID.
Кроме того, вы можете добавить/удалить/просмотреть список VLAN на сетевых картах 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 11
Чтобы вывести список всех виртуальных сетевых адаптеров Intel:
Get-NetAdapter
Удалить VLAN адаптер:
Remove-IntelNetVLAN -ParentName "Intel(R) Ethernet Connection I219-LM" -VLANID 11
Для сетевых карт Broadcom вы можете создавать группы виртуальных сетевых интерфейсов и назначать им VLAN ID с помощью утилиты Broadcom Advanced Control Suite.
В Windows Server 2022/2019/2016 можно настроить несколько VLAN на одном сетевом интерфейсе с использованием NIC Teaming без установки дополнительных драйверов.
1. Убедитесь, что VLAN не задан в свойствах драйвера сетевого адаптера (значение VLAN ID = 0).
2. Запустите Server Manager -> Local и выберите NIC Teaming.
3. В секции Teams нажмите Task -> New Team и выберите адаптеры для добавления в группу.
4. Чтобы добавить VLAN, нажмите Tasks -> Add Interface и укажите VLAN ID.
Укажите имя создаваемого интерфейса и номер VLAN
Пример команды для создания VLAN интерфейса через PowerShell:
Add-NetLbfoTeamNic -Team vTeam -VlanID 50 -Name VLAN50
Максимальное количество VLAN интерфейсов для одного NIC Teaming в Windows Server — 32.
Для каждого сетевого интерфейса в панели управления сетевыми адаптерами (ncpa.cpl) появится отдельная виртуальная сетевая карта;
В Windows через подсистему Hyper-V можно программно обрабатывать VLAN. Данная функциональность доступна как в серверных версиях, так и в настольных редакциях Windows 10/11 Pro и Enterprise.
Для работы с VLAN в Hyper-V выполните следующие шаги:
1. Установите компоненты Hyper-V:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2. Создайте виртуальный коммутатор через Hyper-V Manager или PowerShell.
3. Для создания VLAN используйте команду PowerShell:
Add-VMNetworkAdapter -ManagementOS -Name VLAN50 -StaticMacAddress "11-22-33-44-55-AA" -SwitchName VLAN50Switch
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName VLAN50 -Access -VlanId 50
В результате у вас в системе появится сетевой адаптер с нужным тегом VLAN.
Если на вашем Hyper-V сервере запущены ВМ, вы можете поместить их в разные VALN. Чтобы переключить виртуальны сетевой адаптер ВМ на Hyper-V в режим Access и разрешить получать трафик только с определенным VLAN ID, используется команда:
Set-VMNetworkAdapterVlan -VMName Test1 -Access -VlanId 21
Вывести список ВМ и назначенных им VLAN:
Get-VMNetworkAdapterVLAN
Для работы в Hyper-V на Windows Server 2022 вместо NIC Teaming используется технология Switch Embedded Teaming (SET).
Пример создания виртуального адаптера и назначения ему VLAN:
1. Создайте виртуальный свитч, подключённый к сетевым адаптерам хоста:
New-VMSwitch -Name "HVSwitch1" -NetAdapterName "Ethernet3","Ethernet4" -EnableEmbeddedTeaming $true
2. Теперь создайте виртуальны адаптер, подключенный к виртуальному свитчу:
Add-VMNetworkAdapter -ManagementOS -Name "VLAN11" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName "HVSwitch1"
3. Назначьте тег VLAN для вашего виртуального адаптера:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN11" -Access -VlanId 11
Если нужно, чтобы виртуальный адаптер Hyper-V мог принимать пакеты из нескольких VLAN, можно использовать такую команду:
Параметр -NativeVlanId 0 обязателен. В этом случае мы указываем Hyper-V, что VLAN:0 используется в качестве нативного для нетегированного трафика.
Таким образом, в Windows можно настроить VLAN различными способами, как на уровне физических адаптеров, так и через Hyper-V, обеспечивая гибкую настройку сетевых интерфейсов для работы с тегированным трафиком.