Устройство A (Windows 10 Pro) с 192.168.1.10/24 (локальная сеть) и 172.16.3.37 (VPN-подключение к устройству B).
Устройство B – Кинетик (192.168.43.1/24) c VPN-сервером.
Необходимо организовать доступ с Устройства B к сети Устройства A (192.168.1.0/24).
На Устройстве А:
- прописал маршрут до сети Устройства B:
route add 192.168.43.0 MASK 255.255.255.0 172.16.3.37 if 33, где 33 – интерфейс VPN-подключения
Устройство B c Устройства А доступно:>tracert 192.168.43.1 Трассировка маршрута к 192.168.43.1 с максимальным числом прыжков 30 1 10 ms 10 ms 15 ms keen.home [192.168.43.1] Трассировка завершена. - отключил Сетевой экран Касперского; системный фаервол отключен
- включил через реестр
IpEnableRouter - включил службу “Маршрутизация и удаленный доступ”:
Set-Service RemoteAccess -StartupType Automatic; Start-Service RemoteAccess - включил форвардинг:
Set-NetIPInterface -Forwarding Enabled
На Устройстве B прописал маршрут до сети Устройства А через VPN-интерфейс:
192.168.1.0/24 via 172.16.3.37 dev sstp1
Трассируюсь с Утройства B до Устройства A по его локальному адресу:
traceroute to 192.168.1.10 (192.168.1.10), 30 hops max, 38 byte packets 1 172.16.3.37 (172.16.3.37) 11.659 ms 13.345 ms * 2 * * * 3 * * *Пожалуйста, подскажите, в рамках использования клиентского Windows задача не выполнима?
включил форвардинг:
Set-NetIPInterface -Forwarding Enabled
Не очень правильно для всех интерфейсов включать форвардинг, поэтому поправился и включил на Устройстве А форвардинг только для VPN’а:
Set-NetIPInterface -Forwarding Disabled
Set-NetIPInterface -ifIndex 33 -Forwarding Enabled После этого включил на Устройстве А Wireshark и начал отслеживать icmp для локальной сети Устройства А.
Далее с Устройства B (192.168.43.1) пингую Устройство А (192.168.1.10).
sending ICMP ECHO request to 192.168.1.10...
PING 192.168.1.10 (192.168.1.10) 56 (84) bytes of data.
--- 192.168.1.10 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss,
0 duplicate(s), time 5002.70 ms. Пинг не проходит, но при этом на Устройстве А по захвату icmp вот такая картинка:

Т.е. локальный интерфейс Устройства А отвечает Устройству B, но Устройство B ответ этот почему-то не получает, хотя соответствующий маршрут на Устройстве А имеется.
При этом с Устройства А прямой пинг на Устройство B проходит:
>ping 192.168.43.1
Обмен пакетами с 192.168.43.1 по с 32 байтами данных:
Ответ от 192.168.43.1: число байт=32 время=13мс TTL=64
Ответ от 192.168.43.1: число байт=32 время=11мс TTL=64Что я не докрутил или перекрутил?..
В общем, поменял SSTP на WG и включил форвардинг:
Set-NetIPInterface -ifIndex 33 -Forwarding Enabled // форвардинг для VPN’а
Set-NetIPInterface -ifIndex 9 -Forwarding Enabled // форвардинг для физического интерфейса локальной сети
Проблема решилась. Всем спасибо!
На компьютере Windows с несколькими сетевыми адаптерами (Ethernet, Wi-Fi, VPN) для корректной маршрутизации трафика иногда нужно вручную настраивать приоритеты сетевых подключений. Например, при наличии одновременного подключений к сети через Wi-Fi и Ethernet, вы можете изменить приоритеты сетевых адаптеров так, чтобы по-умолчанию трафик всегда отправлялся через проводное подключение.
Windows автоматически назначает приоритеты сетевым адаптерам в зависимости от скорости подключения. Чем выше скорость подключения, тем более высокий приоритет такого сетевого адаптера (меньше значение метрики). Обычно Windows использует следующий порядок приоритетов для различных типов сетевых интерфейсов:
- Ethernet
- Wi‑Fi
- Мобильные подключения
Если компьютер подключен к 100 Мб Ethernet порту и высокоскоростному Wi-Fi роутеру, может оказаться, что беспроводное подключение будет иметь более высокий приоритет.
Вывести информацию о доступных IPv4 сетевых адаптерах в Windows:
Приоритет сетевого интерфейс определяется значением InterfaceMetric. Чем меньше значение InterfaceMetric, тем выше приоритет сетевого подключения.
Ниже представлены результаты команды с двух разных компьютеров. На первом скриншоте видно, что у Ethernet подключения выше приоритет чем у беспроводного Wi-Fi адаптера. На втором скриншоте два Ethernet интерфейса с одинаковыми приоритетами.

Значение InterfaceMetric это метрика, которая задает приоритет IP маршрута через этот сетевой адаптер в таблице маршрутизации Windows:

В этой таблице маршрутизации видно, что по умолчанию сетевой трафик будет отправлен через интерфейс с меньшей метрикой.
С помощью 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). В более новых версиях эту опцию убрали.





