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

Команда 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

  • route print ;
  • Чтобы вывести на экран маршруты из таблицы IP-маршрутизации, которые начинаются с 10., введите команду: route print 10.*;
  • route add 0.0.0.0 mask 0.0.0.0 192.168.12.1;
  • route add 10.41.0.0 mask 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 . Ее синтаксис следующий:

Переключатель –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, использование локального , находящегося в папке системный_корневой_каталог \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. Однако не следует злоупотреблять ею, поскольку в большинстве случаев после выполнения этой команды ваша сеть окажется неработоспособной.

С чем обязательно придётся столкнуться при сопряжении разных подсетей – это маршрутизация. Ох, сколько раз я задумчиво чесал затылок не понимая, почему узел назначения оставался недоступным. Ну чтож, попробуем это чётко спланировать, чтобы не ошибиться.

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

Подпишу сетевые интерфейсы:

  1. 192.168.10.2/24
  2. 192.168.10.1/24
  3. 10.0.0.10/24
  4. 10.0.0.20/24
  5. 192.168.20.1/24
  6. 192.168.20.2/24

Всё просто. Шлюзы внутри с адресом.1, снаружи – по номеру подсети.10 – 10-ая подсеть, .20 – 20-ая подсеть. А хосты с адресом.2. Думаю, с этим вопросов не возникло. Чтож, проверим маршрутизацию сейчас. Для этого с каждого узла пропингуем все остальные хосты.

Доступность узлов в сети

Как мы видим, доступность есть только у узлов, непосредственно связанных виртуальным сетевым кабелем. Будем это исправлять!

Маршруты будем добавлять с помощью команды ROUTE командной строки. Что нам нужно добавить? Смотрим в табличку и добавляем те назначения, которые мы НЕ видим. И прописываем тот узел, который является следующим шагом для пакета на этом пути. Вот подробности:

  • Для HOST:
    1. назначение – 10.0.0.0/24 направляем на 192.168.10.1
    2. назначение – 192.168.20.0/24 направляем на 192.168.10.1
  • Для SERV:
    1. назначение – 192.168.20.0/24 направляем на 10.0.0.20
  • Для MAIN:
    1. назначение – 192.168.10.0/24 направляем на 10.0.0.10
  • Для ADMIN:
    1. назначение – 192.168.10.0/24 направляем на 192.168.20.1
    2. назначение – 10.0.0.0/24 направляем на 192.168.20.1

Прописываем маршруты Route

Как добавляются маршруты для рабочих станций? Утилита route

Синтаксис примерно такой:

route add MASK

  • – адрес сети назначения
  • – маска сети назначения
  • – узел, на который нужно передать пакет для дальнейшего разбирательства. (следующий пункт)

Покажем на примере. Узел host . Передавать пакеты на узел serv.main.com . Пробуем послать ping, пакеты не доходят. (см. скриншот выше). Почему? Да потому что наш компьютер не знает, куда передавать пакеты в неизвестную подсеть (узел 10.0.0.10). Это не наша подсеть, поэтому теряемся в догадках.

Задача маршрутизации – обеспечить передачу пакетов в другие сети. Если бы у нас был установлен основной шлюз (default gateway), то все пакеты с неизвестным адресом сети назначения передавались бы именно на него “Пусть сами разбираются”, но такой параметр у нас не указан.

Итак, настраиваем узел host.

route add 10.0.0.0 mask 255.0.0.0 192.168.10.1

Все пакеты, адрес назначения которых стоит “подсеть 10.0.0.0/8” будут отправляться на 192.168.10.1. Что происходит при этом на 192.168.10.1? 192.168.10.1 – это узел serv.main.com , который имеет второй сетевой интерфейс 10.0.0.10. Пакеты на этот интерфейс, посланные с host – дойдут без проблем, так как маршрут до узла мы прописали.

Вот такая занимательная маршрутизация. Итак, маршрут до 10.0.0.10 у нас есть. Сделаем аналогичным образом маршруты до подсети 192.168.20.0/24. Всё-всё-всё посылаем на 192.168.10.1 (так как – это наш единственный “выход” с узла host).

Пришла пора настраивать узел serv.main.com , который стал полновесным маршрутизатором.

Идём в управление сервером и смотрим, чтобы была установлена роль “Маршрутизация и удалённый доступ” (Routing and remote access). Если всё ОК, входим в “Администрирование” в эту оснастку.

Маршрутизация и удалённый доступ в Windows Server 2003

Или устанавливаем её. Для этого отключаем службу Windows Firewall

После добавления роли “Маршрутизация и удалённый доступ” мы видим следующую оснастку. Открываем конфигурирование.

Начинаем конфигурирование. Настраивать будем всё вручную, чтобы лучше разобраться в маршрутизации.

А в этом окне мастера настройки маршрутизации и удалённого доступа выбираем “маршрутизацию между сетями”. Как раз то, что нужно.

И у нас появилось вот такое дерево в консоли MMC. Интересует нас “статические маршруты”.

И добавим вот такой маршрут. В общем-то это похоже на графическую оболочку утилиты route, поэтому объясню лишь то, что мы сделали. Для сети 192.168.10.0/24 мы указали адрес следующего прыжка 192.168.10.1 для пакетов, пришедших с интерфейса 10.0.0.10 (т.е. те пакеты, которые идут извне к нам, например от узла MAIN.COM или ADMIN.MAIN.COM

Подобную ситуцию сделаем и на MAIN.COM

В общем виде – то же самое. Указываем “ОТКУДА”, “КУДА” и “КУДА ПОСЫЛАТЬ”. На метрику внимания не обращаем, это для приоретизации одних маршрутов перед другими, когда из одной точки можно добраться в другую разными путями.

Маршруты настроили. Простая проверка PING доказывает. Все узлы доступны друг для друга!

Друзья! Вступайте в нашу

Для работы с маршрутами под виндами существует вполне очевидная команда route .
Под катом оригинальная справка из CLI виндовой командной строки.

Обработка таблиц сетевых маршрутов.

ROUTE [-f] [-p] [-4|-6] <команда> [<назначение>] [<шлюз>]

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

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

-4 Принудительное использование протокола IPv4.

-6 Принудительное использование протокола IPv6.

<команда> Одна из следующих команд:
PRINT Печать маршрута
ADD Добавление маршрута
DELETE Удаление маршрута
CHANGE Изменение существующего маршрута
<назначение> Задает узел.
MASK Далее следует значение параметра "маска_сети".
<маска_сети> Значение маски подсети для записи данного маршрута.
Если этот параметр не задан, по умолчанию используется
значение 255.255.255.255 .
<шлюз> Шлюз.
<интерфейс> Номер интерфейса для указанного маршрута.
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 > route PRINT -6 > route PRINT 157* .... Печать только узлов, начинающихся со 157

> route ADD 157.0.0.0 MASK 255.0.0.0 157.55.80.1 METRIC 3 IF 2 узел^ ^маска ^шлюз метрика^ ^ интерфейс^
Если IF не задан, то производится попытка найти лучший интерфейс для
указанного шлюза.
> route ADD 3ffe::/32 3ffe::1 > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

Параметр CHANGE используется только для изменения шлюза или метрики.

> route DELETE 157.0.0.0 > route DELETE 3ffe::/32


Для стандартных нужд нам потребуются следующие команды.
route print - выводит таблицу маршрутизации.
Кстати под *nix-системами для этого служит команда netstat -r .

route add - добавляет статический маршрут.
Например, мы имеем задачу, чтобы трафик в сеть 10.1.1.0/24 ходил через шлюз 192.168.1.1 , в таком случае команда приобретет следующий вид:
route add 10.1.1.0 mask 255.255.255.0 192.168.1.1
Ключиком -p мы сохраним данный маршрут в таблице и он останется в ней даже после перезагрузки компьютера. Дополнительной функцией metric мы укажем "стоимость" конкретного маршрута. Мы уже взрослые, нам не нужно объяснять, как она работает.
route add -p 10.1.1.5 mask 255.255.255.255 192.168.5.1 metric 1
Этой командой мы создали статический маршрут с наивысшим приоритетом, который останется в таблице и после ребута компьютера.
route delete - удалит маршрут. Например, так:
route delete 10.1.1.0

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

Статическая маршрутизация — вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.
Статический маршрут — представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами это явно указанный путь по которому должен пройти пакет из пункта А в пункт Б.
В этой статье мы с вами говорим, о статическом маршруте на обыкновенном компьютере с операционной системой Windows. Для чего же нам нужно уметь прописывать статические маршруты? Спросите вы, сейчас попробую объяснить, где это знание вам может пригодиться.
Сейчас очень распространено для безопасности использовать «Виртуальные частные сети» (VPN). VPN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям. Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей. Например, у вас дома два компьютера один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находиться в другой сети и поэтому недоступен со второго компа. Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодиться сисадминам, (пример из жизни) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN и был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения, но что же делать, я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого я попал на нужный мне сайт (который показывал внешний ip) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но вы сами понимаете, что на это нет времени и попросту неохота. Теперь вы немного представляете, где и для чего вам может пригодиться знание того, как прописываются статические маршруты.
Хватит теории, переходим к практике. Сейчас мы с вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном VPN соединении, пригодиться обычным пользователям, у которых дома более одного компьютера, а в Интернет выходят по средствам VPN.

Имеем локальную сеть : 192.168.1.0/24
Локальный IP первого компьютера (пусть он будет компьютер — A ) – 192.168.1.2 (на котором присутствует VPN соединения)
Локальный IP второго компьютера (а этот компьютер — B ) – 192.168.1.3
IP адрес шлюза т.е. модема – 192.168.1.1
Нам нужно прописать маршрут на компьютере A чтобы он смог видеть компьютер B при включенном VPN соединении. Делается это следующем образом: запускаем командную строку Пуск->выполнить->cmd и набираем следующую команду:

route –p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

где:
route – сама программа которая работает с таблицей маршрутизации;
-p – ключ, который говорит, что маршрут будет постоянный, так как (Важное замечание! ) без этого ключа все маршруты, которые вы добавите удаляться после перезагрузке, поэтому если вы хотите использовать маршрут всегда, то пропишите этот ключ, если только один раз, то его можно не писать;
add – сама команда добавляющая запись в таблицу маршрутизации;
192.168.1.0 – сеть, с которой вы хотите иметь связь;
mask 255.255.255.0 – маска подсети;
192.168.1.1 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут вы получаете доступ к своей сети при подключенном Интернете т.е. VPN соединении.

Вот еще один небольшой пример, у вас дома подключение к интернету через модем ADSL и вам иногда (ну или постоянно) требуется подключение к VPN сети и соответственно вы уже выхода в интернет через свой канал не будите иметь, но с помощью статического маршрута вы можете получить доступ к определенным сайтам (узнав предварительно их ip адреса, с помощью команды ping в командной строке, например ping yandex.ru) к которым вам бы хотелось иметь постоянный доступ (и при подключенном vpn соединение и не подключенном). Например, сайт имеет ip адрес 172.18.24.13 а шлюз (маршрутизатор, модем) имеет IP адрес 192.168.0.1 вам необходимо прописать следующие:

route –p add 172.18.24.13 mask 255.255.255.255 192.168.0.1

Теперь поговорим поподробней о команде route. Общий синтаксис:

route [-f] [-p]

Рассмотрим команды и ключи этой программы:
-f — удаляет из таблицы маршрутизации все маршруты
-p – сохраняет маршрут на постоянную основу
add – добавляет новый маршрут
change — меняет текущий маршрут в таблице маршрутизации
delete — удаляет маршрут из таблицы маршрутизации
print — отображает содержимое таблицы маршрутизации
destination — при добавлении или изменении маршрута этот параметр используется для указания идентификатора сети назначения
mask — при добавлении или изменении маршрута этот параметр используется для указания маски подсети для сети назначения
gateway — при добавлении или изменении нового маршрута этот параметр используется для указания шлюза (маршрутизатора или модема)
metric — используется для указания целого числа в диапазоне от 1 до 9999, являющегося метрикой стоимости для маршрута. Если для определенной сети назначения существует несколько возможных маршрутов, будет использован маршрут с наименьшим значением метрики
if — используется для указания номера индекса интерфейса, который подключен к сети назначения.

Поскольку часто приходится настраивать ВПНы на чужих машинах и предоставлять доступ к каки-либо ресурсам нашей сети, а чаще всего это просто конкретные машины, то надо записать себе шпаргалку по добавлению статических маршрутов в ОСях семейства 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. , введите команду: