Как получить базовый сетевой интерфейс, используемый VPN-подключением в Windows
Самое близкое решение, которое я нашел, — это использование Get-NetConnectionProfile для возврата всех активных интерфейсов, что отлично работает, когда есть только активный физический интерфейс и сама VPN. Однако это не сработает, если на компьютере пользователя есть 2 активных физических интерфейса (например, Wi-Fi + Ethernet) вместе с VPN.
В идеале я хотел бы решение, которое работает аналогично «ifconfig -v» в MacOS, которое сообщает вам эффективный интерфейс для виртуального интерфейса:
2 ответа
К сожалению, кажется, что нет надежного способа получить базовый физический адаптер для VPN с помощью Windows API. Если не считать использования анализатора пакетов, такого как Wireshark, лучшее решение, которое я нашел, включает в себя синтаксический анализ вывода двух команд PowerShell: Get-NetAdapter и Get-NetRoute.
С помощью информации от этих команд я могу узнать, какие интерфейсы являются виртуальными, а какие физическими, и я могу ранжировать физические интерфейсы по трем различным критериям (в случае ничьей мы переходим к следующим критериям):
Сортировка физических интерфейсов по метрике интерфейса + метрике маршрута к шлюзу по умолчанию (0.0.0.0).
Проводные соединения поверх беспроводных (PhysicalMediaType=802.3).
Приоритет более быстрых адаптеров.
С этой логикой все протестированные мной VPN, по-видимому, отражают ожидаемый сетевой интерфейс, хотя некоторые VPN позволяют направлять трафик через определенный физический адаптер, и в этом случае, очевидно, все это выходит из окна.
Первый,
Вы можете установить
Второй,
Насколько мне известно, между виртуальным сетевым интерфейсом и обычным интерфейсом (ethernet, WIFI и т. д.) нет жесткой связи, по крайней мере, в OpenVPN (существуют разные протоколы VPN). Пакеты openVPN будут направляться на удаленный сервер с использованием таблицы маршрутизации вашей ОС.
Таким образом, если ваш Ethernet-интерфейс является вашим основным шлюзом по умолчанию и он отключен, ваша служба VPN сможет восстановиться, поскольку у нее будет маршрут к вашему удаленному адресу VPN-сервера через ваш интерфейс WIFI.