В этой статье мы покажем, как настроить тегированный сетевой интерфейс с VLAN в Windows 10/11 и Windows Server 2019 (2022/2016/2012R2). Стандарт VLAN (Virtual LAN) описан в 802.1Q и предполагает маркировку трафика с помощью тегов (vlanid), необходимую для отнесения сетевого пакета к той или иной виртуальной сети. VLAN используются для разделения и сегментирования сетей, ограничения широковещательных доменов и изоляции сегментов сети для повышения безопасности. В Windows вы можете настроить несколько логических сетевых интерфейсов с разными номерами VLAN на одном физическом интерфейсе несколькими способами.
Для использования VLAN необходимо соответствующим образом перенастроить порт коммутатора, куда подключен ваш компьютер/сервер. Порт должен быть переведен из режима access в режим транк. По умолчанию на транк порту разрешены все VLAN, но вы можете указать список номеров разрешенных VLAN(от 1до 4094), которые доступны на данном порту коммутатора Ethernet.
Настройка VLAN интерфейсов в Windows 10 и 11
В десктопных версиях Windows нет встроенный поддержки VLAN. По умолчанию драйвера большинства сетевых адаптеров обрезают в пакетах все VLAN-тэги и внешние VLAN становиться недоступными.
Для некоторых сетевых адаптеров вы можете задать номер VLAN в настройках драйвера:
- Запустите консоль диспетчера устройств (
devmgmt.msc
); - Разверните секцию Network adapters и откройте свойства вашего сетевого адаптера;
- Перейдите на вкладку Advanced и найдите опцию VLAN ID;
- Здесь вы можете задать номер VLAN;
- У некоторых сетевых карт сначала нужно включить опцию Packet Priority and VLAN.
В современных версиях Windows 10 и 11 вы можете задать один тег VLAN для вашего сетевого интерфейса. Для этого используется командлет PowerShell для управления сетевыми настройками. Например, вы хотите задать VLAN 50 для вашего сетевого интерфейса с именем Ethernet1:
Set-NetAdapter –Name "Ethernet1" -VlanID 50
Для некоторых сетевых карт (Intel, Broadcom, HP, Realtek) доступны специальные утилиты, позволяющие создать в Windows виртуальный сетевой интерфейс с VLAN ID. Для этого на компьютере нужно установить специальный драйвер с поддержкой тегированного трафика 802.1Q и официальную утилиту от вендора.
Создаем VLAN интерфейсы в Windows 10/11 на сетевой карте Realtek
Для сетевых карт Realtek вы можете настроить несколько виртуальных сетевых адаптеров с различными VLAN с помощью утилиты Realtek Ethernet Diagnostic Utility. Найдите описание вашего сетевого контролера Realtek на сайте вендора, и проверьте что эта модель поддерживает VLAN. Например, в спецификации сетевого контроллера RTL8169SC(L) присутствует строка:
Supports IEEE 802.1Q VLAN tagging
Скачайте и установите последнюю версию сетевого драйвера для вашего адаптера Realtek и запустите утилиту Realtec Ethernet Diagnostic Utility (Diagnostic Program for Win7/Win8/Win10/Win11).
Перейдите в раздел VLAN, нажмите кнопку Add и добавьте нужный VLAN ID. После этого в Windows появится новый сетевой интерфейс.
После того, как вы создали сетевые интерфейсы для ваших VLAN, вы можете задать на них нужный IP из соответствующей подсети.
Добавляем VLAN интерфейсы на сетевом адаптере Intel Ethernet
У Intel для настройки VLAN есть собственная утилита Intel Advanced Network Services (Intel® ANS) VLAN. Ваша модель сетевого адаптера, естественно, должна поддерживать технологию VLAN (например, VLAN не поддерживаются для карт Intel PRO/100 и PRO/1000). При установке драйвера выбейте опции Intel PROSet for Windows Device Manager и Advanced Network Services.
После этого в свойствах физического сетевого адаптера Intel появляется отдельная вкладка VLANs, где вы можете добавить несколько VLAN интерфейсов.
Однако этот способ работает во всех предыдущих версиях Windows (до Windows 10 1809). В последних версиях Windows на этой вкладке присутствует надпись:
Intel(R) Advanced Network (Intel(R) ANS) Teams and VLANs are not supported on Microsoft Windows 10.
Intel недавно выпустила обновленные драйвера сетевых адаптеров и утилиту Intel PROSet Adapter Configuration Utility для последних версий Windows 10 и 11. Скачайте и установите последнюю версию драйвера Intel и утилиту Intel PROset.
Запустите утилиту, перейдите на вкладку 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
Добавить несколько VLAN ID в Windows Server 2019/2016
В Windows Server 2022/2019/2016/2012R2 вы можете настроить несколько VLAN на одном сетевом интерфейсе с помощью встроенных средств (без установки специальных драйверов или утилит). Попробуем настроить несколько разных VLAN на одной физической сетевой карте в Windows Server 2019 с помощью NIC Teaming.

- Запустите Server Manager -> Local и нажмите на ссылку «NIC Teaming«;
- В секции Teams нажмите Task -> New Team. Укажите имя группы и выберите сетевые адаптеры, которые нужно в нее добавить; Можно создать группу NIC Teaming с помощью PowerShell:
New-NetLbfoTeam -Name vTeam -TeamMembers "Ethernet1","Ethernet2" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
- Теперь в секции «Adapter and Interfaces» можно добавить виртуальные сетевые интерфейсы. Нажмите Tasks -> Add Interface;
- Укажите имя создаваемого интерфейса и номер VLAN; Из PowerShell добавить сетевой интерфейс и задать ему VLAN можно так:
Add-NetLbfoTeamNic -Team vTeam -VlanID 50 -Name VLAN50
- Аналогичным образом можно добавить столько сетевых интерфейсов VLAN, сколько нужно;Обратите внимание, что в Windows Server 2022/2019/2016 поддерживает не более 32 сетевых адаптеров (и соответственно уникальных VLAN) для одной группы NIC Teaming.
- Для каждого сетевого интерфейса в панели управления сетевыми адаптерами (ncpa.cpl) появится отдельная виртуальная сетевая карта;
- Теперь вы можете настроить IP параметры всех созданных виртуальных VALN сетевых интерфейсов вручную в свойствах адаптера или с помощью PowerShell командлетов New-NetIPAddress и Set-DnsClientServerAddress:
New-NetIPAddress -InterfaceAlias my_VLAN_interface -IPAddress 192.168.30.30 -PrefixLength 24 -DefaultGateway 192.168.30.1
Set-DnsClientServerAddress -InterfaceAlias my_VLAN_interface -ServerAddresses 192.168.1.10
Как создать несколько VLAN в Windows Hyper-V?
Вы можете программно обрабатывать VLANы в 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 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
В Windows Server 2022 с ролью Hyper-V вы не сможете привязать виртуальный свитч к такому тиминг-интерфейсу. Дело в том, что что LBFO NIC Teaming устарел (https://aka.ms/lbfodeprecation) и в Windows Server 2022 предлагается использовать Switch Embedded Teaming (SET).
Рассмотрим, как создать виртуальный адаптер и назначить ему VLAN в Windows Server 2022 Hyper-V с помощью SET.
Создайте виртуальный свитч, подключённый к сетевым адаптерам хоста:
New-VMSwitch -Name "HVSwitch1" -NetAdapterName "Ethernet3","Ethernet4" -EnableEmbeddedTeaming $true
Теперь создайте виртуальны адаптер, подключенный к виртуальному свитчу:
Add-VMNetworkAdapter -ManagementOS -Name "VLAN11" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName "HVSwitch1"
Назначьте тег VLAN для вашего виртуального адаптера:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN11" -Access -VlanId 11
Если нужно, чтобы виртуальный адаптер Hyper-V мог принимать пакеты из нескольких VLAN, можно использовать такую команду:
Get-VMNetworkAdapter -Name youradaptername | Set-VMNetworkAdapterVlan -Trunk -AllowedVlanIdList 50-59 -NativeVlanId 0
С каких пор в разные тиминги стало можно добавлять один и тот же физический интерфейс?
Одну NIC нельзя добавить в разные тиминги, но на одном тиминге можно создать сколько нужно виртуальных интерфейсов с разными VLAN
И правда… Спасибо.
PS C:\Windows\system32> Add-VMNetworkAdapter -ManagementOS -Name vlan600 -StaticMacAddress «E0-E0-E0-E0-E0-E0» -SwitchName vEthernet
Add-VMNetworkAdapter : Hyper-V не удалось найти виртуальный коммутатор с именем «vEthernet».
строка:1 знак:1
+ Add-VMNetworkAdapter -ManagementOS -Name vlan600 -StaticMacAddress “E …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (:) [Add-VMNetworkAdapter], VirtualizationException
+ FullyQualifiedErrorId : ObjectNotFound,Microsoft.HyperV.PowerShell.Commands.AddVMNetworkAdapter
хоть кто-то пробовал это делать, ни один мануал с гуглопоиска не даёт положительного результата.
забыл добавить
PS C:\Windows\system32> Get-NetAdapter
Name InterfaceDescription ifIndex Status MacAddress LinkSpeed
—- ——————— ——- —— ———- ———
Ethernet 2 Realtek PCIe GbE Family Controller 15 Up 14-24-DC-CD-AC-14 100 Mbps
vEthernet (Default Swi… Hyper-V Virtual Ethernet Adapter 21 Up 00-15-5D-F7-89-C8 10 Gbps
Блин, у вас же русским языком написано, в чем ошибка)
или я что то не то делаю или лыжи для этих целей кривые ….
собственно я про тиминги, пробовал использовать их по этой инструкции для раздачи интернета на несколько vLan , собственно пока были раздельные шлюзы сегменты были полностью независимые , тут же спокойно обращаюсь к ресурсам между vLan .
если грубо то:
есть карточка со входом интернета
есть карточка смотрящая в локалку и воткнутая в транк .
есть сети
172.1.0.0 vLan 1
172.2.0.0 vLan 2
172.3.0.0 vLan 3
172.4.0.0 vLan 4
на основном интерфейсе висит vLan1 остальные соответственно на свежесозданных , куда копать или лучше искать другие решения для экономии машинок
Т.е. вы нарезали VLAN и назначили IP? По хорошему ваш комп превратился в шлюз доступа — тут либо вручную нарезать маршруты между интерфейсами или ставить полноценную роль RRAS, настраивать маршрутизацию и доступа.
Добрый день! Подскажите пожалуйста, я новенький в этом деле…
Имеются коммутаторы второго уровня (в них вланы я смогу настроить)…
Затем в виндовс сервер я должен через ник тиминг сделать допустим три влана (влан 10, 20, 30)…
(и подвопрос: сетка с дхцп без влана останется? ну то есть влан0 скажем так)
А дальнейшие действия не подскажете?
На этих вланах нужно проставить айпишники через настройку сетевой карты?
А как настроить на них дхцп?
Маршрутизацию межвалновую потом придется делать через RRAS?
Было бы очень круто, если б вы сделали подробную статью. Благодарю!
VLAN это по сути разные физические сегменты, соотвественно их нужно как-то объединять и маршрутизировать межу ними трафик.
Для этого используется роутер или L3 коммутатор. Здесь уже играет роль специфика вендора вашего ссетевого оборудования
у меня европейский коллега сделал ВЛАНы (сегментацию сети), используя только виндовс сервер и коммутаторы второго уровня HPE Aruba 1930. Он не делится информацией, как… Гуглю уже который день и не могу сообразить, как он это сделал… Ума не приложу, как такое сделать без коммутатора третьего уровня.
Server 2019 не удается создать больше 32 VLAN
Как обойти это ограничение?
Похоже жесткое ограничение — 32 интерфейса для одной team:
Windows Server 2016 supports up to 32 team interfaces per team
Добрый день!
Может кто то сможет подсказать, как настроить отображение тегов vlan на сетевой карте Realtek?
После создания вланов через realtek utility, при выводе netsh interface show interfaces в поле «состояние» статус «запрещён», задействовать интерфейс не получается. Есть предположения?
Что за сетевая плата, насколько старая? Драйвер? возможно нужно обновить прошивку и драйвер для поддержки этой фичи.
Актуально, если вы используете виртуальный Hyper-V свич и объединяете интерфейсы.
В связи с тем, что LBFO NIC Teaming устарел (https://aka.ms/lbfodeprecation) и в Windows Server 2022 невозможно подключить виртуальный свич к такому тиминг-интерфейсу, предлагается использовать Switch Embedded Teaming (SET).
Создание свича, подключенного к адаптерам хоста:
New-VMSwitch -Name "Virtual Switch" -NetAdapterName "LOM3","LOM4" -EnableEmbeddedTeaming $true
Далее как обычно.
Создание виртуального адаптера, подключенного к виртуальному свичу:
Add-VMNetworkAdapter -ManagementOS -Name "VLAN1001" -StaticMacAddress "XX-XX-XX-XX-XX-XX" -SwitchName "Virtual Switch"
Назначение тега VLAN созданному виртуальному адаптеру:
Set-VMNetworkAdapterVlan -ManagementOS -VMNetworkAdapterName "VLAN1001" -Access -VlanId 1001
Не работает, команды были прописаны в поверсшел и 0 реакции на 2022 сервере
Обнаружил глюк: после того, как вы создали VLAN через модуль IntelNetCmdlets, перестает работать втсроенный командлет
Get-NetAdapter
Get-NetAdapter : The data is invalid.
At line:1 char:1
+ Get-NetAdapter
+ ~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (MSFT_NetAdapter:ROOT/StandardCimv2/MSFT_NetAdapter) [Get-NetAdapter], CimException
+ FullyQualifiedErrorId : Windows System Error 13,Get-NetAdapter
2Вячеслав 31.05.2023
В теории можно на windows server развернуть службу routing, подать на него с коммутатора транк (или отдельные VLAN если использовать отдельные сетевые карты). в этом случае трафик между VLAN можно маршрутизировать через Windows Server.
Только нафига?
Статья полезная, но есть один нюанс на доработку: на Windows 11 — Intel PROSet не устанавливается, пишет ОС не поддерживается (само собой, что поддержка версии ОС там заявлена, но по факту эту лавочку похоже прикрыли) .
PS: Так-же, хоть это и не относится напрямую к статье, но если установить Windows Server 20xx на обычную десктопную мат.плату — сетевые драйвера Intel не устанавливаются, пишет ОС не поддерживается (само собой, что поддержка версии ОС и чипа в драйверах заявлена). Никак и ни в каком виде, ни с сайта Intel, ни с сайта производителя МП, ни через драйверпаки (вопросы правки файлов в драйверах тут не рассматриваю, равно как и перебор всех старых подверсий подряд).
Вообщем чем дальше — тем с Интелом всё сложнее…. 🙁
Можливо. Сто разів подібне робив
В Windows 11 теперь тоже можно нарезать VLAN интерфейсы с помощью встроенныех PowerShell команд
Создать группу:
New-NetLbfoTeam -Name "TrunkVLAN" -TeamMembers "Trunk1Eth" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic -confirm:$false
Создать VLAN:
Add-NetLbfoTeamNic -Team "TrunkVLAN" -VlanID 21 -Name "VLAN 21" -confirm:$false
Можно поподробнее, не пойму как это работает, у меня не получается..
New-NetLbfoTeam -Name «TrunkVLAN» -TeamMembers «Ethernet» -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic
New-NetLbfoTeam : The LBFO feature is not currently enabled, or LBFO is not supported on this SKU.
строка:1 знак:1
+ New-NetLbfoTeam -Name «TrunkVLAN» -TeamMembers «Ethernet» -TeamingMod …
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (MSFT_NetLbfoTeam:root/StandardCimv2/MSFT_NetLbfoTeam) [New-NetLbfoTeam], CimException
+ FullyQualifiedErrorId : MI RESULT 1,New-NetLbfoTeam