In this article, we will look at what a ‘static route’ is and why it should be added at all. We will use the so-called ‘Root’ — meaning we will prescribe routes using the ‘route add’ command in the Windows command line. Let’s recap the theory and in what cases using the ‘route add’ in this way may be useful for you.
‘Static routing’ is a type of routing in which routes are explicitly specified when configuring a router. All routing occurs without the participation of any routing protocols.
For example, if you have two computers at home, the first of which has access to the Internet via VPN, it is also connected to the second computer’s local network. Every time it connects to the Internet, the connection between the two computers is lost because the first computer (the one connected to the VPN) is already on another network and therefore unavailable to the second computer. This can be corrected just by configuring a static route.
Routes are network settings that are used by the operating system for organizing network traffic, as well as accessing the local network and the Internet. With help of the information on this page, you will learn how to view, delete, and add routes on a computer running a version of Windows — from XP to 10.
У некоторых Интернет-провайдеров иногда возникает необходимость дополнительно прописать статический маршрут. Например, для работы файлообменных сетей DC++ и torrent. Если Вы подключены через роутер, то все настройки маршрутизации делаются на нём, а на компьютере ничего дополнительно указывать не нужно.
В открывшемся черном окне консоли нужно прописать маршруты используя команду route.
Для примера рассмотрим три основных подсети, используемые как локальные:
Соответственно, Вам надо будет прописать 3 вот такие строки:
Например, Ваш шлюз 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
Формат командной строки:
Подсказку по параметрам командной строки можно получить используя встроенную справку ( route /? ):
-f – Очистка таблиц маршрутов от записей всех шлюзов. При указании одной из команд таблицы очищаются до выполнения команды.
-p – При использовании с командой ADD задает сохранение маршрута при перезагрузке системы. По умолчанию маршруты не сохраняются при перезагрузке. Пропускается для остальных команд,
изменяющих соответствующие постоянные маршруты. Этот параметр не поддерживается в Windows 95.
-4 – Обязательное использование протокола IPv4.
-6 – Обязательное использование протокола IPv6.
command – Одна из следующих команд:
– PRINT – Печать маршрута
– ADD – Добавление маршрута
– DELETE – Удаление маршрута
– CHANGE – Изменение существующего маршрута
destination – Адресуемый узел.
MASK – Указывает, что следующий параметр интерпретируется как маска сети.
netmask – Значение маски подсети для записи данного маршрута. Если этот параметр не задан, по умолчанию используется значение 255.255.255.255.
gateway – Шлюз.
interface – Номер интерфейса для указанного маршрута.
METRIC – Определение метрики, т.е. цены для адресуемого узла. Чем ниже значение метрики, тем выше приоритет узла при построении маршрута.
Поиск всех символических имен узлов проводится в файле сетевой базы данных
NETWORKS. Поиск символических имен шлюзов проводится в файле базы данных имен
узлов HOSTS.
Для команд PRINT и DELETE можно указать узел и шлюз с помощью подстановочных
знаков или опустить параметр “шлюз”.
Если адресуемый узел содержит подстановочные знаки * или ?, он используется
в качестве шаблона, и печатаются только соответствующие ему маршруты. Знак ‘*’
соответствует любой строке, а ‘?’ – одному знаку.
Примеры: 157.*.1, 157.*, 127.*, *224*.
Соответствие шаблону поддерживает только команда PRINT.
Недопустимое значение MASK вызывает ошибку, если (УЗЕЛ & МАСКА) != УЗЕЛ.
Например:
route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1 IF 1 – Добавление маршрута завершится ошибкой, поскольку указан недопустимый параметр маски. ( Узел & Маска) != Узел.
route PRINT – отобразить таблицу маршрутов
route PRINT -4 – отобразить таблицу маршрутов только для IPv4
route PRINT -6 – отобразить таблицу маршрутов только для IPv6
route PRINT 157* – отобразить таблицу маршрутов только для узлов, начинающихся со 157
Если сетевой интерфейс (IF) не задан, то производится попытка найти лучший интерфейс для указанного шлюза.
route ADD 3ffe::/32 3ffe::1 – добавить новый маршрут для узла с IPv6
route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2 – изменить существующий маршрут для узла IPv4
Параметр CHANGE используется только для изменения шлюза или метрики.
route DELETE 157.0.0.0 – удалить маршрут для IPv4.
route DELETE 3ffe::/32 – удалить маршрут для IPV6
Примеры использования команды ROUTE
route print – отобразить текущую таблицу маршрутов.
Пример отображаемой таблицы:
IPv4 таблица маршрута
IPv6 таблица маршрута
===========================================================================
Активные маршруты:
Постоянные маршруты:
Отсутствует
Список интерфейсов – отображаются идентификаторы ( ID ), физические ( MAC ) адреса и названия сетевых адаптеров. В примере:
24 – идентификатор интерфейса
00 50 ba 5d 0c c4 – MAC-адрес сетевого адаптера
D-Link DFE-538TX 10/100 адаптер – название сетевого адаптера.
Маска сети ( Netmask ) – маска сети.
В Windows Vista / Windows 7 / 8 и более поздних версиях, для адресов, достижимых локально, в данной колонке отображается On-link.
Другими словами, значение On-link в колонке “Шлюз” означает, что шлюз не используется, адрес назначения достижим напрямую, без
маршрутизации.
Метрика ( metric ) – значение метрики (1-9999). Метрика представляет собой числовое значение, позволяющее оптимизировать доставку пакета
получателю, если конечная точка маршрута может быть достижима по нескольким разным маршрутам. Чем меньше значение метрики, тем выше приоритет маршрута.
route print 192.* – отобразить таблицу маршрутов только для адресов, начинающихся с 192.
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1 – установить в качестве шлюза по умолчанию (основного шлюза) адрес 192.168.1.1
route -p add 10.0.0.0 mask 255.0.0.0 10.0.0.1 – добавить маршрут для подсети 10.0.0.0/255.0.0.0 и запомнить его в реестре . Это постоянный статический маршрут.
Если маршрут добавлен без использования параметра -p то он сохраняется только до перезагрузки системы (до перезапуска сетевого системного программного обеспечения). Если же, при добавлении маршрута искользовался данный параметр, то информация о маршруте записывается в реестр Windows (раздел HKLMSYSTEMCurrentControlSetServicesTcpipParametersPersistentRoutes ) и будет использоваться постоянно при активации сетевых интерфейсов.
route delete 10.0.0.0 mask 255.0.0.0 – удалить маршрут для подсети 10.0.0.0/255.0.0.0 .
route delete 10.10.10.10 – удалить маршрут созданный предыдущей командой
route change 10.0.0.0 mask 255.0.0.0 10.10.10.1 – изменить адрес шлюза для существующего маршрута к сети 10.0.0.0/255.0.0.0 на значение 10.10.10.1 Допускается
использование данной команды только для изменения адреса шлюза и метрики.
route -f – очистить таблицу маршрутов. После перезагрузки системы, или при перезапуске сетевых подключений таблица маршрутов будет
восстановлена исходя из текущей сетевой конфигурации компьютера. При выполнении команды route -f из таблицы удаляются все маршруты, которые удовлетворяют условиям:
– не относятся к петлевому интерфейсу ( интерфейсу с IP 127.0.0.1 и маской -255.0.0.0)
– не являются маршрутами для многоадресной (multicast) рассылки (IP 224.0.0.1 маска 255.0.0.0)
– не являются узловыми маршрутами (когда маска равна 255.255.255.255) .
При обработке таблицы маршрутов, статические маршруты имеют высший приоритет, по сравнению с маршрутом, использующим для достижения конечной точки шлюз по умолчанию.
Синтаксис
Список допустимых параметров:
Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду:
Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с *10.*, введите команду:
route print 10.*
Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите команду:
route add 0.0.0.0 mask 0.0.0.0 192.168.12.1
Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1
Чтобы добавить постоянный маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1, введите команду:
route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1
Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1 и метрикой 7, введите команду:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric
Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1 и использованием индекса интерфейса 0х3, введите команду:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 0x3
Чтобы удалить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0, введите команду:
route delete 10.41.0.0 mask 255.255.0.0
Чтобы удалить все маршруты из таблицы IP-маршрутизации, которые начинаются с *10.*, введите команду:
route delete 10.*
Чтобы изменить следующий адрес перехода для маршрута с конечной точкой 10.41.0.0 и маской подсети 255.255.0.0 с 10.27.0.1 на 10.27.0.25, введите команду:
route change 10.41.0.0 mask 255.255.0.0 10.27.0.25
На этом все! Profit!
Обсудить статью в чате TG или в Slack
Как прописать статический маршрут в windows с помощью утилиты командной строки route
добавление маршрута windows
Всем привет сегодня расскажу как прописать статический маршрут в windows с помощью утилиты командной строки route и как посмотреть таблицу маршрутизации Windows. Утилита route выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Когда вам может потребоваться добавление маршрута windows, тут за примером далеко ходить не нужно, самое простое, что вам нужно направить трафик до определенной локальной сети, понятно что все маршруты должен знать шлюз по умолчанию, но не всегда это возможно выполнить по ряду причин и не правильном построении сети. Кстати если кому интересно, то я рассказывал, как делается настройка маршрутов в centos, советую посмотреть для расширения кругозора.
Добавление маршрута windows
Добавление маршрута Windows начинается с изучения синтаксиса команды отвечабщего за это, открываем командную строку от имени администратора и вводим вот такую команду:
Запущенная без параметров, команда route выводит справку.
Утилита командной строки Route

Вывести на экран все содержимое таблицы IP-маршрутизации, введите команду

Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду:

Чтобы добавить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0 и следующим адресом перехода 10.27.0.1 и метрикой стоимости 7, введите команду:
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 if 0x3
Узнать ID нужного вам интерфейса поможет заметка Как посмотреть id интерфейса windows
Чтобы удалить все маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду:
Как видите добавление статического маршрута в операционной системе Windows очень простое дело и не требует особых навыков от администратора.
Ноя 14, 2014 02:24 Задайте вопрос
Windows 10 IT Pro
Все ответы
покажите tracert 172.16.0.3 до route add и после.
Странно, не правда ли?
Шлюз в удаленной сети — это плохо. Всякие клиентские торренты будут через него лезть, поэтому это все забанено.
Не очень знаком с 10-кой. По поводу этих feedback куда их надо слать? В магазине есть Центр отзывов. Его и надо использовать?
Была аналогичная проблема, но проявлялась на всех ОС (7, 8,1, 10).
Все заработало на всех ОС( и на 10ке), сервер VPN — «Микротик».
Небольшой «акцент»: «Далее нам предлагается возможность сделать обновление для таблицы маршрутизации. Если это актуально, добавляем файл маршрутов. Приведу пример файла маршрута. Допустим, мы хотим, чтобы клиент ходил в сеть 192.168.0.0/24 через наше VPN подключение (VPN-сеть имеет отличную адресацию от сети 192.168.0.0/24), при этом шлюз по умолчанию у него должен остаться свой. Тогда мы должны добавить текстовый файл с маршрутом такого содержания:«ADD 192.168.0.0 MASK 255.255.255.0 default METRIC default IF default». Внимание! Файл должен быть обязательно в кодировке ANSI, а не UTF-8, например. Если мы убрали галочку с пункта «Сделать это подключение основным шлюзом клиента» никаких директив REMOVE_GATEWAY здесь писать не нужно. «
«Далее нам предлагается возможность сделать обновление для таблицы маршрутизации. Если это актуально, добавляем файл маршрутов. Приведу пример файла маршрута. Допустим, мы хотим, чтобы клиент ходил в сеть 192.168.0.0/24 через наше VPN подключение (VPN-сеть имеет отличную адресацию от сети 192.168.0.0/24), при этом шлюз по умолчанию у него должен остаться свой. Тогда мы должны добавить текстовый файл с маршрутом такого содержания:
Согласитесь, что это не решение проблемы. Это другие пути решения вопроса при имеющейся проблеме. И факт в том, что маршрутизация работает не в соответствии с таблицей маршрутизации.
работает нормально либо с OVPN, т.е. на компе стоит клиент, который установлен с правами админа изначально, поэтому при поднятии соединения нужные маршруты сразу прописываются.
либо нормально при условии получения маршрутов от DHCP-сервера, права админа для этого не нужны. Но такое возможно только с Microsoft RRAS.
Спасибо за наводку с OVPN. Но это тоже коленка.
Остается надеяться что когда-нибудь исправят.
How to Manage Static Route with Action1
The first thing you need to do is login to the Action1 dashboard.
Then click on the More Actions button and select the Run Command option.
In the window that opens, enter the command route -p add 0.0.0.0 mask 0.0.0.0 192.168.95.1 to add a static route you need.
In case you need to delete a route use this command route delete 0.0.0.0 mask 0.0.0.0 192.168.95.1
After clicking the Next Step button, you need to select the endpoints for which you are going to add or remove static route. To do this, click Add Endpoints and select the desired endpoint.
Click Next Step and in the next step you can schedule the execution time of your command. Then click Finish.
Справка по команде ROUTE
Вернёмся к ранее полученным данным о маршруте по умолчанию:
Из него следует, что у одного из моих интерфейсов IP адрес 192.168.0.49 и у него метрика равна 55, у другого сетевого интерфейса IP 192.168.1.43 и метрика равна 70. Выигрывает тот маршрут, у которого значение метрики меньше (чем меньше метрика, тем лучше подключение).
Таким образом, если я будут выходить в Интернет, то будет использоваться сетевой интерфейс 192.168.0.49.
Убедимся в этом сразу несколькими способами. Запомним наши IP адреса, как их видят внешний сервисы. Для этого перехожу на https://suip.biz/ru/?act=myip:

Я получил, что мой IP 109.126.249.183, а мой локальный IP 192.168.0.49. В командной строке Windows делаю трассировку:
Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.0.1.
Итак, способов изменить маршрут по умолчанию сразу несколько. Например, можно изменить значение метрики так, чтобы приоритетным стал другой маршрут. Второй вариант – удалить другие маршруты, оставив только один.
Особенности применения команды route CHANGE в Windows
Необходимо отметить пару моментов в поведении команды route, которые является контринтуитивными (мы ждём одного результата, а получаем другой, неожиданный результат).
Маршруты, в том числе маршрут по умолчанию, можно не удалять/добавлять, а изменять с помощью команды route CHANGE. Но помните об особенности этой команды, если у вас установлено два или более маршрута по умолчанию: она удалит ВСЕ маршруты и впишет один новый, который указан с этой командой! На первый взгляд это неочевидно, но если подумать, то становится понятно, почему она действует именно таким образом.
Хотя об этом уже было сказано выше, значение метрики является ОТНОСИТЕЛЬНЫМ! То значение, которое вы устанавливаете для метрики, добавляется к рассчитываемому системой значению. При этом оно постоянно плавает: то есть система регулярно пересчитывает значения метрики, но к каждому полученному числу добавляет то, которое вы указали с командой route ADD.
Выбор подключения к Интернету
Компьютер может быть подключён сразу к нескольким сетям: например, к проводной сети и к беспроводной; или к двум Wi-Fi сетям; или использовать телефон в качестве модема через Bluetooth и при этом быть подключённым к проводной и Wi-Fi сети; или быть подключённым к четырём Wi-Fi сетям – да что угодно!
Если вы выходите в Интернет, как операционная система выбирает, какое именно из нескольких подключений использовать? Система действует очень мудро – она не пренебрегает ни одним из подключений. И в случае потери связи с одним из них – использует другое.
Но ведь ей в любом случае нужно выбрать, какое подключение использовать в данный момент! И система опять поступает мудро – она использует лучшее подключение. Чтобы узнать, какое подключение является лучшим, для каждого из них вычисляется так называемая Метрика – условное значение, которое учитывает сразу несколько параметров – скорость сети, потери пакетов и другое.
Рассмотрим реальный пример. Мой компьютер подключён к двум Wi-Fi сетям. Чтобы узнать характеристики маршрутов, откроем командную строку Windows, для этого нажмите Win+x, и выберите Windows PowerShell (Администратор). В открывшемся окне командной строки наберите команду

Особое внимание обратите на строки:
Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика
0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.49 55
0.0.0.0 0.0.0.0 192.168.1.1 192.168.1.43 70
Сетевой адрес 0.0.0.0 и маска сети 0.0.0.0 это обозначение маршрута по умолчанию (default route). Это тот маршрут, куда отправляется трафик, для которого явно не прописан другой маршрут.
Например, там же мы можем увидеть строку
192.168.56.0 255.255.255.0 On-link 192.168.56.1 281
В ней есть сетевой адрес 192.168.56.0 с маской подсети 255.255.255.0 – то есть это любые IP адреса в диапазоне 192.168.56.0-192.168.56.255. Так вот, для этих адресов явно прописан маршрут – они будут отправлены в 192.168.56.1.
Но если будет запрошен любой другой IP, который отсутствует в таблице (т.е. для которого не указан конкретный маршрут), то он будет отправлен по маршруту по умолчанию – это то, что указано для сети 0.0.0.0 с маской 0.0.0.0. Самым типичным трафиком, отправляемым по default route является Интернет-трафик (а также трафик в другие локальные сети, к которым ваш компьютер непосредственно не подключён – но для домашних сетей это редкая ситуация).
Для выбора Интернет-подключения по умолчанию нужно изменить маршрут по умолчанию.
Add Static Route in Command Line Shell
To remove static route open command line and type this command:
Оглавление
1. Выбор подключения к Интернету
2. Изменение маршрута по умолчанию в Windows
3. Как установить метрику для сетевых подключений в Windows
4. Особенности применения команды route CHANGE в Windows
5. Создание постоянных маршрутов, сохраняющихся после перезагрузки
6. Справка по команде ROUTE
Если у вас Linux, то смотрите статью «Практика настройки сетевых маршрутов: выбор подключения, используемое для Интернета; одновременное использование нескольких подключений для разных целей». В ней же вы найдёте дополнительные трюки для манипуляции сетевыми маршрутами, которые будут работать, в том числе, и на Windows.
Создание постоянных маршрутов, сохраняющихся после перезагрузки
По умолчанию, все прописанные маршруты, в том числе значения метрик, будут сброшены при перезагрузке компьютера.
С помощью ключа -p можно создавать постоянный маршруты, которые будут сохранены после перезагрузке.
Пример команды добавления постоянного маршрута:
Номера интерфейсов можно посмотреть командой route print (в самом верху вывода):

Номера интерфейсов идут в первом столбике – перед MAC-адресами.
Кроме опции -p, команда route имеет ещё несколько опций, рассмотрим их.
Как установить метрику для сетевых подключений в Windows
Чтобы было понятно, покажу на конкретном примере. У меня два сетевых интерфейса с IP адресами:
Для этого удаляю все маршруты по умолчанию:
Теперь добавляю тот, который я хочу сделать маршрутом по умолчанию, командой вида:
route ADD 0.0.0.0 MASK 0.0.0.0 ШЛЮЗ
В ней ШЛЮЗ нужно заменить на IP адрес шлюза (роутера) того интерфейса, через который вы хотите выходить в Интернет. Для меня это:
На данном этапе уже вернулось Интернет-подключение и если вам достаточного одного подключения, то можно не продолжать.
Тем не менее, я хочу чтобы в качестве резервного у меня было активно и второе подключение, но чтобы оно по умолчанию не использовалось.
Для его добавления используется команда следующего вида:
route ADD 0.0.0.0 MASK 0.0.0.0 ШЛЮЗ METRIC 100
Обратите внимание, что вместо ШЛЮЗ нужно вписать IP адрес шлюза «резервного» интерфейса. Также значение является не абсолютным, а относительным!!! Помните об этом, что указанная величина ДОБАВЛЯЕТСЯ к тому значению метрики, которое рассчитывает операционная система. Значение 100 можно поменять на другое (например, 50). Но выбирайте его так, чтобы значение в сумме с рассчитанной метрикой было больше, чем метрика подключения, которое мы хотим использовать по умолчанию.
route ADD 0.0.0.0 MASK 0.0.0.0 192.168.0.1 METRIC 100

Как видим, в маршрутах по умолчанию по-прежнему доступно два сетевых интерфейса. Но теперь интерфейс 192.168.0.49 имеет очень большое значение метрики, поэтому по умолчанию будет применяться сетевой интерфейс 192.168.1.43.
Проверим IP в браузере https://suip.biz/ru/?act=myip:

Как видим, поменялся и внешний IP (был 109.126.249.183, а стал 213.167.219.207) и локальный (был 192.168.0.49, а стал 192.168.1.43).
Как можно увидеть по первой строке, я действительно выхожу в интернет через шлюз 192.168.1.1.



