Как прописать статический маршрут в windows с помощью утилиты командной строки route
Запущенная без параметров, команда route выводит справку.
route [-f] [-p] [команда [конечная_точка] [mask маска_сети] [шлюз] [metric метрика]] [if интерфейс]]

Утилита командной строки Route
- -f Очищает таблицу маршрутизации от всех записей, которые не являются узловыми маршрутами (маршруты с маской подсети 255.255.255.255), сетевым маршрутом замыкания на себя (маршруты с конечной точкой 127.0.0.0 и маской подсети 255.0.0.0) или маршрутом многоадресной рассылки (маршруты с конечной точкой 224.0.0.0 и маской подсети 240.0.0.0). При использовании данного параметра совместно с одной из команд (таких, как add, change или delete) таблица очищается перед выполнением команды.
- -p При использовании данного параметра с командой add указанный маршрут добавляется в реестр и используется для инициализации таблицы IP-маршрутизации каждый раз при запуске протокола TCP/IP. По умолчанию добавленные маршруты не сохраняются при запуске протокола TCP/IP. При использовании параметра с командой print выводит на экран список постоянных маршрутов. Все другие команды игнорируют этот параметр. Постоянные маршруты хранятся в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes команда Указывает команду, которая будет запущена на удаленной системе. В следующей таблице представлен список допустимых параметров.
- add > Добавление маршрута
- change > Изменение существующего маршрута
- delete > Удаление маршрута или маршрутов
- print > Печать маршрута или маршрутов
Конечная точка определяет конечную точку маршрута. Конечной точкой может быть сетевой IP-адрес (где разряды узла в сетевом адресе имеют значение 0), IP-адрес маршрута к узлу, или значение 0.0.0.0 для маршрута по умолчанию. mask маска_сети Указывает маску сети (также известной как маска подсети) в соответствии с точкой назначения. Маска сети может быть маской подсети соответствующей сетевому IP-адресу, например 255.255.255.255 для маршрута к узлу или 0.0.0.0. для маршрута по умолчанию. Если данный параметр пропущен, используется маска подсети 255.255.255.255. Конечная точка не может быть более точной, чем соответствующая маска подсети. Другими словами, значение разряда 1 в адресе конечной точки невозможно, если значение соответствующего разряда в маске подсети равно 0. шлюз Указывает IP-адрес пересылки или следующего перехода, по которому доступен набор адресов, определенный конечной точкой и маской подсети. Для локально подключенных маршрутов подсети, адрес шлюза — это IP-адрес, назначенный интерфейсу, который подключен к подсети. Для удаленных маршрутов, которые доступны через один или несколько маршрутизаторов, адрес шлюза — непосредственно доступный IP-адрес ближайшего маршрутизатора. metric метрика Задает целочисленную метрику стоимости маршрута (в пределах от 1 до 9999) для маршрута, которая используется при выборе в таблице маршрутизации одного из нескольких маршрутов, наиболее близко соответствующего адресу назначения пересылаемого пакета. Выбирается маршрут с наименьшей метрикой. Метрика отражает количество переходов, скорость прохождения пути, надежность пути, пропускную способность пути и средства администрирования. if интерфейс Указывает индекс интерфейса, через который доступна точка назначения. Для вывода списка интерфейсов и их соответствующих индексов используйте команду route print. Значения индексов интерфейсов могут быть как десятичные, так и шестнадцатеричные. Перед шестнадцатеричными номерами вводится 0х. В случае, когда параметр if пропущен, интерфейс определяется из адреса шлюза. /? Отображает справку в командной строке.

Большие значения в столбце metric таблицы маршрутизации — результат возможности протокола TCP/IP автоматически определять метрики маршрутов таблицы маршрутизации на основании конфигурации IP-адреса, маски подсети и стандартного шлюза для каждого интерфейса ЛВС. Автоматическое определение метрики интерфейса, включенное по умолчанию, устанавливает скорость каждого интерфейса и метрики маршрутов для каждого интерфейса так, что самый быстрый интерфейс создает маршруты с наименьшей метрикой. Чтобы удалить большие метрики, отключите автоматическое определение метрики интерфейса в дополнительных свойствах протокола TCP/IP для каждого подключения по локальной сети.
Имена могут использоваться для параметра конечная_точка, если существует соответствующая запись в файле базы данных Networks, находящемся в папке системный_корневой_каталог\System32\Drivers\Etc. В параметре шлюз можно указывать имена до тех пор, пока они разрешаются в IP-адреса с помощью стандартных способов разрешения узлов, таких как запрос службы DNS, использование локального файла Hosts, находящегося в папке системный_корневой_каталог\system32\drivers\etc, или разрешение имен NetBIOS.
Если команда — print или delete, параметр шлюз опускается и используются подстановочные знаки для указания точки назначения и шлюза. Значение конечной_точки может быть подстановочным значением, которое указывается звездочкой (*). При наличии звездочки (*) или вопросительного знака (?) в описании конечной точки, они рассматриваются как подстановки, тогда печатаются или удаляются только маршруты, соответствующие точке назначения. Звездочка соответствует любой последовательности символов, а вопросительный знак — любому одному символу. 10.*.1, 192.168.*, 127.* и *224* являются допустимыми примерами использования звездочки в качестве подстановочного символа.
При использовании недопустимой комбинации значений конечной точки и маски подсети (маски сети) выводится следующее сообщение об ошибке : «Маршрут: неверная маска подсети адреса шлюза». Ошибка появляется, когда одно или несколько значений разрядов в адресе конечной точки равно 1, а значения соответствующих разрядов маски подсети — 1. Для проверки этого состояния выразите конечную точку и маску подсети в двоичном формате. Маска подсети в двоичном формате состоит из последовательности единичных битов, представляющей часть сетевого адреса конечной точки, и последовательности нулевых битов, обозначающей часть адреса узла конечной точки. Проверьте наличие единичных битов в части адреса точки назначения, которая является адресом узла (как определено маской подсети).
Параметр -p поддерживается в команде route только в операционных системах Windows NT 4.0, Windows 2000, Windows Millennium Edition и Windows XP. Этот параметр не поддерживается командой route в системах Windows 95 и Windows 98.
Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Примеры
Настройка маршрутизации win 10, как сделать раздельное использование 2х сетевых интерфейсов?
Всем доброго времени суток!
Друзья помогите решить вопрос.
Есть роутер. (роутер получает интернет через локальную сеть по протоколу PPTP. далее раздает. ) К роутеру подключена машинка под управлением win10. Возникла задача поднять VPN и часть трафика (для определенных программ) пускать через vpn. Для этих целей я поставил OpenVpn. Все работает, но! весь трафик сейчас проходит через подключение (openVpn)
Вопрос стоит так: как пустить часть трафика через OpenVpn, а остальной трафик через стандартное подключение ? Какие для этого есть методы, программы, итд. буду благодарен за любую помощь и советы.
Что я пытался сделать:
1. Долго гуглил (ничего толкового не нашел)
2. Перенастроить маршрутизацию, но ничего из этого не вышло (возможно знаний не хватает)
3. Пытался колдовать с фаерволом (ESET NOD32 Smart Security)
(может пригодится)
Карта маршрутов при обычном подключении
Карта маршрутов при выключенном OpenVpn

- Вопрос задан более трёх лет назад
- 28096 просмотров
Комментировать
Решения вопроса 0
Ответы на вопрос 2
запретить openvpn выставлять default gateway
прописать статические маршруты до нужных хостов через vpn шлюз
Ответ написан более трёх лет назад
Musgem @Musgem Автор вопроса
==запретить openvpn выставлять default gateway==
Как это сделать ?

АртемЪ @Jump Куратор тега Windows
Musgem: Убрать push «redirect-gateway def1» из конфига на сервере например.
Musgem @Musgem Автор вопроса
АртемЪ: Я не имею доступа на сервер, я юзаю фришный VPN и конфиг.
Musgem @Musgem Автор вопроса
Я вообще могу в конфиге на своей стороне что-то поменять ?

АртемЪ @Jump Куратор тега Windows
Musgem: Ну это ваши проблемы, я то чем могу помочь?
Получайте доступ к серверу, или меняйте шлюз руками каждый раз.
Musgem @Musgem Автор вопроса
АртемЪ: так. А если шлюз в постоянные маршруты прописать (чтоб каждый раз его не прописывать) Это не поможет ?

АртемЪ @Jump Куратор тега Windows
sta-s2z: Должно работать, обрабатывает то конфиг OpenVPN, а не операционка.

АртемЪ @Jump Куратор тега Windows
Musgem: Ну разумеется его надо в постоянные прописывать.
Только вот у вас OpenVPN при каждом запуске его будет переписывать.
Musgem @Musgem Автор вопроса
sta-s2z: Спасибо за ссылку, на досуге изучу.
АртемЪ: ну мало ли, может ограничения есть у клиента
ниразу под вынь не поднимал ovpn 🙂
Musgem @Musgem Автор вопроса
Прописал в конфиге OpenVPN
route 0.0.0.0 192.0.0.0 net_gateway
route 64.0.0.0 192.0.0.0 net_gateway
route 128.0.0.0 192.0.0.0 net_gateway
route 192.0.0.0 192.0.0.0 net_gateway
Весь трафик пошел по стандартному подключению.
Полагаю теперь мне надо добавить через route -p add постоянные маршруты до нужных мне апишников используя шлюз VPN-a ?

АртемЪ @Jump Куратор тега Windows
Musgem: туда же route 1.2.3.0 255.255.255.0
1.2.3.0 подсеть, в которую ты хочешь попасть через ovpn
Musgem @Musgem Автор вопроса
а надо выбирать какой интерфейс юзать , в конце прописывать IF или не надо ?
к примеру:
route -p add 192.168.200.23 mask 0.0.0.0 10.211.1.35 metric 10 if (интерфейс)
и не совсем мне понятно с этими метриками, что это такое ?
Musgem @Musgem Автор вопроса

У меня если что стандартное подключение, получает все адреса от роутера на автомате.

Вообщем. поковырявшись с маршрутизацией. у меня не получается даже пустить трафик на определенный ИП
(при включённым vpn)
К примеру: берем сайт (https://2ip.ru/) для проверки вашего ИП, посредством ping получаем его айпишник.
Далее. в постоянные маршруты прописываем: route -p add 188.40.35.183 mask 255.255.255.255 192.168.1.1
. по логике получается, мы говорим: вот адрес иди через стандартную дверь (шлюз) в данном случае роутер.
На практике: все равно весь трафик идет через vpn.
(карта маршрута)
Пробовал и в обратной последовательности, когда в конфиге vpn делаешь так: https://community.openvpn.net/openvpn/wiki/IgnoreR.
Весь трафик начинает идти через стандартное подключение, прописываешь маршрут для заданного ип, но! все равно часть трафика не заворачивает в openVpn -овское подключение.
Люди добрые! Что я делаю не так?
(по идее должно работать)
/////
Так, вроде я решил проблему )
1. В конфиге openVPN (вверху) добавляем.
route 0.0.0.0 128.0.0.0 net_gateway
route 128.0.0.0 128.0.0.0 net_gateway
(тем самым мы пускаем весь трафик через стандартное подключение)
2. Лезем сюда и ставим: https://r1ch.net/projects/forcebindip
(Эта штуковина управляет нужными нам прогами, и говорит им «туды ходи и через эту дверь» Но вы поняли. )
(На дворе 2016 год! и к сожалению винда не умеет решать подобные задачи штатными средствами)
3. (для тех кому лень постоянно в командной строке писать)
Для нужной нам проги (какую хотим запускать) делаем батник (запускаем от имени админа)
В батнике пишем (для примера сделал для Хрома)
ForceBindIP.exe 10.211.1.1 «C:\Program Files (x86)\Google\Chrome\Application\chrome.exe»
4. Ип интерфейса узнаем (он постоянно меняется) в «сведения о сетевом подключении»
(либо команда: route print)
PS: Получились грабли )) но зато работает все! проверил 3ри раза!
Если у кого появится свои варианты решения данных задач, буду рад их изучить.
Как прописать статический маршрут в Windows 10

У некоторых Интернет-провайдеров иногда возникает необходимость дополнительно прописать статический маршрут. Например, для работы файлообменных сетей DC++ и torrent. Если Вы подключены через роутер, то все настройки маршрутизации делаются на нём, а на компьютере ничего дополнительно указывать не нужно.
А вот если кабель провайдера подключен напрямую в компьютер или через модем в режиме «мост»(Bridge), тогда может возникнуть необходимость прописать статический маршрут, добавив его в таблицу маршрутизации Windows. Чтобы это сделать, Вы должны запустить командную строку с правами Администратора. Для этого надо нажать кнопку «Пуск» и выбрать пункт меню «Программы» -> «Стандартные» -> «Командная строка», либо нажать комбинацию клавиш Win+R и ввести команду «cmd».
В открывшемся черном окне консоли нужно прописать маршруты используя команду route.
Параметры команды:
-f Очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды.
-p При использовании с командой ADD задает сохранение маршрута при перезагрузке системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд, изменяющих соответствующие постоянные маршруты.
-4 Обязательное использование протокола IPv4.
-6 Обязательное использование протокола IPv6.
Одна из следующих команд:
PRINT Печать маршрута
ADD Добавление маршрута
DELETE Удаление маршрута
CHANGE Изменение существующего маршрута
destination Адресуемый узел.
MASK Указывает, что следующий параметр интерпретируется как маска сети.
netmask Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255.
gateway Шлюз.
interface Номер интерфейса для указанного маршрута.
METRIC Определение метрики, т.е. цены для адресуемого узла.
Для примера рассмотрим три основных подсети, используемые как локальные:
192.168.0.0/16
10.0.0.0/8
172.16.0.0/16
Соответственно, Вам надо будет прописать 3 вот такие строки:
route -p add 192.168.0.0 mask 255.255.0.0
route -p add 10.0.0.0 mask 255.0.0.0
route -p add 172.16.0.0 mask 255.240.0.0
Например, Ваш шлюз 192.168.50.1, тогда команды будут выглядеть так:
route -p add 192.168.0.0 mask 255.255.0.0 192.168.50.1
route -p add 10.0.0.0 mask 255.0.0.0 192.168.50.1
route -p add 172.16.0.0 mask 255.240.0.0 192.168.50.1
Если возникнет необходимость удалить статические маршруты — просто введите следующие команды:
route delete 192.168.0.0
route delete 10.0.0.0
route delete 172.16.0.0
Инструкции и советы:
- 192.168.l.l недоступен, в чём причина?
- 192.168 0.1 Вход в роутер D-Link и TP-Link
- Поменять пароль WiFi роутера
- admin admin не подходит — что делать?
- 192.168.100.1 Huawei HG8245
- Как настроить вай-фай на TP-Link
- Как поставить и поменять пароль на вход
- 192.168.1.1 my keenetic net
- Как зайти в настройки роутера TP-Link, Asus
- Забыл пароль на 192.168.1.1 — как быть?
- Для чего нужен IP-адрес 192.168.1.1
- Что такое VLAN 802.1 Q тегирование?!
- Настройка сети в Debian и Ubuntu Linux?!
- Ошибки подключения к Интернету PPP и VPN
- Вход на tplinklogin.net для роутера ТП-Линк
- Настройка WiFi ASUS
- Обновление прошивки роутера
- CentOS: настройка сети из консоли
- Обновление прошивки роутера
- Модем Промсвязь М-200 А
- Настройка модема MT-PON-AT4 для ByFly
- Роутер не сохраняет настройки
- Как узнать пароль от своего WiFi
- tplinkwifi.net и tplinkmodem.net
- Как посмотреть ip адрес роутера
- Как сменить канал на роутере
- Почему роутер не раздаёт WiFi
- Как скрыть сеть WiFi на роутере
- Как отключить WiFi на роутере
- Как сменить DNS сервер Windows 10
- Настройка Huawei HG532E
Полезная информация:
- Как подключить ADSL модем
- Как раздать WiFi без роутера
- Как подключить роутер FTTB ETTH
- Статическая маршрутизация Windows 10
- Трассировка маршрута сети
- Как пинговать ip адрес роутера
- Технология доступа FTTX, FTTB, FTTC
- Цифровое телевидение iptv Ростелеком
- Как повысить скорость роутера
- IP телефония SIP от Мегафон, МТС
- Ubiquity AirOS пароль по умолчанию
- Wireless Multicast Forwarding
- Что такое маска подсети 255.255.255.0
- Стандарты wifi 802.11 b/g/n
- Какой пароль роутера Ростелеком
- Решение проблем с DNS сервером
- Что такое метрика сети и маршрута
- Чем отличаются серый и белый IP адреса
- Как узнать MAC адрес по IP
- Как измерить скорость Интернет соединения
- Как создать сеть между компьютерами
- Как увеличить скорость WiFi
- Как поменять пароль WiFi Ростелеком
- Как соединить два роутера
- Как настроить режим WDS мост на TP-Link
- Как подключить компьютер к компьютеру
- Как посмотреть пароль от своего WiFi роутера
- Mikrotik проброс портов Routerboard
- где пароль WiFi в Windows 10
- Чем отличается коммутатор от маршрутизатора и роутера
- Почему горит красным лампочка Интернет
- Почему плохо работает WiFi роутер
- Как открыть порты
- Почему плохо работает wi-fi
- Вход в админку роутера Ростелеком
Реклама и объявления:
Other versions:
- English
- Spanish and Portuguese
Автоматическое добавление статических маршрутов после подключения к VPN

27.12.2022

itpro

Windows 10, Windows Server 2016

комментариев 14
В современных версиях Windows есть интересная возможность автоматического добавления статических маршрутов при активации определённого VPN подключения. Когда VPN подключение разрывается, данный маршрут автоматически удаляется из таблицы маршрутизации Windows. Для добавления IPv4 или IPv6 маршрута для VPN подключения используется PowerShell командлет Add-VpnConnectionRoute.
Вы конечно, можете вручную в командной строке добавлять нужные маршруты для VPN подключения, но главная проблема в том, что такие маршруты очищаются после отключения от VPN. Поэтому при следующем подключении, вам придется опять руками прописывать маршруты.
Допустим, вы хотите, чтобы через ваше VPN подключение маршрутизировались только пакеты для двух подсетей (192.168.111.24/ и 10.1.0.0/16), а весь основной трафик должен идти через вашего провайдера.
Откройте консоль PowerShell и выведите список всех настроенных VPN подключений в Windows:

Подробнее про управление VPN подключепиями в Windows с помощью PowerShell.
В первую очередь нужно отключить опцию “Use default gateway in remote network” (Использовать основной шлюз в удаленной сети). Это можно сделать в свойствах VPN подключения в панели управления или командой:
Set-VpnConnection –Name workVPN -SplitTunneling $True
Подробнее про SplitTunneling здесь.

Добавим два статических маршрута для нашего VPN-соединения:
Add-VpnConnectionRoute -ConnectionName «workVPN» -DestinationPrefix 192.168.111.0/24 –PassThru
Add-VpnConnectionRoute -ConnectionName «workVPN» -DestinationPrefix 10.1.0.0/16 –PassThru
В параметре DestinationPrefix нужно указать подсеть, или конкретный IP адрес хоста, трафик к которому нужно маршрутизировать через VPN. Для добавления одного IP адреса используйте формат 10.1.1.26/32.

DestinationPrefix : 192.168.111.0/24 InterfaceIndex : InterfaceAlias : workVPN AddressFamily : IPv4 NextHop : 0.0.0.0 Publish : 0 RouteMetric : 1
Если у вас активно VPN подключение, вам нужно переподключиться, чтобы новые маршруты добавились в таблицу маршрутизации.

Новые маршруты привязаны к VPN подключению и добавляются при его запуске. Когда вы отключаетесь от VPN сервера, маршруты автоматически удаляются.
Отключитесь от VPN и проверьте таблицу маршрутизации. Маршрут к вашей удаленной сети удалился автоматически, а Get-NetRoute вернет, что маршрут не найден:
Get-NetRoute : No MSFT_NetRoute objects found with property 'DestinationPrefix' equal to '192.168.111.0/24'. Verify the value of the property and retry. CmdletizationQuery_NotFound_DestinationPrefix,Get-NetRoute

Вывести список статических маршрутов для подключения:
(Get-VpnConnection -ConnectionName workVPN).Routes
Чтобы полностью удалить статических маршрут для VPN подключения, используйте команду:
Remove-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.111.0/24 -PassThru
Если вам нужно изменить порядок разрешения DNS имен при активном VPN, познакомьтесь со статьей.
В предыдущих версиях Windows (Windows 7/ Server 2008R2) для динамического добавления маршрутов после установления VPN подключений приходилось использовать CMAK и различные скрипты с командами add route .
Например, можно создать командный файл vpn_route.netsh для добавления маршрутов.
interface ipv4
add route prefix=192.168.111.24 interface=»workVPN» store=active
add route prefix=10.1.0.0/16 interface=»workVPN» store=active
exit
Данный файл нужно запускать через задание планировщика, которое срабатывает на событие установки VPN подключения в Event Viewer (RasMan 20225)
schtasks /create /F /TN «Add VPN routes» /TR «netsh -f C:\PS\vpn_route.netsh» /SC ONEVENT /EC Application /RL HIGHEST /MO «*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data=’My VPN’]]»
Предыдущая статья Следующая статья
