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

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

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

  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

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

Здравствуйте, у меня интернет идет через шифрованную сеть - VPN, когда я подключаю ноутбук к сети интернет у меня пропадает внутренняя сеть, как можно настроить одновременную работу ноутбука в сети интернет и в домашней сети?

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

  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 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут вы получаете доступ к своей сети при подключенном Интернете т.е. 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 (в windows) выводит на экран и изменяет записи в локальной таблице IP-маршрутизации. Запущенная без параметров, команда 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. По умолчанию добавленные маршруты не сохраняются при запуске протокола 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-маршрутизации, введите команду:

route print

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

route print 10.*

Чтобы добавить маршрут по умолчанию с адресом стандартного шлюза 192.168.12.1, введите команду:

route add 0.0.0.0 mask 0.0.0.0 192.168.12.1

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

route add 10.41.0.0 mask 255.255.0.0 10.27.0.1

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

route -p add 10.41.0.0 mask 255.255.0.0 10.27.0.1

Чтобы добавить маршрут к конечной точке 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., введите команду:

route delete 10.*

Чтобы изменить следующий адрес перехода для маршрута с конечной точкой 10.41.0.0 и маской подсети 255.255.0.0 с 10.27.0.1 на 10.27.0.25, введите команду:

route change 10.41.0.0 mask 255.255.0.0 10.27.0.25

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

Общие сведения

Провайдеры, предоставляющие доступ в пределах Интернета, по таким протоколам, как PPTP, PPPOE и L2TP, как правило, имеют локальные внутрисетевые ресурсы. Такой вид соединения характеризуется трафиком от клиентов за роутером, отправляемым в туннель поднятого соединения. Для этого соединения имеется нарезанная соответствующая полоса, обеспечивающая пропускание по намеченному тарифу. В таком случае электронные локальные ресурсы также будут ограничены данной полосой. Для того, чтобы получить беспрепятственный доступ к намеченным нами Интернет-ресурсам на максимальной скорости и в обход, вышеупомянутого туннеля, надо указать маршруты (статические) к локальной сети и электронным ресурсам. Для этого мы разберем, как прописать маршруты в роутере, на примере доступа к сайту, находящегося по IP-адресу 1.1.1.1.

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

Пошаговая инструкция прописки статического маршрута на роутере TP-Link

  • Для достижения поставленной цели – обойти туннель поднятого соединения, необходимо предварительно настроить роутер так, как это показано ниже на рисунке – Network–WAN–Secondary Connection. Отметим, что обычно провайдерами используется внутренний DHCP, поэтому следует выбрать такой параметр, как Dynamic IP.

По результатам действий будет выдан IP-адрес WAN, соответствующий интерфейсу 192.168.103.6 и маске 255.255.255.128.

  • На следующем этапе необходимо определить шлюз, установленный по умолчанию на WAN интерфейсе. Для этого требуется зайти в раздел Advanced Routing и далее в подраздел System Routing Table. По результатам данных манипуляций будет выдана информация по IP-адресу – 192.168.103.126.

  • Далее требуется внести интересующий нас статический маршрут в раздел Advanced Routing. В этом разделе необходимо выбрать подраздел Static Routing List и кликнуть по кнопке Add New…, то есть до сайта, находящегося по IP-адресу 1.1.1.1. Последнее действие связано с тем, что добавляется лишь один адрес. По этой причине маска будет иметь следующий вид – 255.255.255.255. Необходимо отметить, что в таблицу маршрутизации можно включать то количество IP-адресов (подсетей), которое Вам необходимо.

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

  • На заключительном этапе необходимо проверить работу трафика на ПК, находящегося за ройтером. Для начала нужно нажать на Пуск, далее выполнить и cmd. После этого в поле, появившегося черного окна, требуется ввести tracert 1.1.1.1. Эта команда приведет к двум последовательным прыжкам. Первому прыжку будет соответствовать IP-адрес, интересующего нас роутера, в частности 192.168.1.1. Второму прыжку будет соответствовать адрес шлюза – 192.168.103.126. Последний момент указывает на то, что трафик до необходимого нам сайта идет в обход туннеля поднятого соединения. Результаты действий на заключительном этапе представлены на следующем рисунке.

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

Интерфейс

Интерфейс соответствует тем компонентам коммуникационного оборудования, которые поддерживают 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. Использование Шлюза по умолчанию.


Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: