В данной статье мы рассмотрим, что такое статический маршрут и зачем его вообще прописывать. Мы будем использовать так называемые «руты» или другими словами будем прописывать маршруты с помощью команды route add в командной строке Windows.
Прежде чем приступать к практике хотелось бы поговорить немного о теории, что бы Вы понимали, что Вы делаете, и в каких случаях это Вам может пригодиться.
Статическая маршрутизация — вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.
Статический маршрут — представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами — это явно указанный путь, по которому должен пройти пакет из пункта А в пункт Б.
В этой статье мы с Вами говорим, о статическом маршруте на обыкновенном компьютере с операционной системой Windows. Для чего же нам нужно уметь прописывать статические маршруты? спросите Вы, сейчас попробую объяснить, где это знание Вам может пригодиться.
Сейчас очень распространено для безопасности использовать «Виртуальные частные сети» (VPN). V PN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям. Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей.
Например, у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находится в другой сети, и поэтому недоступен со второго компа.
Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодится сисадминам, (пример из жизни) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN. Был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения. В итоге я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого и попал на нужный мне сайт (который показывал внешний ip) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но Вы сами понимаете, что на это нет времени и попросту неохота. Теперь Вы немного представляете, где и для чего Вам может пригодиться знание того, как прописываются статические маршруты.
- Примеры использования утилиты route
- Синтаксис и основные ключи утилиты route
- Вывести на экран все содержимое таблицы IP-маршрутизации, введите команду
- Какой маршрут по умолчанию в Windows?
- Как посмотреть таблицу маршрутизации в windows?
- Как увидеть маршруты ipv4 в Windows?
- Как посмотреть маршруты ipv6 в windows?
- Как читать таблицу маршрутизации Windows?
- Как мне управлять несколькими шлюзами в Windows?
- Откройте CMD с правами администратора.
- Настройте основной шлюз по умолчанию для Windows 10.
- Получите идентификатор интерфейса.
- Измените метрику интерфейса.
- Проверьте конфигурацию.
- Как удалить маршрут в windows?
- Как добавить два маршрута по умолчанию в Windows?
- Как добавить статический маршрут в Windows?
- Как добавить постоянный маршрут в Windows?
Примеры использования утилиты route
Хватит теории, переходим к практике. Сейчас мы с Вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном VPN соединении, пригодится обычным пользователям, у которых дома более одного компьютера, а в Интернет выходят по средствам VPN.
Добавив всего один маршрут, Вы получаете доступ к своей сети при подключенном Интернете, т.е. V PN соединении.
Вот еще один небольшой пример, у Вас дома подключение к Интернету через модем ADSL и Вам иногда (ну или постоянно) требуется подключение к VPN сети, и соответственно выхода в Интернет через свой канал у Вас уже не будет. Но с помощью статического маршрута Вы можете получить доступ к определенным сайтам (узнав предварительно их ip адреса, с помощью команды ping в командной строке, например ping yandex.ru), к которым Вам бы хотелось иметь постоянный доступ (и при подключенном VPN соединении и неподключенном).
Синтаксис и основные ключи утилиты route
Вот в принципе и все что я хотел Вам рассказать, но следует помнить что, проводя все выше указанные манипуляции нужно быть внимательным, так как ошибка всего в одной цифре приведет к нежелательным результатам, не критичным, но нежелательным. В особенности это относится к корпоративным сетям, где маршрутизация уже настроена, и Вы можете легко изменить, удалить нужные маршруты.
Добавление маршрута Windows начинается с изучения синтаксиса команды отвечабщего за это, открываем командную строку от имени администратора и вводим вот такую команду:
Запущенная без параметров, команда route выводит справку.
Утилита командной строки Route
Если команда — 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.
Вывести на экран все содержимое таблицы IP-маршрутизации, введите команду
Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 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 7
Чтобы добавить маршрут к конечной точке 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 if 0x3
Узнать ID нужного вам интерфейса поможет заметка Как посмотреть id интерфейса windows
Чтобы удалить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0, введите команду:
route delete 10.41.0.0 mask 255.255.0.0
Чтобы удалить все маршруты из таблицы IP-маршрутизации, которые начинаются с 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
Как видите добавление статического маршрута в операционной системе Windows очень простое дело и не требует особых навыков от администратора.
У некоторых Интернет-провайдеров иногда возникает необходимость дополнительно прописать статический маршрут. Например, для работы файлообменных сетей 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
Какой маршрут по умолчанию в Windows?
Если вы не знаете подсеть, к которой хотите подключиться, тогда вы используете так называемые маршруты по умолчанию. Маршрут по умолчанию в основном настроен для доступа в Интернет.
Это означает, что вы не можете указать маршруты в таблице маршрутизации, а в Интернете существуют миллионы IP-адресов, и как мне получить доступ к этим IP-адресам с вашего локального компьютера?
Вы можете ввести 0.0.0.0 в качестве IP-подсети и 0.0.0.0 в качестве маски и указать маршрут к шлюзу по умолчанию. По сути, это сообщает хосту Windows, что для доступа к любой подсети, кроме конкретной, вы используете маршрут по умолчанию.
Обычно маршрут по умолчанию добавляется к хостам окна или любым конечным хостам, если на то пошло, путем настройки шлюза по умолчанию. Если вы определите шлюз по умолчанию в системе, это добавит маршрут по умолчанию, указывающий на шлюз по умолчанию.
Однако в некоторых ситуациях это может создать проблему, поскольку у вас может быть несколько портов LAN, и все они настроены с помощью DHCP. Как только хост получает IP-адрес через DHCP на всех портах, он также добавляет шлюзы по умолчанию. для всех этих интерфейсов. В результате получается несколько маршрутов по умолчанию к нескольким шлюзам. Это создаст проблему, когда конечные хосты захотят подключиться к Интернету.
Как посмотреть таблицу маршрутизации в windows?
Как и любое сетевое устройство, машина с Windows также имеет локальную таблицу маршрутизации. Он может сообщить вам много информации о маршрутах, которые знает это окно Windows.
Чтобы просмотреть таблицу маршрутизации Windows, вы можете ввести команду маршрутизации print в командной строке Windows. Однако при этом вы отобразите таблицу маршрутизации IPv4 и IPv6, а также сможете получить выходные данные маршрута, специфичные для версии IP.
Как увидеть маршруты ipv4 в Windows?
Если вы хотите видеть в Windows только маршруты IPv4, вы можете ввести команду маршрут печати -4.
Как посмотреть маршруты ipv6 в windows?
Как и в случае с IPv4, вы также можете увидеть только маршруты IPv6 в таблице маршрутизации Windows, набрав маршрутную печать -6.
Как читать таблицу маршрутизации Windows?
Довольно часто любой человек, глядя на таблицу маршрутизации Windows, запутывается в отображаемой информации. Давайте рассмотрим и объясним каждый из элементов таблицы маршрутизации Windows.
Как мне управлять несколькими шлюзами в Windows?
Если на компьютере с Windows установлено два интерфейса, вам придется управлять несколькими шлюзами, используя статические маршруты. Давайте посмотрим, как мы можем настроить несколько шлюзов, используя статические маршруты. ниже приведены примеры, которые мы собираемся настроить.
Откройте CMD с правами администратора.
Давайте попробуем пропинговать IP-адрес 8.8.8.8.
Да, я могу подключиться к Интернету и проверить, по какому пути он идет, с помощью команды Tracert
Как видите, он идет по пути 192.168.0.1.
Если вы внимательно посмотрите на таблицу маршрутизации, то увидите, что есть два маршрута по умолчанию с одинаковой метрикой. Один к 192.168.0.1 (интерфейс 1), а другой к 10.1.1.1 (интерфейс 2) с одинаковой метрикой.
В этой настройке, когда вы впервые пытаетесь получить доступ к Интернету, пакет будет отправлен на оба интерфейса. И он выбирает шлюз по умолчанию, который ему необходимо использовать.
Настройте основной шлюз по умолчанию для Windows 10.
Поскольку у нас нет доступа к Интернету через интерфейс 2 (10.1.1.1), нам не следует использовать к нему маршрут по умолчанию. Чтобы разрешить несколько шлюзов по умолчанию в вашей сети, у вас есть два варианта.
Измените метрику для интерфейса Windows или удалите шлюз по умолчанию, указанный на интерфейс 2.
Мы знаем, что интерфейс, который мы хотели использовать для Интернета, — это интерфейс 1 (192.168.0.1), и когда мы смотрим на метрику, мы видим, что и интерфейс 1, и интерфейс 2 имеют одинаковую метрику 281.)
На обычной машине с Windows вы сможете увидеть метрику, начиная с 25, а если вы используете Windows в качестве виртуальной машины, вы можете заметить, что ее метрика по умолчанию равна 281. Однако, когда вы попытаетесь изменить метрику, вы сможете увидеть, что машина Windows по умолчанию принимает метрику как 25, хотя вы их не видите.
Чтобы сделать интерфейс 1 приоритетным для интернета, нужно понизить его метрику.
Все, что вам нужно сделать, это добавить значение метрики 1 для интерфейса 1., и это изменит значение метрики Windows на 26 (25+1)
Получите идентификатор интерфейса.
Когда вы вводите команду маршрута, напечатайте -4, это покажет вам список интерфейсов вверху.
А у нашего интерфейса 1 идентификатор равен 21, а у интерфейса 2 — 25.
Чтобы проверить интерфейс, вы можете ввести ipconfig /all и сравнить MAC-адрес с идентификаторами списка интерфейсов.
Измените метрику интерфейса.
Проверьте конфигурацию.
Давайте теперь проверим таблицу маршрутизации.
Как видите, для нашего основного интерфейса показатель изменился на 26. Отныне весь интернет-трафик будет выходить через интерфейс 1.
Что если интерфейс 1 выйдет из строя?, то по умолчанию компьютер с Windows начнет использовать интерфейс 2
Чтобы смоделировать проблему, я просто отключил интерфейс 1, и, как вы можете видеть, у меня больше нет маршрута по умолчанию к интерфейсу 1.
Как удалить маршрут в windows?
Приведенный выше сценарий будет полезен, если у вас есть доступ в Интернет по обоим каналам, где интерфейс 1 имеет большую пропускную способность, чем интерфейс 2.
Поскольку у нас вообще нет доступа в Интернет на интерфейсе 2, нет смысла сохранять маршрут по умолчанию, поэтому давайте продолжим, подключим интерфейс 1 обратно и удалим маршрут по умолчанию, подключенный к интерфейсу 2.
Как добавить два маршрута по умолчанию в Windows?
В нашем предыдущем сценарии все выглядело хорошо, однако, когда Интернет на интерфейсе 1 отключается, резервирования не происходит. Итак, вы решили добавить интернет через дополнительный интерфейс.
Один из вариантов использования: у вас есть Интернет на интерфейсе 1 с большей пропускной способностью и Интернет 2 с меньшей пропускной способностью. В случае отключения Интернета 1 должен включиться Интернет 2 на интерфейсе 2.)
В таблице маршрутизации у нас уже есть маршрут по умолчанию, в котором мы ранее установили метрику 26.
Давайте добавим второй маршрут по умолчанию с большей метрикой, чтобы второй маршрут по умолчанию был менее предпочтительным по сравнению с основным каналом. А когда основной канал выйдет из строя, вторичный позаботится об интернет-трафике.
Чтобы добавить маршрут по умолчанию, вы можете добавить следующие команды.
маршрут ADD 0.0.0.0 МАСКА 0.0.0.0 10.1.1.1 -p METRIC 50 -p
Причина, по которой я добавил метрику 50, заключается в том, что если вы добавите еще один маршрут по умолчанию без метрики, он просто выберет метрику по умолчанию, которая уже используется другим маршрутом по умолчанию.
Новый добавленный маршрут теперь имеет метрику 75.
Когда вы одновременно подключились к Wi-Fi и проводному соединению на компьютере с Windows 10, у вас будет два маршрута по умолчанию с разными метриками, и если вы думаете о приоритете сети Wi-Fi над проводной, тогда вы можете ознакомиться со статьей здесь, чтобы знать как.
Как добавить статический маршрут в Windows?
Хорошо, с интернет-частью поработали, используя маршрут по умолчанию, теперь давайте поговорим о конкретных статических маршрутах к серверу от 1 до 6.
В списке серверов, чтобы получить доступ к серверу 1-3, вы должны пройти через интерфейс 2, а серверы 3-7 должны достичь через интерфейс 1.
Как вы можете видеть, мы не можем достичь IP-адреса, давайте посмотрим на таблицу IP-адресов, и я не вижу ни одного IP-адреса внутри таблицы маршрутизации, что нехорошо.
В настоящее время происходит следующее: поскольку у нас нет конкретного маршрута к 10.2.2.0, он выбирает маршрут по умолчанию с более низкой метрикой на интерфейсе1.
Как вы можете видеть из трассировки ниже.
Нам нужно направить 10.2.2.0 на интерфейс 2.
В CMD добавьте маршрут, как показано ниже.
маршрут добавить 10.2.2.0 маска 255.255.255.0 10.1.1.1
Еще раз проверьте таблицу маршрутов.
Пропингуйте IP-адрес, как видите, теперь мы можем получить доступ к IP-адресу через интерфейс 2.
Как добавить постоянный маршрут в Windows?
Мы только что добавили статический маршрут в Windows, и он работает как положено, однако что произойдет, если вы перезагрузите компьютер?
При перезагрузке машины любые изменения, внесенные вами в маршрутизацию, будут удалены. Для временных маршрутов это должно быть хорошо, но не подходит для постоянного пункта назначения.
Чтобы избежать этого, вы можете использовать постоянный маршрут в Windows. Таким образом, изменения, внесенные вами в таблицу маршрутизации Windows, сохраняются даже после перезагрузки компьютера. Чтобы добавить постоянный маршрут, вам просто нужно добавить -p в конце оператора маршрута.
маршрут добавить 10.2.2.0 маску 255.255.255.0 10.1.1.1 -p
С этого момента все маршруты, которые мы собираемся добавлять, будут использовать только постоянную команду.
Вы должны увидеть постоянный маршрут в нижней части таблицы маршрутизации.
Давайте добавим остальные IP-адреса, прежде чем добавлять маршруты, давайте проверим доступность.
Нет, оба пункта назначения сейчас недоступны, поэтому давайте добавим маршруты.
добавить маршрут 192.168.6.10 маска 255.255.255.0 10.1.1.1 -p
добавить маршрут 172.16.2.10 маска 255.255.255.0 10.1.1.1 -p
Серверы через интерфейс 2 теперь доступны, вы можете снова проверить соединение с помощью команды ping, и все должно работать нормально.
Вы также можете проверить добавленные маршруты в таблице маршрутизации Windows.
Можем ли мы теперь добраться до серверов 4-6 в интерфейсе 1? Как вы знаете, у нас нет конкретных маршрутов для этого. Если вы сказали, что ответ «Да», то вы правы!
отправим пинг на серверы 4,5 и 6.
Как видите, я прекрасно могу подключиться ко всем трем серверам, но почему мы можем достичь этих серверов, хотя у нас нет для них определенного статического маршрута.
Это потому, что он использует тот же маршрут по умолчанию на интерфейсе 1, поэтому ПК будет отправлять маршрут на шлюз по умолчанию, а также потому, что шлюз знает о подключенном маршруте 10.0.0.0/24, 198.168.3.0/24. и 172.0.0.0/24 ПК с Windows может подключаться ко всем серверам на интерфейсе1.
Это отлично работает, правда?
Да, но нет, позвольте мне объяснить.
Сейчас всё работает нормально, но что, если вы решили удалить маршрут по умолчанию на интерфейсе 1, то это будет проблемой. Те серверы 4-6, проходящие через интерфейс 1 по маршруту по умолчанию, больше не могут добраться до удаленного устройства.
Рекомендуется добавить определенные статические маршруты, которые мы добавили для интерфейса 2, и он обо всем позаботится. Таким образом, даже если вы решите удалить Интернет на интерфейсе 1, вы можете мирным путем удалить маршрут по умолчанию, а определенные маршруты позаботятся о доступности сервера.
Чтобы добавить остальную часть подсети серверов в маршрутизацию, вы можете добавить оператор маршрута, как показано ниже.
маршрут добавить 10.0.0.0 маску 255.255.255.0 192.168.0.1 -p
добавить маршрут 172.0.0.0 маска 255.255.255.0 192.168.0.1 -p
добавить маршрут 192.168.3.0 маска 255.255.255.0 192.168.0.1 -p
Проверьте маршруты.