Данные необходимы для добавления нового статического маршрута. Общий синтаксис route

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

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

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

Другими словами это явно указанный путь по которому должен пройти пакет из пункта А в пункт Б.

Сейчас очень распространено для безопасности использовать «Виртуальные частные сети» (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 — используется для указания номера индекса интерфейса, который подключен к сети назначения.

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

Route print

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

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

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

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

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

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

  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 add в командной строке Windows.

Прежде чем приступать к практике хотелось бы поговорить немного о теории, что бы Вы понимали, что Вы делаете, и в каких случаях это Вам может пригодиться.

Для начала пару определений:

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

Статический маршрут - представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами - это явно указанный путь, по которому должен пройти пакет из пункта А в пункт Б.

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

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

Например, у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN ) уже находится в другой сети, и поэтому недоступен со второго компа.

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

Примеры использования утилиты route

Хватит теории, переходим к практике. Сейчас мы с Вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном 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.

Общий синтаксис:

route [-f] [-p]

Основные ключи:

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

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

route print

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

Разберем таблицы маршрутов для компьютеров с несколькими интерфейсами.

Интерфейс

Интерфейс соответствует тем компонентам коммуникационного оборудования, которые поддерживают TCP/IP протокол. Такими компонентами являются модемы, сетевые карты, порты маршрутизаторов и т.п. Интерфейс всегда имеет связанный с ним IP-адрес. Этот адрес должен быть уникальным внутри любой сети.

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

Когда вы хотите сделать TCP/IP соединение или только послать несколько пакетов на другой компьютер, то должны сконфигурировать интерфейс, с помощь которого пакеты будут посланы. Очевидно, не очень хорошо посылать пакеты на ваш сетевой адаптер, если вы собираетесь соединиться с сайтом в Интернет. С другой стороны, не очень правильно посылать пакеты на ваш модем, если вы хотите обратиться к компьютеру в вашей сети.

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

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

  1. Место назначения (сетевой адрес/маска сети).
  2. Какой маршрутизатор (шлюз) использовать для посылки пакетов к месту назначения.
  3. Какой интерфейс использовать для посылки пакетов к месту назначения.

В Windows NT и Windows 95 команда добавления записи в таблицу маршрутизации имеет вид:

Route ADD сетевой_адрес MASK сетевая_маска шлюз

Это пример таблицы маршрутов моего компьютера, когда он находится в режиме on-line с моим модемом.

Активные маршруты:



0.0.0.0 0.0.0.0 203.96.10.254 03.96.10.51 1

192.168.0.0 255.255.0.0 192.168.0.4 192.168.0.4 2


203.96.10.0 255.255.255.0 203.96.10.51 203.96.10.51 1
203.96.10.51 255.255.255.255 127.0.0.1 127.0.0.1 1
203.96.10.255 255.255.255.255 203.96.10.51 203.96.10.51 1
224.0.0.0 224.0.0.0 203.96.10.51 203.96.10.5 1

У меня на компьютере 2 интерфейса:

  1. Сетевая карта с IP-адресом 192.168.0.4.
  2. Модем с интерфейсом PPP и IP-адресом 203.96.10.51.

В таблице маршрутизации вы можете увидеть записи о этих двух интерфейсах и еще о некоторых других.

Четвертая запись таблицы описывает сетевую карту. Она говорит, что если мы имеем пакет и желаем послать его по адресу 192.168.0.4 с маской 255.255.255.255 (последняя означает совпадение с любой маской), то он должен вернуть назад через сетевую карту. По соглашению об IP-адресах, когда данные посылаются по адресу с первым байтом равным 127, например, 127.0.0.1, то образуется как бы "петля". Данные не передаются по сети, а возвращаются модулям верхнего уровня протокола TCP/IP как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127.

Третья запись говорит, что если у нас есть пакет для сети 192.168.0.0 с маской 255.255.0.0 (что означает все адреса с 192.168.0.1 по 192.168.254.254, т.к. 255 и 0 зарезервированы), то мы должны послать его через интерфейс 192.168.0.4. Это значит, что весь наш снтевой график идет через сетевую карту.

Для сравнения, 7-ая запись - то же самое, что и 4-ая, но для PPP интерфейса (модем), а 6-ая запись - то же самое, что и 3-я, но относится к адресам с 203.96.10.1 по 203.96.10.254, относящимся к сети нашего провайдера. Это дает нам доступ к его маршрутизатору.

Другой очень содержательной записью является первая. IP-адрес 0.0.0.0 с маской 0.0.0.0 означает любой IP-адрес везде. Это называется Шлюз по умолчанию (). Шлюз по умолчанию является последним маршрутом, если использование других маршрутов не привело к успеху. Этот шлюз является проблемой в мультисегментной сети подключенной через модем, потому что он меняется интерфейсом PPP. Это означает, что если мы не имеем статических маршрутов (подобных другим записям) до места назначения, то мы посылаем пакеты на шлюз по умолчанию 203.96.10.254 (маршрутизатор нашего провайдера), который достигается через интерфейс 203.96.10.51 (наш модем).

Все сказанное означает, что все пакеты (по воле Шлюза по умолчанию) уходят через наш модем, кроме тех, что перенаправляются по статическим маршрутам.

Другие записи

127.0.0.0 (localhost) - интерфейс обратной петли или внутренний интерфейс IP-стека. Этот интерфейс достижим только с локальной машины.

192.168.0.255 - широковещательный адрес для рассылки широковещательных пакетов по нашей сети. 203.96.10.255 - широковещательный адрес для рассылки широковещательных пакетов по сегменту сети вашего провайдера.

224.0.0.0 - другой широковещательный адрес и на вашу сеть, и на сеть провайдера. Результатом действия двух записей с сетевым адресом 224.0.0.0 будет широковещательная рассылка пакетов по вашей сети и сети провайдера.

255.255.255.255 - глобальный широковещательный адрес.

Пример таблицы маршрутов моего компьютера, когда он находится в режиме off-line с модемом.

Активные маршруты:

Network Address Netmask Gateway Address Interface Metric
Сетевой адрес Сетевая маска Адрес шлюза Интерфейс Метрика
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.0.0 192.168.0.4 192.168.0.4 1
192.168.0.4 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.0.255 255.255.255.255 192.168.0.4 192.168.0.4 1
224.0.0.0 224.0.0.0 192.168.0.4 192.168.0.4 1
255.255.255.255 255.255.255.255 192.168.0.4 192.168.0.4 1

Итак, здесь все, кроме того, что связано с PPP интерфейсом.

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

Некоторые маршруты автоматически создаются операционной системой. Всякий раз при добавлении интерфейса вы получаете маршрут: для самого интерфейса, для подсети, в которую интерфейс включен, и для широковещательного адреса этого интерфейса. Если вы посмотрите в приведенную выше таблицу маршрутов, то результатом установки интерфейса 192.168.0.4 будет добавление в таблицу маршрутов записей 2, 3, 4, 5 и 6.

Операционная система создает также и интерфейс localhost (первая запись).

Важно

Если вы определили Шлюз по умолчанию для вашей сетевой карты (т.е. вы имеете какой-то маршрутизатор в вашей сети), то в таблице маршрутов появится запись о Шлюзе по умолчанию. Эта запись используется для получения доступа к другим подсетям вашей сети.

Какое это имеет значение

Это имеет значение, когда ваш РРР-интерфейс изменяет определенный вами Шлюз по умолчанию - в этом случае все ваши пакеты направляются на маршрутизатор провайдера (это делается для возможности доступа сайтов Интернет). Остальные сегменты сети остаются недоступными вам до тех пор пока вы вручную не создадите статические маршруты них.

Итак, если у вас есть другие подсети, то вы должны добавить статические маршруты в вашу таблицу маршрутов с помощью команды ROUTE ADD .

Вы должны познакомиться с ней.

Допустим вы имеете сегменты (в сегменте А находится Wingate):

Сегмент A: 192.168.0.0 mask 255.255.255.0
Сегмент B: 192.168.1.0 mask 255.255.255.0
Сегмент C: 192.168.2.0 mask 255.255.255.0
Сегмент D: 192.168.3.0 mask 255.255.255.0
Сегмент E: 192.168.4.0 mask 255.255.255.0
Сегмент F: 192.168.5.0 mask 255.255.255.0
Сегмент G: 192.168.6.0 mask 255.255.255.0
и маршрутизатор 192.168.0.254.

Тогда вы должны добавить их маршруты:

Route ADD 192.168.1.0 MASK 255.255.255.0 192.168.0.254
route ADD 192.168.2.0 MASK 255.255.255.0 192.168.0.254
route ADD 192.168.3.0 MASK 255.255.255.0 192.168.0.254
route ADD 192.168.4.0 MASK 255.255.255.0 192.168.0.254
route ADD 192.168.5.0 MASK 255.255.255.0 192.168.0.254
route ADD 192.168.6.0 MASK 255.255.255.0 192.168.0.254

Вы можете объединить это в одну запись установкой маски, игнорирующей два последних октета адреса, т.е.

Route ADD 192.168.0.0 MASK 255.255.0.0 192.168.0.254

Это покроет сегменты с B по F.

Если некоторые из сегментов с B по F доступны еще и какой-нибудь другой маршрутизатор, вы должны либо добавить соответствующий маршрут в маршрутизаторе 192.168.0.254, либо в другой маршрутизатор.

Для посылки пакетов поиск адресата происходит в следующей последовательности.

  1. Поиск с учетом адреса интерфейса.
  2. Поиск с учетом подсетей.
  3. Использование Шлюза по умолчанию.