Как выбирается маршрут в сети? Всем привет! У меня есть ноут, у ноута есть сеть через провод и Wi-Fi. Ещё там есть VPN, в каком-то виде. Машинка виндовая, win-10. Собственно, можно мне немножко ликбеза? Когда я просто запускаю браузер, как машинка выбирает, куда пойдут пакеты: по проводу или по Wi-Fi? Можно как-то управлять этим выбором? А если на машинке стоит VPN, то он просто будет как третье сетевое устройство? И почему после запуска VPN пакеты из браузера идут именно в него, а не просто по проводу (Ethernet)? А сделать Wi-Fi роутер из ноута можно? Например, чтобы он подключался к сети по проводу, а Wi-Fi работал внутри квартиры, и все пакеты, бегущие по Wi-Fi, заворачивались внутрь VPN? Понимаю, что вопросы чайниковские, но с чего начать не представляю примерно совсем :(
Коротко по сути, а потом — как смотреть и править на практике.
Как Windows выбирает, по какому интерфейсу уйдёт пакет
Решение происходит по таблице маршрутизации (routing table). Для каждой отправляемой цели система ищет маршрут с наибольшим совпадением префикса (longest prefix match). Если найдено несколько маршрутов с одинаковым префиксом (например несколько маршрутов 0.0.0.0/0 — «дефолт»), то выбирается маршрут с меньшей метрикой (metric). Метрика может быть вычисляемой автоматически или задана вручную. Интерфейс сам по себе — это только «указатель» в маршруте. VPN — это виртуальный сетевой адаптер, который регистрирует свои маршруты в таблице. Если VPN добавляет дефолтный маршрут и ставит у него меньшую метрику, весь трафик пойдёт через VPN.
Почему при запуске браузера пакеты идут через VPN, а не по Ethernet
Потому что VPN-клиент добавил маршрут(ы) в таблицу маршрутизации так, что для большинства целей (дефолт/интернет) избран маршрут через VPN. Это обычное поведение «полного туннелирования» (all traffic through VPN). Если VPN настроен на split tunneling, он добавляет только конкретные маршруты (внутренние сети компании) — тогда остальной трафик идёт напрямую по Ethernet/Wi‑Fi.
Как смотреть текущую таблицу маршрутов и интерфейсы (Windows)
Командная строка: route print — покажет IPv4/IPv6 маршруты и индекс интерфейсов;netsh interface ipv4 show interfaces — список интерфейсов и их метрик.PowerShell (более удобно): Get-NetIPInterface — покажет интерфейсы и InterfaceMetric;Get-NetRoute — покажет маршруты.
Как управлять выбором (практические варианты)
Поменять приоритет интерфейса (interface metric)
GUI: Пуск → Параметры → Сеть и Интернет → Изменение параметров адаптера → Правой кнопкой по адаптеру → Свойства → Протокол Internet Protocol v4 → Свойства → Дополнительно → снять «Automatic metric» и задать значение. Меньшее значение = выше приоритет.PowerShell: Set-NetIPInterface -InterfaceIndex -InterfaceMetric <число>
Добавить/удалить маршрут вручную
route add 0.0.0.0 mask 0.0.0.0 <шлюз> metric if -proute delete <сеть>
Это даёт очень точный контроль, но надо аккуратно: неверный маршрут может разорвать доступ в интернет.
Отключить "Use default gateway on remote network" для VPN (чтобы не ставил дефолтный маршрут)
Откройте свойства VPN‑адаптера → IPv4 → Дополнительно → снимите галочку "Use default gateway on remote network". Тогда будет split tunneling (если клиент позволяет).
Как заставить браузер идти по конкретному интерфейсу
Нативно Windows не даёт «перекрепить» приложение к интерфейсу. Варианты: Запустить браузер в виртуальной машине/контейнере, у которой сетевой интерфейс привязан к нужному адаптеру.Использовать локальный прокси, который сам будет отправлять трафик через нужный интерфейс (например SSH‑туннель, bound to IP интерфейса).Некоторые программы (и VPN-клиенты) умеют per-app VPN, но это не стандарт Windows.
VPN и раздача Wi‑Fi (hotspot)
Да, ноут можно сделать точкой доступа: Windows 10 → Параметры → Сеть и Интернет → Мобильный хот‑спот (или через netsh wlan set hostednetwork). Также старый вариант — Internet Connection Sharing (ICS) в свойствах Ethernet → Sharing.Как будет идти трафик клиентов Wi‑Fi: Если вы включили ICS / Mobile Hotspot, ноут выполняет NAT — трафик клиентов выходит через тот же «исходящий» маршрут ноутбука. Если ноут выходит в интернет через VPN (и VPN не блокирует ICS), то клиенты также уйдут через VPN.Но некоторые VPN‑клиенты/политики блокируют маршрутизацию/ICS, либо VPN может менять настройки так, что локальная раздача не работает корректно. В этом случае может потребоваться дополнительная настройка или альтернативный роутер, на котором запущен VPN-клиент.
Практические советы для вашего случая
Если хотите, чтобы ноут всегда выходил в интернет по кабелю, поставьте у Ethernet меньшую метрику, чем у Wi‑Fi. Проверяйте route print/Get-NetIPInterface.Если не хотите, чтобы весь трафик шёл через VPN, отключите опцию «дефолтный шлюз на удалённой сети» в свойствах VPN (или настройте split tunneling в клиенте VPN).Чтобы устройства в квартире выходили через VPN с минимальными проблемами: проще использовать роутер, на котором запущен VPN‑клиент (или прошивку типа OpenWrt/Asus Merlin), либо включить ICS/Mobile Hotspot и проверить, что VPN не блокирует такое использование.Если нужно управление трафиком по приложению, используйте VM/proxy или VPN-клиенты с per‑app политиками.
Если нужно — могу:
Подсказать команды, которые покажут вашу текущую таблицу маршрутов и интерфейсы (скажите, какая у вас конфигурация сейчас: Ethernet + Wi‑Fi + VPN?). Пошагово объяснить, как поменять метрику, или как настроить hotspot + ICS так, чтобы клиенты шли через VPN (и что проверить, если не работает).
Коротко по сути, а потом — как смотреть и править на практике.
Как Windows выбирает, по какому интерфейсу уйдёт пакет
Решение происходит по таблице маршрутизации (routing table). Для каждой отправляемой цели система ищет маршрут с наибольшим совпадением префикса (longest prefix match). Если найдено несколько маршрутов с одинаковым префиксом (например несколько маршрутов 0.0.0.0/0 — «дефолт»), то выбирается маршрут с меньшей метрикой (metric). Метрика может быть вычисляемой автоматически или задана вручную. Интерфейс сам по себе — это только «указатель» в маршруте. VPN — это виртуальный сетевой адаптер, который регистрирует свои маршруты в таблице. Если VPN добавляет дефолтный маршрут и ставит у него меньшую метрику, весь трафик пойдёт через VPN.Почему при запуске браузера пакеты идут через VPN, а не по Ethernet
Потому что VPN-клиент добавил маршрут(ы) в таблицу маршрутизации так, что для большинства целей (дефолт/интернет) избран маршрут через VPN. Это обычное поведение «полного туннелирования» (all traffic through VPN). Если VPN настроен на split tunneling, он добавляет только конкретные маршруты (внутренние сети компании) — тогда остальной трафик идёт напрямую по Ethernet/Wi‑Fi.Как смотреть текущую таблицу маршрутов и интерфейсы (Windows)
Командная строка:route print — покажет IPv4/IPv6 маршруты и индекс интерфейсов;netsh interface ipv4 show interfaces — список интерфейсов и их метрик.PowerShell (более удобно):
Get-NetIPInterface — покажет интерфейсы и InterfaceMetric;Get-NetRoute — покажет маршруты.
Как управлять выбором (практические варианты)
Поменять приоритет интерфейса (interface metric)
GUI: Пуск → Параметры → Сеть и Интернет → Изменение параметров адаптера → Правой кнопкой по адаптеру → Свойства → Протокол Internet Protocol v4 → Свойства → Дополнительно → снять «Automatic metric» и задать значение. Меньшее значение = выше приоритет.PowerShell: Set-NetIPInterface -InterfaceIndex -InterfaceMetric <число>Добавить/удалить маршрут вручную
route add 0.0.0.0 mask 0.0.0.0 <шлюз> metric if -proute delete <сеть>Это даёт очень точный контроль, но надо аккуратно: неверный маршрут может разорвать доступ в интернет.
Отключить "Use default gateway on remote network" для VPN (чтобы не ставил дефолтный маршрут)
Откройте свойства VPN‑адаптера → IPv4 → Дополнительно → снимите галочку "Use default gateway on remote network". Тогда будет split tunneling (если клиент позволяет).Как заставить браузер идти по конкретному интерфейсу
Нативно Windows не даёт «перекрепить» приложение к интерфейсу. Варианты:Запустить браузер в виртуальной машине/контейнере, у которой сетевой интерфейс привязан к нужному адаптеру.Использовать локальный прокси, который сам будет отправлять трафик через нужный интерфейс (например SSH‑туннель, bound to IP интерфейса).Некоторые программы (и VPN-клиенты) умеют per-app VPN, но это не стандарт Windows.
VPN и раздача Wi‑Fi (hotspot)
Да, ноут можно сделать точкой доступа: Windows 10 → Параметры → Сеть и Интернет → Мобильный хот‑спот (или через netsh wlan set hostednetwork). Также старый вариант — Internet Connection Sharing (ICS) в свойствах Ethernet → Sharing.Как будет идти трафик клиентов Wi‑Fi:Если вы включили ICS / Mobile Hotspot, ноут выполняет NAT — трафик клиентов выходит через тот же «исходящий» маршрут ноутбука. Если ноут выходит в интернет через VPN (и VPN не блокирует ICS), то клиенты также уйдут через VPN.Но некоторые VPN‑клиенты/политики блокируют маршрутизацию/ICS, либо VPN может менять настройки так, что локальная раздача не работает корректно. В этом случае может потребоваться дополнительная настройка или альтернативный роутер, на котором запущен VPN-клиент.
Практические советы для вашего случая
Если хотите, чтобы ноут всегда выходил в интернет по кабелю, поставьте у Ethernet меньшую метрику, чем у Wi‑Fi. Проверяйте route print/Get-NetIPInterface.Если не хотите, чтобы весь трафик шёл через VPN, отключите опцию «дефолтный шлюз на удалённой сети» в свойствах VPN (или настройте split tunneling в клиенте VPN).Чтобы устройства в квартире выходили через VPN с минимальными проблемами: проще использовать роутер, на котором запущен VPN‑клиент (или прошивку типа OpenWrt/Asus Merlin), либо включить ICS/Mobile Hotspot и проверить, что VPN не блокирует такое использование.Если нужно управление трафиком по приложению, используйте VM/proxy или VPN-клиенты с per‑app политиками.Если нужно — могу:
Подсказать команды, которые покажут вашу текущую таблицу маршрутов и интерфейсы (скажите, какая у вас конфигурация сейчас: Ethernet + Wi‑Fi + VPN?). Пошагово объяснить, как поменять метрику, или как настроить hotspot + ICS так, чтобы клиенты шли через VPN (и что проверить, если не работает).