На компьютере Windows с несколькими сетевыми адаптерами (Ethernet, Wi-Fi, VPN) для корректной маршрутизации трафика иногда нужно вручную настраивать приоритеты сетевых подключений. Например, при наличии одновременного подключений к сети через Wi-Fi и Ethernet, вы можете изменить приоритеты сетевых адаптеров так, чтобы по-умолчанию трафик всегда отправлялся через проводное подключение.
Windows автоматически назначает приоритеты сетевым адаптерам в зависимости от скорости подключения. Чем выше скорость подключения, тем более высокий приоритет такого сетевого адаптера (меньше значение метрики). Обычно Windows использует следующий порядок приоритетов для различных типов сетевых интерфейсов:
- Ethernet
- Wi‑Fi
- Мобильные подключения
Если компьютер подключен к 100 Мб Ethernet порту и высокоскоростному Wi-Fi роутеру, может оказаться, что беспроводное подключение будет иметь более высокий приоритет.
Вывести информацию о доступных IPv4 сетевых адаптерах в Windows:
Get-NetIPinterface | where AddressFamily -eq "IPv4"
Приоритет сетевого интерфейс определяется значением InterfaceMetric. Чем меньше значение InterfaceMetric, тем выше приоритет сетевого подключения.
Ниже представлены результаты команды с двух разных компьютеров. На первом скриншоте видно, что у Ethernet подключения выше приоритет чем у беспроводного Wi-Fi адаптера. На втором скриншоте два Ethernet интерфейса с одинаковыми приоритетами.
Значение InterfaceMetric это метрика, которая задает приоритет IP маршрута через этот сетевой адаптер в таблице маршрутизации Windows:
route print
В этой таблице маршрутизации видно, что по умолчанию сетевой трафик будет отправлен через интерфейс с меньшей метрикой.
С помощью PowerShell можно проверить, какой сетевой адаптер будет использоваться для доступа в Интернет согласно текущей таблицы маршрутизации:
Get-NetRoute -DestinationPrefix 0.0.0.0/0
В данном случае есть два маршрута с одинаковыми метриками. Это означает, что вы не может гарантировать какой адаптер будет использоваться для доступа в Интернет.
Можно изменить метрики сетевых интересов и назначать приоритеты вручную с помощью PowerShell командлета Set-NetIPInterface. Чтобы уменьшить приоритет одного из интерфейсов, нужно указать его название (
InterfaceAlias
) или индекс интерфейса (
ifIndex
) и новое значение метрики:
Set-NetIPInterface -ifIndex 14 -InterfaceMetric 26
или
Set-NetIPInterface -InterfaceAlias Ethernet1 -InterfaceMetric 26
Проверьте, что значение в таблице маршрутизации изменилась метрика для этого адаптера.
Также вы можете изменить приоритет (метрику) сетевого интерфейса в свойствах сетевого адаптера в панели управления Network Connections (
ncpa.cpl
).
Откройте свойства IPv4 протокола адаптера -> кнопка Advanced -> измените значение в поле Interface metric и примените изменения.
По умолчанию здесь включена опция Automatic metric, которая указывает, что приоритет сетевого адаптера устанавливается автоматически в соответствии со скоростью подключения среды.
В версиях до Windows 10 и Windows Server 2016 можно было изменить приоритет сетевых адаптеров в настройках привязки адаптеров (Adapters and Bindings). В более новых версиях эту опцию убрали.