Windows маршруты в командной строке

Маршрутизация в Windows

Маршрутизация в Windows

Маршрутизация – это процесс передачи IP-трафика адресатам в сети, то есть процесс передачи пакетов от хоста-источника к  хосту-адресату через промежуточные маршрутизаторы. Изучая эту статью предполагается что вы изучили материал основы компьютерных сетей.

Изучим как работает маршрутизация в Windows, что бы понять как она работает, а не просто прочитать и забыть, вам необходимо несколько виртуальных машин, а именно:

  • ВМ с Windows XP.
  • 2 ВМ с Windows Server 2003.

Учтите, что при настройке виртуальных машин, в настройках сети нужно указать «Внутренняя сеть» и задать одинаковое имя сети для всех машин.

Если вы не поленитесь и установите три виртуальные машины, а так же изучите этот материал до конца, то у вас будет практическое понимание работы сети в операционных системах семейства Windows.

Содержание:

  • Таблица маршрутизации
  • Статическая маршрутизация
  • Маршрутизация по умолчанию
  • Динамическая маршрутизация, протокол RIP

Для простоты передачи данных хост-источник и маршрутизатор принимают решения о передаче пакетов на основе своих таблиц IP-маршрутизации. Записи таблицы создаются при помощи:

  1. Программного обеспечения стека TCP/IP.
  2. Администратора, путем конфигурирования статических маршрутов.
  3. Протоколов маршрутизации, одним из которых является протокол передачи маршрутной информации – RIP.

По сути, таблица маршрутизации – это база данных, которая хранится в памяти всех IP-узлов. Цель таблицы IP-маршрутизации это предоставление IP-адреса назначения для каждого передаваемого пакета для следующего перехода в сети.

Пример маршрутизации в Windows

Допустим, у нас есть три узла:

  • Windows XP.
  • Windows Server 2003 – 1.
  • Windows Server 2003 – 2.

Хост XP имеет один сетевой адаптер (интерфейс) с IP-адресом 192.168.0.2 и маской подсети 255.255.255.0. Маршрутизатор Server1 имеет два интерфейса с IP-адресами 192.168.0.1 и 192.168.1.1 и масками подсети 255.255.255.0. Маршрутизатор Server2 также имеет 2 сетевых адаптера с IPадресами 192.168.1.2 и 192.168.2.1 и масками подсети 255.255.255.0. Таким образом, мы имеем 3 сети: сеть с IP-адресом 192.168.0.0 (Net 1), сеть с IP-адресом 192.168.1.0 (Net 2), сеть с IP-адресом 192.168.2.0 (Net 3).

Схема сети

Таблица маршрутизации

Таблица маршрутизации по умолчанию создается на узле автоматически с помощью программного обеспечения стека TCP/IP.

При настройке сетевого подключения на хосте XP были статически заданы IP-адрес 192.168.0.2 и маска подсети 255.255.255.0, основной шлюз задан не был. Программное обеспечение стека TCP/IP автоматически создало таблицу маршрутизации по умолчанию.

Что бы просмотреть таблицы маршрутизации на узле XP выполним команду route print в командной строке (Пуск -> Выполнить -> cmd).

Простая таблица маршрутизации

Таблица маршрутизации содержит для каждой записи следующие поля: Сетевой адрес (Network Destination), Маска сети (Netmask), Адрес шлюза (Gateway), Интерфейс (Interface) и Метрика (Metric). Разберем каждое поле подробнее.

Сетевой адрес. Поле определяет диапазон IP-адресов достижимых с использованием данной таблицы.

Маска сети. Битовая маска, которая служит для определения значащих разрядов в поле Сетевой адрес. Маска состоит из непрерывных единиц и нулей, отображается в десятичном коде. Поля Сетевой адрес и Маска определяют один или несколько IP-адрес.

Адрес шлюза. В этом поле содержаться IP-адрес, по которому должен быть направлен пакет, если он соответствует данной записи таблицы маршрутизации.

Интерфейс. Данное поле содержит адрес логического или физического интерфейса, используемого для продвижения пакетов, соответствующих данной записи таблицы маршрутизации.

Метрика. Используется для выбора маршрута, в случае если имеется несколько записей, которые соответствуют одному адресу назначения с одной и той же маской, то есть в случае если одного адресата можно достичь разными путями, через разные маршруты. При этом, чем меньше значение метрики тем короче маршрут.

На начальном этапе работы (т.е. с таблицами маршрутизации по умолчанию) маршрутизатор (хост) знает только, как достичь сетей, с которыми он соединен непосредственно. Пути в другие сети могут быть «выяснены» следующими способами:

  • с помощью статических маршрутов;
  • с помощью маршрутов по умолчанию;
  • с помощью маршрутов, определенных протоколами динамической маршрутизации.

Рассмотрим каждый из способов по порядку.

Статическая маршрутизация

Статические маршруты задаются вручную. Плюс статических маршрутов в том, что они не требуют рассылки широковещательных пакетов с маршрутной информацией, которые занимают полосу пропускания сети.

Минус статических маршрутов состоит в том, что при изменении топологии сети администратор должен вручную изменить все статические маршруты, что довольно трудоемко, в случае если сеть имеет сложную структуру с большим количеством узлов.

Второй минус заключается в том, что при отказе какого-либо канала статический маршрут перестанет работать, даже если будут доступны другие каналы передачи данных, так как для них не задан статический маршрут.

Но вернемся к нашему примеру. Наша задача, имя исходные данные, установить соединения между хостом XP и Server2 который находится в сети Net3, то есть нужно что бы проходил пинг на 192.168.2.1.

Начнем выполнять на хосте XP команды ping постепенно удаляясь от самого хоста. Выполните в Командной строке команды ping для адресов 192.168.0.2, 192.168.0.1, 192.168.1.1.

Мы видим, что команды ping по адресу собственного интерфейса хоста XP и по адресу ближайшего интерфейса соседнего маршрутизатора Server1 выполняются успешно.

Пинг узла на себя

Пинг на Server1

Однако при попытке получить ответ от второго интерфейса маршрутизатора Server1 выводится сообщение «Заданный узел недоступен» или «Превышен интервал ожидания для запроса».

Пинг на сервер 2

Это связано с тем, что в таблице маршрутизации по умолчанию хоста XP имеются записи о маршруте к хосту 192.168.0.2 и о маршруте к сети 192.168.0.0, к которой относится интерфейс маршрутизатора Server1 с адресом 192.168.0.1. Но в ней нет записей ни о маршруте к узлу 192.168.1.1, ни о маршруте к сети 192.168.1.0.

Добавим в таблицу маршрутизации XP запись о маршруте к сети 192.168.1.0. Для этого введем команду route add с необходимыми параметрами:

route add [адресат] [mask маска] [шлюз] [metric метрика] [if интерфейс]

Параметры команды имеют следующие значения:

  • адресат — адрес сети или хоста, для которого добавляется маршрут;
  • mask — если вводится это ключевое слово, то следующий параметр интерпретируется как маска подсети, соответственно маска — значение маски;
  • шлюз — адрес шлюза;
  • metric — после этого ключевого слова указывается метрика маршрута до адресата (метрика);
  • if — после этого ключевого слова указывается индекс интерфейса, через который будут направляться пакеты заданному адресату.

Индекс интерфейса можно определить из секции Список интерфейсов (Interface List) выходных данных команды route print.

Выполним команду route print.

Команда route print

Теперь мы видим , что хост XP имеет два интерфейса: логический интерфейс замыкания на себя (Loopback) и физический интерфейс с сетевым адаптером Intel(R) PRO/1000. Индекс физического интерфейса – 0x2.

Теперь, зная индекс физического интерфейса, на хосте добавьте нужный маршрут, выполнив следующую команду:

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1 metric 2 if 0x2

Данная команда сообщает хосту XP о том, что для того, чтобы достичь сети 192.168.1.0 с маской 255.255.255.0, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x2, причем сеть 192.168.1.0 находится на расстоянии двух транзитных участка от хоста XP.

Выполним пинг на 192.168.1.1 и убедимся, что связь есть.

Продолжим пинговать серверы, теперь проверьте отклик от второго маршрутизатора, присоединенного к сети Net2 (Server2). Он имеет IP-адрес 192.168.1.2.

Получаем сообщение «Превышен интервал ожидания запроса». В данном случае это означает что наш хост XP знает как отправлять данные адресату, но он не получает ответа.

Это происходит по тому, что хост Server2 не имеет информации о маршруте до хоста 192.168.0.1 и до сети 192.168.0.0 соответственно, поэтому он не может отправить ответ.

Для этого необходимо выполнить команду route add с соответствующими параметрами, однако сначала необходимо узнать индекс интерфейса с адресом 192.168.1.2.

На Server2 выполним команду route print и посмотрим индекс первого физического интерфейса. Далее, с помощью команды route add добавьте на Server2 маршрут до сети Net1, аналогично тому, как мы добавляли маршрут хосту XP.
В моем случае это команда:

route add 192.168.0.0 mask 255.255.255.0 192.168.1.1 metric 2 if 0x10003

0x10003 — это индекс физического интерфейса сервера 2.

Индекс физического интерфейса

Индекс физического интерфейса может быть разным, обязательно обращайте на него внимание.

После того, как удостоверитесь в наличии связи между узлами XP и Server2, выполните команду ping 192.168.2.1, т.е. проверьте наличие маршрута узла XP до сети Net3 (192.168.2.1 – IP-адрес маршрутизатора Server2 в сети Net3).

Вместо ответа вы получите сообщение «Заданный узел недоступен». С этой проблемой мы сталкивались еще в самом начале лабораторной работы, машина XP не знает путей до сети 192.168.2.0.

Добавьте в таблицу маршрутизации хоста XP запись о маршруте к сети 192.168.2.0. Это можно сделать путем ввода в командной строке хоста XP команды route add с соответствующими параметрами:

route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 3 if 0x2

Я не буду подробно описывать как полностью настроить статическую маршрутизацию между узлами, думаю что суть ясна. Если у вас появились вопросы — задавайте их в комментариях.

Маршрутизация по умолчанию

Второй способ настройки маршрутизации в Windows — то маршрутизация по умолчанию.

Для маршрутизации по умолчанию необходимо задать на всех узлах сети маршруты по умолчанию.

Для добавления такого маршрута на хосте XP выполните следующую команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003

Эта команда сообщает хосту XP о том, что для того, чтобы достичь любой сети, маршрут к которой отсутствует в таблице маршрутизации, необходимо использовать шлюз 192.168.0.1 и интерфейс с индексом 0x10003.

Это так называемый маршрут по умолчанию.

Проверьте работоспособность с помощью команды ping.

Динамическая маршрутизация, протокол RIP

Протокол RIP (Routing Information Protocol или Протокол передачи маршрутной информации) является одним из самых распространенных протоколов динамической маршрутизации.

Его суть заключается в том, что маршрутизатор использующий RIP передает во все подключенные к нему сети содержимое своей таблицы маршрутизации и получает от соседних маршрутизаторов их таблицы.

Есть две версии протокола RIP. Версия 1 не поддерживает маски, поэтому между сетями распространяется только информация о сетях и расстояниях до них. При этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети должна быть задана одна и та же маска.

Протокол RIP полностью поддерживается только серверной операционной системой, тогда как клиентская операционная система (например, Windows XP) поддерживает только прием маршрутной информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не может.

Настраивать RIP можно двумя способами:

  • В графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ”.
  • В режиме командной строки с помощью утилиты netsh.

Рассмотрим настройку в режиме командной строки с помощью утилиты netsh.

Netsh – это утилита командной строки и средство выполнения сценариев для сетевых компонентов операционных систем семейства Windows (начиная с Windows 2000).

Введите в командной строке команду netsh, после появления netsh> введите знак вопроса и нажмите Enter, появиться справка по команде.

Введите последовательно команды:

  1. routing
  2. Ip
  3. rip
  4. ?

Вы увидите, что среди доступных команд этого контекста есть команда add interface, позволяющая настроить RIP на заданном интерфейсе. Простейший вариант этой команды – add interface «Имя интерфейса».

Если ввести в Windows XP в контексте netsh routing ip rip команду add interface "Net1", то получим сообщение «RIP должен быть установлен первым». Дело в том, что Установить RIP можно только в серверной операционной системе. В Windows Server 2003 в RIP включается в оснастке «Маршрутизация и удаленный доступ» (Пуск –> Программы –> Администрирование –> Маршрутизация и удаленный доступ). Таким образом, включить RIP в нашем случае можно только на маршрутизаторах Server1 и Server2.

Настроим RIP на Server1. Но сначала нужно выключит брандмауэр.

Теперь в оснастке «Маршрутизация и удаленный доступ» в контекстном меню пункта SERVER1 (локально) выберите пункт «Настроить и включить Маршрутизация ЛВС

Настроить и включить маршрутизацию и удаленный доступ

маршрутизацию и удаленный доступ».

В появившемся окне мастера нажмите «Далее».

Мастер установки сервера и удаленной маршрутизации

На следующем этапе выберите «Особая конфигурация» и нажмите «Далее».

Особая конфигурация

После чего нужно выбрать «Маршрутизация ЛВС» и завершить работу мастера.

Маршрутизация ЛВС

То же самое нужно выполнить на Server2.

Настройка через оснастку

В контекстном меню вкладки «Общие» (SERVER1 –> IP-маршрутизация –> Общие) нужно выбрать пункт «Новый протокол маршрутизации».

Новый протокол маршрутизации

Затем выделяем строку «RIP версии 2 для IP».

В контекстном меню появившейся вкладки «RIP» выберите «Новый интерфейс». Выделите строку «Подключение по локальной сети» и нажмите ОК.

Новый интерфейс RIP

Перед вами появиться окно.

Свойства интерфейса RIP

В появившемся окне необходимо задать следующие настройки:

  • Режим работы –> Режим периодического обновления.
  • Протокол для исходящих пакетов –> Для RIP версии 1.
  • Протокол входящих пакетов –> Только для RIP версии 1.

Оставьте оставшиеся настройки по умолчанию и нажмите ОК.

Далее необходимо выполнить эти действия для второго сетевого интерфейса.

После выполните те же действия для Sever2.

Проверьте, с помощью команды ping, работу сети.

Проверка работы сет ping

Поздравляю! Маршрутизация в Windows изучена.

Для добавления статического маршрута в Windows, необходимо в командной строке (Пуск –> Выполнить или Ctrl+R) набираем команду
route ADD -p 10.10.0.101 MASK 255.255.255.0 192.168.1.1 METRIC 1
и нажимаем «Enter»

Пояснения:

route программа работы с маршрутами;
ADD – команда для добавления маршрута на указанный адрес. У нас на 10.1.1.1;
-p – этот ключ нужен, что бы сохранить маршрут. Если его не прописать, то после перезагрузки таблица маршрутов обносится;
10.10.0.101 – адрес назначения;
MASK – маски сети;
192.168.1.1 – адрес основного шлюза. Чаще всего это ip-адрес модема;.
METRIC 1 – параметр, определяющий приоритет указанного выше шлюза. 1- наивысший приоритет.

Проверить прописанные маршруты можно командой route print. Для этого заходим в командную строку (Пуск –> Выполнить –> cmd –> Ok). В открывшемся окне набираем команду route print

Last Updated :
01 Nov, 2022

A routing table is a part of a computer’s operating system. It contains the details of the best way to reach different networks, such as your home or office network. The table helps your computer send data to different networks and devices. Windows uses a routing table to determine the best way to send data to a specific destination. A routing table is used in every operating system. It contains the details of the best way to reach different networks, such as your home or office network. The table helps your computer send data to different networks and devices. Windows uses a routing table to determine the best way to send data to a specific destination. You can add a static route to the routing table to save time if your home or business is frequently visited. You can also add alternate routes to your home or business if you have trouble reaching the original location via the routing table.

Interfaces and Route Table on Windows:

The Command route print prints the list of All Interfaces and the IPv4/v6 Routing Table. It is followed by a comma-delimited argument, which describes the command to run (e: -f). If there are no arguments then it reports all installed ports for each configured interface; if not supplied this would report only the ones present on that port range. The format uses spaces as normal in names. Below is the Snapshot after running route print on Windows.

Interface list

IPv4 Routing Table

IPv6 Routing Table

Adding Static Route to the Routing Table:

To add a static route, press and hold the Windows key and the R key, then press Enter on your keyboard; this opens the Run dialog box. Type route print and press Enter on your keyboard. This opens Windows’ Routing and IP Configuration dialog box. In this dialog box, click on Add → Next → Next; this opens the Add Default Route window. In this window, enter the details for your new default route, then click on Add → Close → OK → Apply → Close→ OK → OK;  Now you are now finished adding a static route to the Windows Routing Table.

The command to add an entry from cmd is as below

route add Destination_Address 
MASK Subnet_Mask Gateway_IP Metric
Example: route add 192.168.39.0 
MASK 255.255.255.0 192.148.0.2

adding IP

Below is the output of the route print after adding the static route.

192.168.39.0 Default IP

Alternate routes can be useful for travelers or for businesses with multiple locations throughout town or regionally. For example, if you live far from work you may want an alternate route, so you don’t have to constantly drive back and forth all day long between home and work each day; alternatively, if you’re a business owner with several locations throughout town or regionally, alternate routes can be useful for customers who need several locations open for business each day they can easily reach their location by traveling along different roads through town or regionally instead of having to travel back-and-forth on one road each day between their locations. Adding an alternate route to your home or business is easy with a properly functioning routing table; however, many users neglect to add them until they experience problems reaching their location via that main route. Adding a static route can also be effective when adding an alternate route for quick access for frequent use by family members or friends; either way, adding a static route or alternate route is easy with just a few steps.

Windows: route в командной строке¶


route print — вывод текущей таблицы маршрутизации

  • ключ -4 (только IPv4)
  • ключ -6 (только IPv6)
  • 10*, 172.16 *, 0.0.0.0 или другие — поиск маршрутов с указанным значением (астерикс = «любые символы»)

Добавление статического маршрута (route add)¶

route add 1.1.1.0 mask 255.255.255.0 10.0.1.1 if 1
  • 1.1.1.0 — сеть назначения

  • mask 255.255.255.0 — маска подсети на назначения

  • 10.0.1.1 — адрес шлюза

  • if 1 — номер интерфейса для которого актуален маршрут

Удаление статического маршрута¶

Удаление маршрута происходит еще проще. Все, что вам нужно сделать – ввести команду route delete и сеть, которую вы хотите удалить:

route delete 10.0.0.0

There may be some instances where you may have a network attached to your local segment and you to provide the ability for some computers on that segment to route traffic into that network. Using the Windows ROUTE command, you can easily control the flow of traffic leaving your computers. Here is an example of a subnet that has two routers plugged into the segment.

Computers normally have only one default gateway. So which router interface would you configure as your gateway for computers A, B, or C? Generally, your default gateway is the interface that packets are sent to when no other routes to the destination are known.

In this case, it would be 192.168.0.254. Unlike traditional routers, computers generally do not have large routing tables. Wait, computers have a routing table? Yes, all computers running TCP/IP have a local routing table.

The routing table is used by TCP/IP to make decisions on whether to send the packet to a computer on the same segment or to forward it to the default gateway.

So in this example, if you wanted to access a host in the 192.168.1.x segment, your computer would send it to the default gateway because your computer doesn’t have any information about that subnet. Since the direct route to this network is not known, your computer sends the packet to the gateway (router interface 192.168.0.254).

If your router doesn’t have any information about this network, your router will either discard the packet or send it to its default gateway. The packet will continue along the chain of routers until its delivered or discarded.

If we add a route for 192.168.1.0 in our computer’s local routing table, we will be able to send the traffic to the 192.168.0.253 interface. Once that router receives the packet, it will send it to the destination since that network is locally attached to the router.

Here is an example command to add an additional route to our local routing table.

route ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.253

We are instructing the computer to add a route to the 192.168.1.0/24 subnet by sending the packet to the 192.168.0.253 interface.

If you want to look at the routing table, use the following command:

route PRINT

Here is an example of the routing table after the route has been added.

X Idy2Tw

Now, from this point on, you will be able to access all hosts in the 192.168.1.0 subnet from the 192.168.0.0 subnet that has this information in the local routing table. For specific route parameters on each Windows OS, just type route /? at the command prompt.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Файловая система ext на windows
  • Как снять пароль с профиля в windows 10
  • Как открыть клавиатуру на экране windows 10 мышкой
  • Windows event log channels
  • Windows text to speech russian