NexxDigital - компьютеры и операционные системы

Команда Route выводит на экран все содержимое таблицы IP-маршрутизации и изменяет записи. Запущенная без параметров, команда route выводит справку.

Синтаксис параметры утилиты ROUTE

route [-f] [-p] [команда [конечная_точка] [шлюз] ] ]

  • -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.
  • команда - Указывает команду, которая будет запущена на удаленной системе. Возжожна одна из следующих команд: PRINT - Печать маршрута, ADD - Добавление маршрута, DELETE - Удаление маршрута, CHANGE - Изменение существующего маршрута.
  • конечная_точка - Определяет конечную точку маршрута. Конечной точкой может быть сетевой 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 пропущен, интерфейс определяется из адреса шлюза.

Примеры команды Route

  • Чтобы вывести на экран все содержимое таблицы IP-маршрутизации, введите команду: route print ;
  • Чтобы вывести на экран маршруты из таблицы 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.

Видео - Работа с утилитой ROUTE

· Комментариев нет

Поразительно, как быстро бежит время. Люди думаю, что настоящие компьютеры очень высокотехнологичны, но протокол TCP/IP существует в той или иной форме уже более трех десятилетий. У него было достаточно времени, чтобы созреть и стать стабильным и надежным. Но если дело касается компьютеров, то ничего не может быть надежным. При указании маршрутов для пакетов в сети иногда случаются неприятности. В таких ситуациях следует быть знакомым с таблицами маршрутизации Windows. Они определяют поток пакетов из необходимой машины. В статье я расскажу о том, как просматривать таблицы и как их понять.

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

Таблицы маршрутизации – важная часть протокола TCP/IP в Windows, но операционная система не показывает их обычному пользователю. Если хочется их увидеть, то необходимо открыть командную строку и ввести команду ROUTE PRINT. После этого можно будет увидеть окно, похожее на представленное на рисунке А.

Рисунок A: Так выглядят таблицы маршрутизации.

Прежде чем я подробнее остановлюсь на таблицах, я советую ввести в командную строку другую команду:

Это показывает установку протокола TCP/IP на компьютере. Вы также можете посмотреть раздел TCP/IP в свойствах сетевого адаптера, но первый способ предпочтительнее. Я часто сталкивался с ситуацией, когда команда IPCONFIG выводила совершенно иные данные, нежели данные, введенные в свойства TCP/IP. Это случается нечасто, но ошибки происходят из-за этого разногласия. Другими словами, данные, введенные в свойства TCP/IP, определяют установку протокола для выбранной сети. А команда IPCONFIG показывает, как Windows в действительности настроил протокол.

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


Рисунок B: Команда IPCONFIG /ALL показывает все настройки TCP/IP на основе сетевого адаптера

Проверка таблиц маршрутизации

Вас, наверное, заинтересовало, почему я попросил ввести команду TCP/IP, если статья касается таблиц маршрутизации? Да потому что, никто не смотрит таблицы, если не возникла проблема с компьютером. А если проблема есть, то лучше всего начать процесс диагностики со сравнения информации, предоставленной командой IPCONFIG, с информацией в таблицах маршрутизации.

Как видно из рисунка В, команда IPCONFIG /ALL показывает основную информацию по протоколу TCP/IP: IP адрес, шлюз по умолчанию и т. д. А вот таблицы маршрутизации прочитать не так легко. Именно поэтому я хотел бы обсудить вопрос считывания данных из таблиц.

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

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

Взглянув на экран, появившийся после введения команды Route Print, можно увидеть, что таблицы разделены на 5 колонок. Первой идет колонка сетей. В ней представлены все сетевые сегменты, к которым подключен маршрутизатор. Колонка Netmask показывает маску подсети, но не сетевого интерфейса, к которому подключен сегмент, а самого сегмента. Это позволяет маршрутизатору определить класс адреса для сети места назначения.

Третьей является колонка шлюза. После того как маршрутизатор определил сеть назначения, в которую необходимо отправить пакет, он сверяется со списком шлюза. Данный список «говорит» маршрутизатору, через какой IP адрес необходимо отправлять пакет в сеть назначения.

Колонка интерфейса предоставляет информацию о сетевом адаптере, подключенном к сети назначения. Точнее будет сказать, что данная колонка предоставляет информацию о IP адресе сетевого адаптера, который соединяет маршрутизатор с сетью назначения. Но маршрутизатор достаточно «умен», чтобы понять, чему присвоен адрес.

Последней идет метрическая колонка. Метрики – это довольно сложная тема, тем не менее, я попытаюсь объяснить, что они из себя представляют. Лучше всего это можно сделать на примере аэропорта. Представьте, что необходимо перелететь из Шарлоты, штат Северная Каролина, в Майами, штат Флорида. Аэропорт в Шарлоте очень большой, и существует несколько способов попасть на пляж в Майами. Можно воспользоваться рейсом компании Северо-западные авиалинии. Он доставит меня в Детройт, штат Мичиган, а затем в Майами (Детройт находится несколько в стороне). Можно воспользоваться рейсом Континентальный авиалиний через Хьюстон, штат Техас, а затем в Майами. А можно просто воспользоваться Американскими авиалиниями и попасть в Майами без промежуточных приземлений. Так каким же рейсом воспользоваться?

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

Маршрутизация работает по такому же принципу. Существует несколько маршрутов отправки пакетов. В этом случае имеет смысл отправить его по самому короткому пути. Вот когда вступают в игру метрики. Windows не задействует метрики, пока есть только один маршрут достижения места назначения. В противном случае Windows проверяет метрики для определения кратчайшего пути. Это упрощенное объяснение, но оно позволяет понять принцип работы.

Дополнительные возможности маршрутизации

Я уже упоминал команду Route Print, но существует множество вариантов использования команды ROUTE. Ее синтаксис следующий:

ROUTE [-f] [-p]

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

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

Командная часть в синтаксисе ROUTE проста. Она может состоять из 4 вариантов: PRINT, ADD, DELETE, и CHANGE. Я уже говорил о команде ROUTE PRINT, но и у нее могут быть варианты. Например можно использовать специальные символы в команде. Если нужно напечатать маршруты для подсети 192.x.x.x, можно воспользоваться командой ROUTE PRINT 192*.

Команда ROUTE DELETE работает также как и ROUTE Print. Просто введите ROUTE DELETE, а следом место назначения или шлюз, который необходимо удалить из таблицы маршрутизации. Например, при желании удалить шлюз 192.0.0.0 введите ROUTE DELETE 192.0.0.0.

Все выше сказанное касается и команд ROUTE CHANGE и ROUTE ADD. При введении данной команды следует определить место назначения, маску подсети и шлюз. Также можно указать метрики и интерфейс. Например, добавить место назначения с простым синтаксисом можно следующим образом:

ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100

В данной команде 147.0.0.0 является местом назначения, 255.0.0.0 – маской подсети для места назначения, а 148.100.100.100 – адресом шлюза. Можно расширить команду с помощью параметров METRIC и IF:

ROUTE ADD 147.0.0.0 255.0.0.0 148.100.100.100 METRIC 1 IF 1

Параметр metric необязателен, но он определяет метрику и количество отрезков для маршрута. Параметр IF указывает Windows, какой адаптер использовать. В нашем случае Windows использует сетевой адаптер, который связан с ним в качестве интерфейса 1. При отсутствии данного параметра используется лучший интерфейс.

Заключение

В статье я рассказал о том, как использовать команду ROUTE для вывода таблиц маршрутизации и внесения в них изменений. Если нужна дополнительная помощь, можно получить дополнительные примеры, введя команду ROUTE /? Command.

www.windowsnetworking.com


Смотрите также:

Exchange 2007

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ...

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ...

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть...

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ...

Вчера столкнулся с небольшой проблемой — на машине с Win2k3 установлены 2 сетевых карты, 2 провайдера. Проблема оказалась следующая: подсети пересекаются (точнее — совпадают). Было решено использовать за основной шлюз 1го провайдера, а по внутрисетевым ресурсам гулять — через 2го. И всё бы ничего, но машина должна обслуживать входящие соединения с обоих интерфейсов. Но, благодаря статическим маршрутам, ответы на запросы из подсети 10.0.0.0/8, пришедшей со стороны первого провайдера уходили через канал второго провайдера, что было, мягко говоря, не тем, что нужно. Как решить эту проблему под линухом — я знал (и тоже поведаю в этой заметке). Немного погуглив был найден вариант решения (в msdn"e наткнулись на управления приоритетами соединений). Коллега (WAJIM, привет) подумал — и нашёл 2й вариант. Потом немного (совсем немного) подумал я — и по аналогии появился 2й вариант решения для линуха:)
Итого, под катом вас ожидает 4 варианта решения задачи маршрутизации по 2м провайдерам — 2 под виндовс и 2 под линукс.

Дано:

  • 2 физических фаервола, по совместительству являющихся шлюзами (192.168.1.10 и 192.168.2.10)
  • 2 сетевых интерфейса (lan1 — 192.168.1.101 и lan2 — 192.168.2.101)
  • желание заставить это добро работать так, как нужно нам
Чтож… приступимс.
  • Windows
    • Управление приоритетом сетевых подключений:
      Необходимо создать 3 маршрута:

      route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 1

      Далее идём в Сетевые подключения -> Дополнительно -> Дополнительные параметры, перемещаем lan2 вверх, чтобы это соединение оказалось выше lan1. Готово.

    • Опять же — создаём 3 маршрута. Только изменим метрики
      route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.10 metric 1
      route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 2
      route -p add 10.0.0.0 mask 255.0.0.0 192.168.2.10 metric 1

      И никаких танцев с приоритетом интерфейсов. Считаю этот метод оптимальным.
      UPD : метрика интерфеса, приоритет которого выше (см. предыдущий пункт) не должна быть наименьшей.
  • Linux
    • Приоритет в таблице маршрутизации:
      Тут почти тоже самое, что и в предыдущем пункте (только синтаксис чуток различается)

      route add -net 10.0.0.0/8 gw 192.168.1.10 metric 1
    • iproute2:
      Собственно, для этого решения необходимо наличие установленного пакета iproute2. В дебиане — apt-get install iproute.
      В этом случае нам понадобится 2 маршрута
      route add default gw 192.168.1.10 metric 0
      route add -net 10.0.0.0/8 gw 192.168.2.10 metric 0

      Создадим 2 таблицы маршрутизации:
      echo "10 lan1" >> /etc/iproute2/rt_tables
      echo "11 lan2" >> /etc/iproute2/rt_tables

      Добавляем в эти таблицы правила маршрутизации:
      ip route add default via 192.168.1.10 table lan1
      ip rule add from 192.168.1.101 table lan1
      ip route add 127.0.0.0/8 dev lo table lan1

      Ip route add default via 192.168.2.10 table lan2
      ip rule add from 192.168.2.101 table lan2
      ip route add 127.0.0.0/8 dev lo table lan2


      Последние правила — для того, чтобы пакеты с локального интерфейса не терялись.
    Так же не стоит забывать, что линукс при перезагрузки очищает таблицы и правила маршрутизации, потому рекомендую создать хитрый скрипт в папке /etc/network/if-up.d. У меня там лежит скрипт такого содержания:
    #!/bin/sh -e

    Case "$IFACE" in
    eth1)
    ip route add default via 192.168.1.10 table lan1
    ip rule add from 192.168.1.101 table lan1
    ip route add 127.0.0.0/8 dev lo table lan1
    ;;
    eth2)
    route del default gw 192.168.2.101
    route add -net 10.0.0.0/8 gw 192.168.2.10 1
    ip route add default via 192.168.2.10 table lan2
    ip rule add from 192.168.2.101 table lan2
    ip route add 127.0.0.0/8 dev lo table lan2
    ;;
    esac


    UPD : поправил косяки в указании метрики.
Выбор за вами. Скажу лишь что было решено остановиться на вторых вариантах для обоих систем (изменение метрики на windows и iproute2 на debian).
Кому интересна тема маршрутизации в линуксе — рекомендую почитать вот эту вещь

Поскольку часто приходится настраивать ВПНы на чужих машинах и предоставлять доступ к каки-либо ресурсам нашей сети, а чаще всего это просто конкретные машины, то надо записать себе шпаргалку по добавлению статических маршрутов в ОСях семейства Windows (XP/7/8/8.1). Все элементарно и просто.Синтаксис

route [-f] [-p] [команда [конечная_точка ] [шлюз ] ] ]

Параметры:

-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).

Чтобы вывести на экран все содержимое таблицы 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

Чтобы удалить маршрут к конечной точке 10.41.0.0 с маской подсети 255.255.0.0, введите команду:

route delete 10.41.0.0 mask 255.255.0.0

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

Российский Интернет стремительно развивается, все больше людей получают доступ в Глобальную сеть, каналы связи расширяются, позволяя подключать больше абонентов. В мегаполисах, таких как Москва, Санкт-Петербург, Екатеринбург, Нижний Новгород и др., широко распространено подключение к Интернету через локальную сеть или DSL-модемы, а обычные модемы уже практически не используются. В таких сетях часто возникает проблема с маршрутизацией, поскольку существует разделение на локальный сегмент и на интернет-соединение (пользователь получает реальный внешний IP-адрес). В настоящей статье мы рассмотрим наиболее распространенные утилиты для работы с сетевой маршрутизацией, которые входят в стандартный пакет операционных систем на базе Windows.

Ping

Первая утилита, как ни странно, - это команда ping. Она позволяет определить наличие компьютера в сети, для чего посылает удаленному компьютеру эхо-ICMP-запросы. Если компьютер не блокирует входящие ICMP-пакеты (это позволяет сделать, например, встроенный брандмауэр Windows Firewall), то утилита подсчитывает время отклика от компьютера, а в случае отправки нескольких пакетов выдает суммарную статистику. Большинство внутренних роутеров, конечно же, не блокируют ICMP-запросы, поэтому с помощью этой команды можно определить, какой из узлов сети доступен. Рассмотрим эту утилиту подробнее.

Для вызова справки по возможным ключам запуска команды ping необходимо добавить ключ /?. Вызов утилиты ping лучше всего осуществлять из командной строки (cmd), которую, в свою очередь, можно вызвать через Пуск -> Выполнить -> cmd операционной системе Windows Vista функция Выполнить размещена в строке поиска, в самом низу меню Пуск ).

По умолчанию команда ping отсылает четыре пакета к удаленному узлу и на основе данных, полученных в результате отправки, выдает статистическую информацию. Статистика наглядно показывает, сколько пакетов было потеряно и среднее время отправки (время отклика) в процентном соотношении, а также максимальные и минимальные величины. В тех случаях, когда происходят значительные потери пакетов в локальной сети, лучше всего использовать команду ping с ключом –t. При выполнении утилиты с этим ключом пакеты будут отсылаться постоянно, пока пользователь не прекратит ее работу. Остановить работу утилиты можно, одновременно нажав распространенную комбинацию клавиш Ctrl + C. Для вывода текущей статистики без прекращения работы утилиты используется сочетание клавиш Ctrl + Break. В таком случае пакеты будут продолжать отсылаться, а пользователь получит сводную статистику по уже отправленным пакетам.

Утилита ping также дает возможность задать количество пакетов, отправляемых удаленному узлу. Для этого необходимо выполнить команду ping с ключом –n x, где x - количество отправляемых пакетов. В свою очередь, при наличии такой возможности ключ –a позволяет определить доменное имя удаленного компьютера, если известен лишь его IP-адрес.

В некоторых случаях к узлу доходят пакеты маленького объема, а пакет большого объема теряется. По умолчанию утилита ping отсылает пакеты с размером буфера 32 байт. Этот объем можно изменять в пределах от 0 до 65 500. Для этого служит ключ –l x, где x - количество отправляемых узлу байт.

Также утилита ping позволяет задать параметр поля TTL (time-to-live) каждого пакета. Для этого служит ключ –i x, где x - время жизни пакета в диапазоне от 0 до 255. Команда ping дает возможность задать время ожидания отправленного пакета. Для этого необходимо запускать утилиту с параметром –w x, где x - время ожидания, которое задается в миллисекундах и может иметь практически неограниченную величину.

Теперь перейдем к самому главному. Утилита ping выдает не только статистику по количеству отправленных/полученных пакетов, но и приблизительный маршрут каждого из пакетов. Для этого при запуске утилиты нужно задать ключ –r x, где x - количество прыжков для пакета. Это значение для данной команды лежит в пределах от 0 до 10. После выполнения этой команды статистика будет содержать информацию по прыжкам для каждого отправленного пакета. Утилита также может показать штамп времени для каждого прыжка. Для активации этой функции необходимо запускать утилиту с параметром –s x, где x может принимать значения от 1 до 4.

Большинство функций отображения маршрута в утилите ping зависят от полученного ответа: если ответ от запрашиваемого компьютера не получен, пользователь не увидит никакой информации.

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

Tracert

Следующая полезная команда - утилита tracert. Она позволяет осуществлять трассировку маршрута к конкретному узлу. По своим функциям эта утилита отличается от команды ping тем, что может отображать статистику в реальном времени и ей не требуется ответ от компьютера. То есть трассировка осуществляется даже в том случае, если компьютер недоступен. Утилита показывает все промежуточные звенья, которые встречаются на пути прохождения пакета. В своей статистике эта утилита указывает не только основные узлы, через которые проходит маршрут к заданному компьютеру, но и отображает среднее время отклика для каждого из узлов.

Использовать данную команду очень просто: достаточно в командной строке написать tracert ya.ru, где ya.ru может быть любым доменным именем или IP-адресом. В качестве дополнительных опций можно указать ключ –d, который запрещает обращаться к DNS-серверам и сопоставлять полученные в результате выполнения команды IP-адреса доменным именам, что может значительно повысить скорость работы программы. Также эта утилита позволяет выбирать маршрут из указанного списка, который должен находиться в файле, например txt. Кроме всего прочего, для трассировки маршрута возможно указание времени ожидания ответа от компьютера. Задается время параметром –w x, где x - время ожидания в миллисекундах. Для этой утилиты существуют и другие дополнительные опции, но все они относятся к новому, еще не получившему широкого распространения протоколу IPv6.

Pathping

Данная утилита представляет собой гибрид утилит tracert и ping. Ее основное отличие от tracert заключается в том, что она работает несколько быстрее, так как сначала отправляет запросы удаленному узлу, через который идет маршрут. При этом используется уже известный маршрут, а не прокладывается новый, как в утилите tracert. Программа tracert, наоборот, заново прокладывает маршрут, что занимает больше времени на сбор статистики. Утилита pathping первоначально выводит узлы, чрез которые проходит пакет до искомого компьютера, а затем собирает статистику по времени отклика от каждого узла и по времени доступа к удаленному узлу в целом. Отметим, что эта утилита поставляется в большинстве операционных систем Windows, однако в некоторых, например в Windows XP Home, отсутствует.

В остальном ее параметры ничем не отличаются от описанных ключей в утилите tracert. Ключ –n определяет работу утилиты только с IP-адресами, игнорируя сопоставление через DNS-имена для каждого хоста. Эта опция значительно увеличивает время сбора статистики.

Route

И наконец, одна из основополагающих утилит маршрутизации - команда route. С ее помощью пользователь может прописать, удалить или отредактировать все статические маршруты на используемом компьютере. Для вывода текущей таблицы маршрутизации необходимо выполнить в командной строке команду route print. В результате в виде таблицы будет выведена вся информация о текущих интерфейсах и таблица маршрутизации. Поскольку в этой статье мы рассматриваем только протокол IPv4, таблице маршрутизации для протокола IPv6 внимание уделяться не будет.

Для каждого из маршрутов, помимо назначения и шлюза, через который пакет от компьютера попадает к маршруту, в таблице маршрутизации есть такое понятие, как метрика. Метрика позволяет создать приоритет среди одинаковых маршрутов в зависимости от используемого интерфейса подключения. Например, есть VPN-подключение, которое выпускает компьютер в Интернет, и локальное подключение к сети. По умолчанию в операционной системе Windows приоритет, то есть метрика, подключения к VPN-серверу имеет меньшее значение, что подразумевает более высокий приоритет для прохождения пакета. Для VPN-подключения метрика маршрутов будет 25, а для локального соединения - 200. Соответственно если пакет не может достичь точки назначения при прохождении через VPN-канал, то он отправляется по интерфейсу, который имеет меньший приоритет (метрику).

Добавление маршрута осуществляется через команду:

route add ip mask gateway metric x if y ,

где ip - адрес или сеть назначения, mask - маска подсети, gateway - шлюз, через который пакет будет идти к месту назначения, x - числовое значение метрики маршрута, y - порядковый номер интерфейса. Тут стоит обратить внимание на некоторые особенности. Шлюз gateway должен располагаться в той же подсети, что и сетевой адаптер, через который производится подключение. Если в качестве адреса назначения указывается конкретный IP-адрес, то можно не указывать маску подсети, так как она во всех случаях будет иметь вид 255.255.255.255. Отметим, что добавление ключа –p в конце строки означает, что маршрут будет прописан в качестве постоянного и останется в таблице маршрутизации даже после перезагрузки. Если интерфейс if не задан, система попытается определить наилучший интерфейс для добавляемого маршрута.

Удаление маршрута происходит через команду:

route delete ip ,

где ip - адрес назначения, прописанный в таблице маршрутизации.

Модификация маршрута производится по команде:

route change ip mask gateway metric x if y ,

где ip - адрес или сеть назначения, mask - маска подсети, gateway - шлюз, через который пакет будет идти к месту назначения, x - числовое значение метрики маршрута, а y - порядковый номер интерфейса. Модификация маршрута может производиться только в случае смены шлюза или/и метрики интерфейса.

С помощью команды route print 192.* будут выведены все маршруты, начинающиеся с IP-адресов 192.*.*.* Также можно вывести маршруты, относящиеся, например, к сети 192.168.192.0/24, - route print 192.168.192.*

Для полной очистки таблицы маршрутизации применяется команда route –f. Однако не следует злоупотреблять ею, поскольку в большинстве случаев после выполнения этой команды ваша сеть окажется неработоспособной.



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
NexxDigital - компьютеры и операционные системы