Динамическая маршрутизация в windows

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

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

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

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

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

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

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

Содержание:

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

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

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

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

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

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

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

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

Схема сети

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пинг на Server1

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

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

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

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

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

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

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

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

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

Команда route print

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

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

route add 192.168.1.0 mask 255.255.255.0 192.168.0.1 metric 2 if 0x2

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

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

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

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

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

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

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

route add 192.168.0.0 mask 255.255.255.0 192.168.1.1 metric 2 if 0x10003

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

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

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

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

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

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

route add 192.168.2.0 mask 255.255.255.0 192.168.0.1 metric 3 if 0x2

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

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

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

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

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

route add 0.0.0.0 mask 0.0.0.0 192.168.0.1 metric 2 if 0x10003

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Written on . Posted in Windows Server 2008

Страница 3 из 3

Динамическая маршрутизация в Windows Server 2008 с использованием RIPV2

Выше в этой статье я говорил о преимуществах работы с динамической маршрутизацией. Теперь позвольте мне рассказать вам о шагах по настройке RIPv2 в Windows 2008:

  1. Сначала нужно установить роль Routing and Remote Access (RRAS) в Windows 2008 Server. Если вы воспользуетесь мастером Add Roles, роль RRAS будет трудно найти, так как вам в действительности нужно добавить сначала роль Network Policy and Access Services, а уже после этого – роль RRAS (см. Рисунок 4 и Рисунок 5).


    Рисунок 4: Добавление роли RRAS через Network Policy and Access Services

    Рисунок 5: Role Services в Win 2008 является частью роли Network Policy and Access Services

    После установки вы можете настроить RRAS из приложения Server Manager, но я предпочитаю приложение Routing and Remove Access.

  2. Следующим шагом является настройка Routing and Remote Access. Откройте RRAS MMC, щелкните правой кнопкой мыши на имени сервера, и щелкните на Configure and Enable Routing and Remote Access. Вот пример: 

    Рисунок 6: Настройка и включение RRAS

    Убедитесь, что вы осуществляете настройку Custom Configuration при вопросе, какой протокол RRAS устанавливать. Затем выберите установку LAN ROUTING и запустите службу. Теперь вы видите, что сетевые интерфейсы управляются RRAS, и особые настройки для IPv4 и IPv6. Теперь вы можете расширить IPV4, перейти к General, а затем – к New Routing Protocol.

    Рисунок 7: Добавление нового протокола маршрутизации

    Теперь выберите установку RIPV2 в качестве протокола маршрутизации.

    Рисунок 8: Добавление RIP V2

  1. Теперь, когда у вас установлен RIPv2, вы можете его настроить. Настройка его так же проста, как и добавление интерфейсов, которые вы захотите использовать для обмена маршрутами RIP. Для этого перейдите в секцию RIP, щелкните правой кнопкой, щелкните на New Interface, выберите интерфейс, который собираетесь добавить под RIP (Рисунок 9).

    Рисунок 9: Добавление нового интерфейса RIP

  1. После выбора интерфейса у вас появляется возможность огромное количество свойств соединения RIP (Рисунок 10). Больше я не буду говорить в этой статье о настройке RIP, так как может быть и очень простой, и очень сложной в зависимости от ситуации.

    Рисунок 10: Настройка нового интерфейса RIP

  1. После добавления интерфейсов RIP вы можете проверить, отправляются и принимаются ли запросы и ответы на вашем интерфейсе RIP (это стоит сделать). Вы также можете проверить, есть ли у вас соседи по RIP, щелкнув правой кнопкой мыши на протоколе RIP, а после этого выбрав Show Neighbors.

Перед тем, как закончить эту секцию о RIP в Windows, я хочу указать на пару отличных ресурсов, которыми я пользовался при подготовке этой статьи:

  1. Недавно я просмотрел видео Эда Либермана Train Signal Windows 2008 Network Infrastructure. В этом видео, кроме объяснения маршрутизации и различий между статической и динамической маршрутизацией, Эд показывает, как, шаг за шагом, настроить RIPv2 в Windows 2008. Я считаю видео очень полезным и рекомендую его вам, хотите ли вы просто узнать о Win 2008 и маршрутизации или собираетесь сдавать экзамен по сетевой инфраструктуре Microsoft’s Windows 2008 (70-642). Вот скриншот такой настройки у Эда:

    Рисунок 11: Видео Train Signal’s Windows 2008 на тему установки и настройки RIPV2

  1. В базе знаний Petri IT Knowledgebase я написал статью о настройке Windows 2003, затем другую статью об обмене маршрутами между маршрутизатором Cisco и сервером Windows. Если говорить о Win 2008, процесс настройки RIP на Win 2003 аналогичен, и настройка обмена маршрутами с маршрутизатором Cisco очень похожа: Configuring a Windows 2003 Server to exchange RIP routes with a Cisco router — Part 1 Configuring a Cisco router to exchange RIP routes with a Windows 2003 Server — Part 2

Итоги

Windows Server 2008 has one solid static routing option and one scalable dynamic routing option ‘ RIPV2. I discussed how OSPF has been removed from Windows 2008 (and how I feel about that). We talked about why you would use static routing versus dynamic routing. Finally, I showed you how to configure static routing with the route command and dynamic routing by installing RIPV2 in Windows 2008 Routing and Remote Access.

Аннотация: В этой лекции дается обзор технологий, предоставляемых службой RRAS, и описывается, как конфигурировать настройки для сетевой среды Windows Server 2003 и управлять ими

RRAS (Routing and Remote Access Service – Служба маршрутизации и дистанционного
доступа) традиционно является интересной и, вместе с тем, сложной технологией
для многих администраторов. RRAS позволяет удаленным клиентам проходить
физические границы вашего сетевого окружения, чтобы подсоединяться к
вашей сети и использовать ее ресурсы. Она также позволяет подсоединяться к сетевым
ресурсам, таким образом, чтобы пользователи получали доступ к ресурсам сетей,
которые недоступны иным способом.

RRAS содержит много возможностей, включая поддержку разделяемого использования
интернет-соединения, коммутируемое соединение с сервером, маршрутизацию
информации из одной сети в другую, защиту данных путем использования
виртуальной частной сети (VPN) и многое другое. В этой лекции дается обзор технологий,
предоставляемых службой RRAS, и описывается, как конфигурировать настройки
для вашей сетевой среды Windows Server 2003 и управлять ими.

Изменения в RRAS для Windows Server 2003

Версия RRAS для Windows Server 2003 немного отличается от версии для Windows
2000, и большинство отличий касаются интерфейса, а не функций. Для администраторов,
работавших с Windows NT, новая версия RRAS дает больше возможностей
и упрощает управление.

Основные функциональные изменения в версии RRAS для Windows Server 2003
относятся к поддержке протоколов.

  • Поддержка протокола NetBEUI прекращена в Windows Server 2003, и поэтому он больше не поддерживается службой RRAS.
  • Хотя 32-битные версии Windows Server 2003 все еще поддерживают IPX/SPX в качестве сетевого протокола, RRAS больше не маршрутизирует его. Добавлено несколько новых возможностей.
  • Поддержка предварительно согласованных ключей в аутентификации L2TP/IPSec.
  • Интеграция NAT (Network Address Translation – Трансляция сетевых адресов) со статической и динамической фильтрацией пакетов.
  • Поддержка соединений L2TP/IPSec через NAT.
  • Разрешение имен с помощью широковещательных сообщений для небольших сетей без локального сервера WINS или DNS.

Обзор IP/маршрутизации

Сетевая среда часто бывает сегментирована по различным причинам, включая следующие факторы.

  • Количество доступных IP-адресов в сетевой среде TCP/IP.
  • Разделение функций администрирования и управления.
  • Соображения безопасности.
  • Владение сетью.

Многие маршрутизаторы могут маршрутизировать TCP/IP, IPX и AppleTalk. Но
поскольку работа Windows Server 2003 и интернета основываются на TCP/IP, основное
внимание в этом разделе уделяется маршрутизации TCP/IP.

При использовании TCP/IP адрес сети определяется IP-адресом в сочетании с
маской подсети. Адрес сети идентифицирует сеть, где находится данное устройство
(
рис.
4.1). Подробнее о TCP/IP см. в
«Работа в сети с использованием TCP/IP»
.

Определение адреса сети

Рис.
4.1.
Определение адреса сети

Этим разъединенным сетям может требоваться обмен информацией, и тогда на
помощь приходит маршрутизация. Маршрутизация – это процесс передачи информации
через межсетевую границу. Точка отправки называется источником (отправителем),
и точка приема называется пунктом назначения (получателем). Промежуточное
устройство (обычно маршрутизатор, иногда это несколько устройств)
отвечает за передачу информации из одной сети в другую, пока эта информация не
дойдет до указанного получателя, как это показано на
рис.
4.2. Например, когда
компьютер одной сети отправляет информацию компьютеру, который находится в
другой сети, он направляет эту информацию маршрутизатору. Маршрутизатор рассматривает
этот пакет и использует адрес получателя в заголовке пакета для передачи
информации в соответствующую сеть.

Маршрутизация и мосты

Маршрутизацию иногда путают с использованием мостов. Эти две технологии, по
сути, выполняют одну и ту же задачу, передавая информацию в интерсети от источника
к месту назначения, но для этого используются совершенно разные механизмы.
Маршрутизация происходит на сетевом уровне (Network Layer), в то время как
мосты используются на канальном уровне (Data Link Layer) в сетевой модели OSI.
Работа различных уровней модели OSI определяет способ обработки и передачи
информации от источника к месту назначения.

Две сети, связанные маршрутизатором

Рис.
4.2.
Две сети, связанные маршрутизатором

Хотя обычно используют отдельный маршрутизатор, Windows Server 2003 позволяет
также конфигурировать сервер как маршрутизирующее устройство. Функцией
маршрутизатора является направление пакетов из одной сети в следующую
сеть. Он делает это, определяя сначала оптимальный маршрут с помощью алгоритмов
маршрутизации. Алгоритмы маршрутизации определяют кратчайшее «расстояние»
(путь с наименьшей «стоимостью») между отправителем и получателем пакета,
а также поддерживают таблицы маршрутизации, которые содержат маршрутную
информацию, помогающую оптимизировать передачу информации. На
рис.
4.3
показан пример таблицы маршрутизации, которая информирует маршрутизатор о
том, как он может пересылать пакеты информации.

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

Рис.
4.3.
Пример таблицы маршрутизации

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

Алгоритмы маршрутизации

Маршрутизаторы, а также компьютеры Windows 2000, сконфигурированные как
маршрутизаторы, обычно используют алгоритмы статической или динамической
маршрутизации, но поддерживается также маршрутизация с коммутируемым соединением
по требованию (demand-dial routing). Все эти алгоритмы маршрутизации
в основном отвечают одной цели, хотя они имеют различные механизмы передачи
информации от источника к месту назначения.

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

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

Примечание. Конкретные маршруты не обязательно являются постоянными
маршрутами в операционных системах Microsoft Windows. Иными словами, вы должны
указать, что маршрут является постоянным, с помощью ключа -p, чтобы в случае
перезагрузки сервера по какой-либо причине этот статический маршрут был привязан
к таблице маршрутизации.

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

В качестве эмпирического правила используйте статические маршруты только
при следующих условиях.

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

Авто-статическая маршрутизация. Маршрутизаторы Windows Server 2003, которые
используют статические маршруты, могут иметь собственные таблицы маршрутизации,
обновляемые вручную или автоматически. Автоматические обновляемые
статические маршруты называют авто-статической маршрутизацией. Соответствующие
обновления можно конфигурировать с помощью интерфейса RRAS, см.
рис.
4.4,
или с помощью утилиты NETSH. Это позволяет вам обновлять информацию
маршрутизаторов Windows Server 2003 только в определенные периоды времени, что
дает экономию затрат на соединения и/или использование меньшей доли пропускной
способности каналов.

Авто-статическая маршрутизация с помощью интерфейса RRAS

Рис.
4.4.
Авто-статическая маршрутизация с помощью интерфейса RRAS

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

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

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

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

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

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

Маршрутизация с коммутируемым соединением по требованию (demand/dial routing)

Большинство протоколов маршрутизации (RIP, OSPF и т.д.), которые используют
для взаимодействия с другими маршрутизаторами, периодически отправляют маршрутную
информацию, чтобы адаптироваться к динамическим изменениям состояния
сети. Это требуется для того, чтобы информация передавалась по маршрутам с
наименьшей «стоимостью». Однако существуют ситуации, когда периодические
обновления маршрутизаторов весьма нежелательны. Например, каждая активизация
канала может требовать дополнительной оплаты.

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

Протоколы маршрутизации

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

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

Маршрутизируемые протоколы и протоколы маршрутизации

Вы, вероятно, встречались с терминами «маршрутизируемые протоколы» и «протоколы
маршрутизации». Например, вам, видимо, известно, что TCP/IP, IPX/SPX и
аналогичные протоколы являются маршрутизируемыми протоколами. Но когда вы
слышите о протоколах маршрутизации, то, вероятно, задаетесь вопросом, как отличаются
эти два типа протоколов и как они используются. Довольно часто эти термины
используют эквивалентным образом, но между ними имеется существенное
отличие.

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

  • BGP (Border Gateway Protocol – Пограничный межсетевой протокол)
  • EIGRP (Enhanced Interior Gateway Routing Protocol – Расширенный внутренний шлюзовый протокол)
  • EGP (Exterior Gateway Protocol – Внешний шлюзовый протокол)
  • IGRP (Interior Gateway Routing Protocol – Внутренний шлюзовый протокол)
  • OSPF (Open Shortest Path First – Открытие в первую очередь кратчайших маршрутов)
  • RIP (Routing Information Protocol – Протокол маршрутной информации)

В маршрутизаторы RRAS под управлением Windows Server 2003 включена встроенная
поддержка для OSPF и RIP. Кроме того, RRAS может поддерживать протоколы
маршрутизации от сторонних компаний (такие как BGP, EIGRP, EGP и IGRP) с
помощью своих интерфейсов прикладного программирования (API). Ниже приводится
описание протоколов маршрутизации, которые поддерживаются системой
Windows Server 2003.

RIP

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

Как видно из таблицы 4.1, имеются две версии RIP. Для обновления информации
маршрутизаторов в версии 1 используются широковещательные (broadcast) сообщения,
а версии 2 – групповые (multicast) сообщения. RIP динамически поддерживает
маршрутную информацию путем отправки сообщений с обновлением
маршрутной информации другим маршрутизаторам с помощью RIP в интерсети
каждые 30 секунд.

Таблица
4.1.
Связанные с RIP документы RFC

RFC Описание
1058 Routing Information Protocol (RIP).
1721 RIP version 2 protocol analysis (Анализ протокола RIP версии 2).
1722 RIP version 2 protocol applicability statement (Применимость RIP версии 2).
1723 RIP version 2 carrying additional information (Перенос дополнительной информации с помощью RIP версии 2).

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

  • Ограничение по количеству сегментов (транзитных участков). Путь между двумя соседними маршрутизаторами считается сегментом (транзитным участком). Это средство ограничивает путь к точке назначения 15 сегментами. Точки назначения, для достижения которых требуется более 15 сегментов, считаются «недостижимыми».
  • Блокировки (Hold-down). Блокировки гарантируют, что старые, недоступные для маршрутизации маршруты не будут использоваться в таблице маршрутизации.
  • Ограничение «горизонта» (Split horizons). Это средство препятствует избыточности сообщений с обновлением маршрутной информации (циклов маршрутизации), направляемых маршрутизатору, из которого было отправлено данное сообщение.
  • Подавление возвратных обновлений (Poison reverse updates). Это средство препятствует зацикливанию маршрутов в интерсети.

Несмотря на эти возможности RIP все же имеет свои ограничения. Он может
создавать сложности в сетях крупных предприятий, поскольку его сообщения с
обновлениями маршрутной информации «съедают» значительную долю пропускной
способности сети. Кроме того, информация считается немаршрутизируемой после
15 сегментов, что может вызывать проблемы в таких сетях.

OSPF

Протокол маршрутизации OSPF был разработан группой IETF (Internet Engineering
Task Force) специально для таких сред TCP/IP, как интернет. Это эффективный, но
довольно сложный протокол маршрутизации, поддерживающий как состояния связи,
так и таблицы маршрутизации. Как протокол маршрутизации каналов, OSPF
сохраняет информацию, получаемую от всех остальных маршрутизаторов в интерсети,
и использует эту информацию для расчета кратчайшего пути до каждого маршрутизатора.
Это отличается от протоколов дистанционно-векторной маршрутизации
(см. выше), которые отправляют сообщения с информацией обновления
маршрутизаторов только соседним маршрутизаторам.

OSPF был разработан с целью выхода за ограничения других протоколов маршрутизации,
таких как RIP. Он поддерживает масштабирование без существенного
увеличения объема служебной информации. В результате он отвечает требованиям
к большим интерсетям предприятий. Протокол маршрутизации OSPF описан в документах
RFC 1247 (для OSPF) и 2328 (для OSPF версии 2).

Иерархия OSPF. Еще одним отличием протокола OSPF является то, что он может
действовать иерархически, как это показано на следующем рисунке. Каждый маршрутизатор
OSPF отправляет и получает маршрутную информацию от всех остальных
маршрутизаторов в автономной системе (AS), где имеется набор маршрутизаторов
(сетей), которые применяют общую стратегию маршрутизации. Каждая AS
может быть разбита на меньшие группы, которые называются областями и являются,
по сути, непрерывными сетями в соответствии с их сетевыми интерфейсами.
Некоторые маршрутизаторы могут иметь несколько интерфейсов, и такие маршрутизаторы
могут быть связаны более чем с одной областью. Эти маршрутизаторы
соответственно называются маршрутизаторами границ областей (ABR), и они занимаются
передачей маршрутной информации из одной области в другую, что позволяет
снизить трафик маршрутизации в автономной области (AS).

Для AS, содержащей несколько областей, требуется магистраль для структурной
и управляющей поддержки. Эта магистраль соединяет маршрутизаторы границ
областей (ABR) и любые сети, которые не полностью содержатся в любой конкретной
области. На рисунке 4.5 показана AS, содержащая две области и магистраль.
Эта магистраль находится в области 0.

Иерархия OSPF с несколькими областями и магистралью

Рис.
4.5.
Иерархия OSPF с несколькими областями и магистралью

24 Jun 2011 | Автор: dd |

Скажу откровенно- вопрос маршрутизации в Windows Server я для себя закрыл еще в далеком 200X году, когда некие умельцы в том филиале Ростелекома, где я работал на тот момент, пытались поднять программный маршрутизатор на платформе Server 2003 и скажу откровенно это выглядело уныло, так как у них постоянно падали сетки, отваливались маршруты, пакеты переставали ходить и прочее. Учитывая, что как раз в то же время я совокупил порядка 6 сеток за счет бездисковой станции, которая грузилась с дискетки Coyot Linux и шуршала только в путь, то в дальнейшем я использовал исключительно маршрутизацию на базе FreeBSD. Но тем не менее эпизодически возникает необходимость организации маршрутизации на базе Windows Server, с наиболее упертыми клиентами которые сами ничего делать не хотят, но и лезут с советами.

Тогда приходится влезать в это болото, которое называется маршрутизация средствами Windows платформ. Для начала посмотрим что  у нас прописано в таблице маршрутизации на сервере. Входим в терминальную консоль cmd и даем команду:
> route PRINT
которая нам высветит список имеющихся в системе интерфейсов, таблицу маршрутизации и постоянные маршруты. Кстати точно эту же картинку можно получить и командой:
> netstat -rn
Теперь собственно мы можем добавить статический маршрут, средствами командной строки. Предположим что нам надо срутить пакеты в сеть 172.16.0.0/24 через внутренний маршрутизатор 192.168.10.250, для чего задаем следующую команду:
> route add 172.16.0.0 mask 255.255.255.0 192.168.10.250 if 1
на самом деле можно со спокойной совестью опустить, маршрут подцепится и без этого, просто пакеты будут рутиться через внутренний интерфейс 127.0.0.1. Для того чтобы удалить данный маршрут достаточно сказать:
> route delete 172.16.0.0
При добавлении машртура мы можем получить загадошное сервисное сообщение “Запрошенная операция требует повышения”, для чего правой клавишей шелкаем в иконку командной строки и говорим “запуск от имени администратора”.
Но вся беда с том, что такие маршруты живут до следующей перезагрузки, поэтому нам необходимо сказать чтобы маршруты сохранялись на потсоянной основе, для чего задаем ключик -p:
> route -p add 172.16.0.0 mask 255.255.255.0 192.168.10.250

Собственно для меня это наиболее удобный вариант, так как не требует ковыряния с системе, да и подходит как для Windows Server, так и для простых рабочих станций под управлением виндусни; но особо беспокойные умы могут  воспользоваться на MS Server службой Network Policy and Access Services, для чего идем в Диспетчер сервера -> Роли -> Добавить роли -> Службы политики сети и доступа -> Маршрутизация (автоматом добавится Служба удаленного доступа) после чего уже в оснастке управления маршрутизации через правый клик на имени сервера включаем машрутизацию и, зайдя в раздел Статические маршруты прописываем необходимые нам маршруты. Там же можно настроить и политики прохождения пакетов (вкладка Основное, свойства интерфейсов), а также динамическую маршрутизацию, путем добавления RIP или IGMP протоколов.

Rating: 10.0/10 (2 votes cast)

Rating: +2 (from 2 votes)

Настройка маршрутизации в MS Windows, 10.0 out of 10 based on 2 ratings

Теги: Windows, Сетевые протоколы, Сети

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

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

Основывается система маршрутизации на таблице маршрутов, которая определяет куда пакет с данным IP-адресом следует направлять. Ниже приведен пример такой таблицы, полученный при помощи команды netstat.

Пример 2.1. Таблица маршрутов

quest:/usr/src/sys/i386/conf:\[16\]>netstat -rn
Routing tables
Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt
Netmasks:
(root node)
(0) 0000 ff00
(0) 0000 ffff e000
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default          144.206.136.12     UG          1     1081  ed1 -      -
127              127.0.0.1          UR          0        0  lo0 -      -
127.0.0.1        127.0.0.1          UH          0       51  lo0 -      -
144.206          144.206.131.5      UG          0        0  ed1 -      -
144.206.64       144.206.136.230    UG          0        0  ed1 -      -
144.206.96       144.206.130.135    UG          0        0  ed1 -      -
144.206.128      144.206.130.138    U           2     9900  ed1 -      -
144.206.192      144.206.192.1      U           2    26203  ed0 -      -
194.226.56       144.206.130.207    UGD         0        0  ed1 -      -
(root node)
quest:/usr/src/sys/i386/conf:\[17\]>

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

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

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

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

Вообще говоря, из всей статической маршрутизации выделяют, так называемую, минимальную маршрутизацию. Такая маршрутизация возникает тогда, когда локальная сеть не имеет выхода в Internet и не состоит из подсетей. В этом случае достаточно выполнить команды ifconfig для интерфейса lo и интерфейса Ethernet и все будет работать:

/usr/paul>ifconfig lo inet 127.0.0.1
/usr/paul>ifconfig ed1 inet 144.226.43.1 netmask 255.255.255.0

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

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

Команда route имеет следующий вид:

route <команда> <сеть или хост> <шлюз> <метрика>

В поле «команда» указывается команда работы с таблицей маршрутов:

  • add — добавить маршрут
  • delete — удалить маршрут;
  • get — получить информацию о маршруте.

В поле «сеть или хост» указывается адрес отправки пакета.

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

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

Типичным примером применения команды route является назначение шлюза по умолчанию:

/usr/paul>route add default 144.206.160.32

В данном примере все пакеты, адресаты которых не были найдены в локальной сети, отправляются на сетевой интерфейс с адресом 144.206.160.32. Метрика при этом принимается по умолчанию равная 1. Таким образом указывается, что это адрес шлюза.

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

/usr/paul>route add 144.206.0.0 144.206.136.5 netmask 255.255.224.0
/usr/paul>route add 144.206.96.0 144.206.130.135 netmask 255.255.224.0
/usr/paul>route add 144.206.128 144.206.130.138 netmask 255.255.224.0
/usr/paul>route add 144.206.192.0 144.206.192.1 netmask 255.255.224.0

Если сравнить эти записи с примером 2.1, то можно заметить, что одной строчки в списке команд не хватает. Это строка, которая описывает маршрут к сети 194.226.56 через шлюз 144.206.130.207. Дело в том, что поле флагов отчета netstat говорит нам, что такого маршрута в первоначальной таблице не было.

В поле флагов отчета netstat мы можем встретить следующие флаги:

U — говорит о том, что маршрут активен и может использоваться для маршрутизации пакетов;

H — говорит о том, что этот маршрут используется для посылки пакетов определенному в маршруте хосту;

G — говорит о том, что пакеты направляются на шлюз, который ведет к адресату;

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

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

Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt
194.226.56       144.206.130.207    UGD         0        0  ed1 -      -

Поле флагов содержит флаги: U-маршрут активен, G-пакеты направляются на шлюз и D-маршрут получен по сообщению ICMP о перенаправлении пакетов. Следовательно, первоначально такого маршрута в таблице маршрутов не было.

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

/usr/paul>route add 194.226.56.0 144.206.130.207 netmask 255.255.224.0

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

/usr/paul>route delete default
/usr/paul/route add default 144.206.136.10 netmask 255.255.224.0

В данном случае сначала мы удалим из таблицы (пример 2.1) маршрут умолчания, а затем добавим туда новый. При удалении маршрута достаточно назвать только адрес назначения, чтобы route идентифицировала маршрут, который следует удалить.

Можно по команде route получить информацию и о конкретном маршруте, но удобнее все-таки пользоваться командой netstat. В последней и информации указывается больше, и можно получить такую информацию, о которой вы просто можете даже не подозревать, если приходят ICMP-сообщения или используется динамическая маршрутизация.

В заключении обсуждения вопросов статической маршрутизации хотелось бы сделать небольшое замечание по поводу Windows NT. До версии 4.0 в Windows NT штатно существовала только статическая маршрутизация. Для сетей локальных с надежными линиями связи этого вполне достаточно. Фактически, администратору нужно только указать IP-адреса на каждом из сетевых интерфесов, указать адрес шлюза по умолчанию и поднять флажок пересылки пакетов с одного интерфейса на другой. После этого все должно работать. Если локальная сеть подключается к провайдеру, то, как правило, все сводится к получению адреса из сети провайдера для внешнего интерфейса, т.е. интерфейса, который будет связывать вас с адресом шлюза провайдера и адресом своей сети или подсети. Если только провайдер не затеет изменения структуры своей сети, вес будет работать годами без каких-либо изменений. Для таких сетей шлюз на основе Windows NT можно организовать. Однако, не все так просто, когда речь идет о сети или подсети, которые подключаются в качестве части сети, которая не организована по иерархическому принципу. В этом случае возможно изменение наилучших маршрутов гораздо чаще, чем один раз в десятилетие и в этом случае статическая маршрутизация может оказаться недостаточной. Кроме того, важным фактором повышения надежности сетевого взаимодействия является наличие нескольких маршрутов к одним и тем же информационным ресурсам. В случае отказа одного из них можно использовать другие. Но проблема заключается в том, что система всегда использует тот маршрут, который первым встретился в таблице маршрутов, хотя и существуют мультимаршрутные системы, но они распространены, мягко говоря не очень широко. Следовательно, маршруты из таблицы надо удалять и вносить. Если сеть работает не устойчиво, то это превращается в головную боль администратора. Вот почему до версии Windows NT 4.0 рассматривать эту систему в качестве реального претендента на маршрутизатор не представляется возможным. В Windows NT 4.0 появилась поддержка динамической маршрутизации в лице протокола RIP, но поддержки других протоколов маршрутизации пока еще нет.

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

2.9.2. Динамическая маршрутизация

Прежде чем вникать в подробности и особенности динамической маршрутизации обратим внимание на двухуровневую модель, в рамках которой рассматривается все множество машин Internet. В рамках этой модели весь Internet рассматривают как множество автономных систем (autonomous system — AS). Автономная система — это множество компьютеров, которые образуют довольно плотное сообщество, где существует множество маршрутов между двумя компьютерами, принадлежащими этому сообществу. В рамках этого сообщества можно говорить об оптимизации маршрутов с целью достижения максимальной скорости передачи информации. В противоположность этому плотному конгломерату, автономные системы связаны между собой не так тесно как компьютеры внутри автономной системы. При этом и выбор маршрута из одной автономной системы может основываться не на скорости обмена информацией, а надежности, безотказности и т.п.

Рис. 2.24. Схема взаимодействия автономных систем

Сама идеология автономных систем возникла в тот период, когда ARPANET представляла иерархическую систему. В то время было ядро системы, к которому подключались внешние автономные системы. Информация из одной автономной системы в другую могла попасть только через маршрутизаторы ядра. Такая структура до сих пор сохраняется в MILNET.

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

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

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

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

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

К внешним протоколам относятся Exterior Gateway Protocol (EGP) и .

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

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

К внутренним протоколам относятся протоколы Routing Information Protocol (RIP), HELLO, Intermediate System to Intermediate System (ISIS), Shortest Path First (SPF) и Open Shortest Path First (OSPF).

Протокол RIP (Routing Information Protocol) предназначен для автоматического обновления таблицы маршрутов. При этом используется информация о состоянии сети, которая рассылается маршрутизаторами (routers). В соответствии с протоколом RIP любая машина может быть маршрутизатором. При этом, все маршрутизаторы делятся на активные и пассивные. Активные маршрутизаторы сообщают о маршрутах, которые они поддерживают в сети. Пассивные маршрутизаторы читают эти широковещательные сообщения и исправляют свои таблицы маршрутов, но сами при этом информации в сеть не предоставляют. Обычно в качестве активных маршрутизаторов выступают шлюзы, а в качестве пассивных — обычные машины (hosts).

В основу алгоритма маршрутизации по протоколу RIP положена простая идея: чем больше шлюзов надо пройти пакету, тем больше времени требуется для прохождения маршрута. При обмене сообщениями маршрутизаторы сообщают в сеть IP-номер сети и число «прыжков» (hops), которое надо совершить, пользуясь данным маршрутом. Надо сразу заметить, что такой алгоритм справедлив только для сетей, которые имеют одинаковую скорость передачи по любому сегменту сети. Часто в реальной жизни оказывается, что гораздо выгоднее воспользоваться оптоволокном с 3-мя шлюзами, чем одним медленным коммутируемым телефонным каналом.

Другая идея, которая призвана решить проблемы RIP, — это учет не числа hop’ов, а учет времени отклика. На этом принципе построен, например, протокол OSPF. Кроме этого OSPF реализует еще и идею лавинной маршрутизации. В RIP каждый маршрутизатор обменивается информацией только с соседями. В результате, информации о потере маршрута в сети, отстоящей на несколько hop’ов от локальной сети, будет получена с опозданием. Лавинная маршрутизация позволяет решить эту проблему за счет оповещения всех известных шлюзов об изменениях локального участка сети.

К сожалению, многовариантную маршрутизацию поддерживает не очень много систем. Различные клоны Unix и NT, главным образом ориентированы на протокол RIP. Достаточно посмотреть на программное обеспечение динамической маршрутизации, чтобы убедится в этом. Программа routed поддерживает только RIP, программа gated поддерживает RIP, HELLO, OSPF, EGP и BGP, в Windows NT поддерживается только RIP.

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

2.9.3. Программа routed

Программа routed поставляется с любым клоном Unix и используется в качестве демона протокола RIP по умолчанию. Как правило, она используется без аргументов и запускается в момент загрузки операционной системы. Однако, если машина не является шлюзом, то имеет смысл указать флаг «-q». Этот флаг означает, что routed не будет посылать информации в сеть, а только будет слушать информацию от других машин. Обычно, активными являются шлюзы, а все остальные системы являются пассивными.

Однако, часто бывает полезно при начальной загрузке инициализировать таблицу маршрутов и определить строки, которые из нее не следует удалять ни при каких условиях. Самый типичный случай — назначение шлюза по умолчанию. Для этой цели можно использовать файл /etc/gateways, который программа routed просматривает при запуске и использует для первоначальной настройки таблицы маршрутов. Содержание этого файла может выглядеть следующим образом:

net 0.0.0.0 gateway 144.206.136.10 netric 1 passive

В данном примере адрес 0.0.0.0 используется для определения адреса умолчания, машина 144.206.136.10 — это шлюз по умолчанию, метрика определяет число hop’ов до этого шлюза, а параметр «passive» — говорит о том, что даже если с этого шлюза никакой информации о маршрутах не приходит, то его все равно не надо удалять из таблицы маршрутов. Последний параметр указывается в том случае, если шлюз только один, если же возможно использование другого шлюза и эти шлюзы активно извещают машины сети о своих таблицах маршрутов, то следует вместо passive использовать active:

net 0.0.0.0 gateway 144.206.136.10 netric 1 active

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

Когда используется только Ethernet, то программа routed может использоваться и на машинах шлюзах, но если система связана с внешним миром через SLIP или PPP, то использование routed может привести к потере самого главного маршрута. Он будет удален из таблицы из соображений неактивности. В этом случае лучше всего использовать программу gated.

2.9.4. Программа gated

Gated — это коллективный продукт американских университетов, который был разработан для работы сети NFSNET. Права copyright закреплены за Корнельским университетом, хотя части кода являются собственностью других университетов и ассоциаций.

Gated — это модульная программа предназначенная организации много функционального шлюза, который мог бы обслуживать как внутреннюю маршрутизацию, так и внешнюю. Gated поддерживает протоколы RIP (версии 1 и 2), HELLO, OSPF версии 2, EGP версии 2 и BGP версий от 2 до 4. Все перечисленные возможности относятся к версии 3.5. На системах типа HPUX 9.x или IRIX 6.x могут стоять и более ранние версии, которые всего этого набора протоколов могут и не поддерживать.

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

Рис. 2.25. Подключение локальной сети к Internet и настройки gated

Gated настраивается при помощи своего файла конфигурации /etc/gated.conf. Именно в нем пишутся все команды настройки, которые gated проверяет при запуске.

При работе на обычной машине, системе надо только указать интерфейс и протокол динамической маршрутизации, который gated должна использовать:

#
# Interface shouldn`t be removed from routing table
#
interface 144.206.160.40 passive ;
#
# routing protocol is rip.
#
rip yes;

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

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

# Interfaces shouldn`t be removed from routing table
interface 144.206.160.32 passive ;
interface 144.206.130.137 passive ;
# routing protocol is rip.
rip yes;

Однако можно использовать и более сложное описание, основанное на логике работы gated. А логика эта состоит в том , что gated объявляет соседним шлюзам по RIP, что подсеть 144.206.160.0 доступна через интерфейс 144.206.130.137, в свою очередь для подсети gated объявляет, что весь мир доступен через интерфейс 144.206.160.32. Очевидно, что это логика заимствована из архитектуры внешних протоколов маршрутизации и распространена на протоколы внутренние. Это позволяет вести описание маршрутов в едином ключе.

rip yes;
export  proto rip interface 144.206.130.137
{
        proto direct
        {
                announce 144.206.160.0 metric 0 ;
        } ;
} ;
export proto rip interface 144.206.160.32
{
        proto rip interface 144.206.130.137
        {
                announce all ;
        } ;
} ;

Первая команда export анонсирует подсеть 144.206.160.0 через интерфейс 144.206.130.137. При этом сообщается, что это шлюз в данную подсеть, т.е. интерфейс 144.206.130.137 расположен на машине, которая включена в эту подсеть. О том, что пакеты для подсети надо посылать непосредственно на этот интерфейс говорит предложение proto direct, а то, что интерфейс стоит на шлюзе в подсеть говорит метрика, равная 0.

Второе предложение сообщает всем машинам подсети через интерфейс 144.206.160.32 все маршруты, которые данный шлюз получает из подсети 144.206.128.0 через интерфейс 144.206.130.137. Фактически осуществляется сквозная пересылка всей информации во внутрь системы.

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

Важным является и синтаксис предложений, который сильно смахивает на синтаксис языка программирования С.

Во всех руководствах по gated приводится еще один пример, когда сеть, через подсеть подключают к Internet. Здесь приведем пример из руководства к gated 3.5.

rip yes;
export proto rip interface 136.66.12.3 metric 3
{
        proto rip interface 136.66.1.5
        {
                announce all ;
        } ;
} ;
export proto ripinterface 136.66.1.5
{
        proto rip interface 136.66.12.3
        {
                announce 0.0.0.0 ;
        } ;
{ ;

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

Второе предложение export определяет куда следует отправлять информацию по умолчание из сети, чтобы она достигла адресата, расположенного за пределами данной локальной сети. Адрес 0.0.0.0, который соответствует любой машине за интерфейсом 136.66.12.3 анонсируется через интерфейс 136.66.1.5. для всей локальной сети.

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

2.10 Анализ и фильтрация TCP/IP пакетов

В одном из докладов Министерства Обороны США, выполненном по запросу Конгресса, отмечалось, что в последнее время число атак на компьютеры вооруженных сил увеличилось. При этом атакующие, главным образом, используют программы захвата и анализа трафика TCP/IP, который передается по сети Internet. Надо сказать, что проблема эта не новая. Еще во время начала проекта Athena в Масачусетском Технологическом Институте, в результате которой появилась система Керберос, одной из основных целей проекта называлась защита от захвата и анализа пакетов.

До последнего времени, в российском секторе Internet хотя и знали, что такая проблема существует, хотя провайдеры и пользовались сами сканированием, серьезных шагов по защите от этого сканирования не предпринимали. В данном случае речь идет о том, что требование тотальной защиты, как это имеет место во всех зарубежных коммерческих и правительственных сетях, не выдвигалось. Не смотря на то, что Relcom первым продемонстрировал в 1991 году возможности бесконтрольного, со стороны государства, распространения информации через Internet, ни Demos, ни AO Relcom не ставили перед собой задачи сплошной защиты своих внутренних сетей от атаки из вне при помощи просмотра содержания IP-пакетов.

Надо сказать, что довольно долгое время такая практика себя оправдывала. Серьезных нарушений в работе сети не происходило, а атаки на шлюзы и локальные подсети успешно отбивались системами фильтрации трафика. Но к осени 1996 года ситуация изменилась. И главной причиной изменения стало внедрение системы доступа к сети по dial-ip. Теперь в сети появилось большое количество случайных людей со стороны. Кроме того, внедрение Internet во многих московских вузах привело к увеличению среди пользователей сети доли студентов. При этом следует отметить, что доступ из академических и учебных заведений в Internet по большей части остается бесплатным для пользователей, а это значит, что ресурсами сети можно пользоваться круглосуточно, не заботясь о том, сколько у тебя в кармане денег.

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

К осени 1996 года число зарегистрированных пользователей Dial-IP составило несколько тысяч человек только в AO Relcom. SovamTeleport начал заниматься предоставлением такого доступа на полгода раньше (с осени 1995), следовательно там число пользователей должно быть еще больше. Кроме того, многие университеты, учебные заведения и научно-исследовательские организации для своих сотрудников создали модемные пулы. Естественно, что администраторы подсетей или их близкие друзья также не могли пройти мимо возможности работать на дому. Исходя из этого, можно предположить, что только в Москве число пользователей Dial-IP составляет несколько десятков тысяч человек.

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

И вот в середине сентября 1996 года прозвенел первый звоночек. Точнее, на эту проблему обратил внимание наших провайдеров CERT (Computer Emagency Response Team). В Канаде были зарегистрированы попытки входа в систему по различным портам TCP с указанием действительно существовавших идентификаторов и паролей пользователей. Попытку зарегистрировала программа межсетевого фильтра (FilreWall), о чем и сообщила администратору. Администратор оказался человеком дотошным и стал выяснять кто и откуда пытался проникнуть в систему.

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

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

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

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

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

Дело в том, что к отечественным информационным сервисам относится и служба DNS. DNS обслуживает запросы на получение по доменному имени машины ее IP-адреса. Каждый домен имеет несколько серверов, которые могут удовлетворить запрос пользователя, но только один из них является главным. Все остальные время от времени сверяют информацию в своей базе данных с информацией в базе данных главного сервера. При фильтрации обычно закрывают порты TCP. Это значит, что отвечать на запросы, которые используют 53 порт UDP, сервер будет, а вот осуществить копирование описания зоны на дублирующий сервер, которое производится по 53 порту TCP, межсетевой фильтр не даст. Как результат, дублирующие сервера будут отказывать в обслуживании, и доступ к ресурсам, из-за невозможности получить за приемлемое время IP-адрес, будет затруднен.

В результате доступ к такому информационному ресурсу, как World Wide Web, происходит через «пень-колоду». Что говорить о доступе к отечественным ресурсам. Ведь не «видно» не только тех, кто спрятался за «стенами», но и тех, кто разместил там серверы DNS. Особенно пикантной становится ситуация, если в защищенную зону попадет root-сервер DNS для доменов SU и RU.

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

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

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

Первые такие программы использовали то, что в сетях Ethernet все компьютеры подсоединяются на один кабель. В обычном режиме карта Ethernet принимает только те фреймы, которые ей предназначены, т.е. указаны в заголовке фрейма. Однако в целях отладки многие карты можно заставить работать в режиме «пылесоса», тогда они будут принимать все фреймы, которые передаются по кабелю. Такой режим работы карты называется promiscuous mode. Если можно получить пакет в машину, то, следовательно, его можно проанализировать.

Главная проблема, связанная с «нюхачами» заключается в том, чтобы они успевали перерабатывать весь трафик, который проходит через интерфейс. Код одной из достаточно эффективных программ этого типа (Esniff) был опубликован в журнале Phrack. Esniff предназначена для работы в Sunos. Программа очень компактная и захватывает только первые 300 байтов заголовка, что вполне достаточно для получения идентификатора и пароля telnet-сессии. Программа свободно распространяется по сети и каждый желающий может ее «срисовать» по адресу ftp://coombs.anu.edu.au/pub/net/log. Существуют и другие программы этого типа и не только для платформ Sun. Это Gobler, athdump, ethload для MS-DOS или Paketman, Interman, Etherman, Loadman — для целого ряда платформ, которые включают в себя Alpha, Dec-Mips, SGI и др. «Нюхачи» существуют не только для Ethernet. Многие компании выпускают системы анализа трафика и для высокоскоростных линий передачи данных. Достаточно зайти на домашнюю страницу AltaVista и запустить запрос, состоящий из одного слова «sniffer» как вы сразу получите целый список страниц на данную тему. Лучше правда «sniffer AND security», т.к. система может понять вас буквально и выложить информацию и об органах дыхания.

Когда программы анализа трафика писались, то предполагалось, что пользоваться ими будут профессионалы, отвечающие за надежность работы сети. Однако, как это часто бывает, система оказалась обоюдоострой. Как же бороться с непрошенными гостями?

Во-первых, если система многопользовательская, то при помощи команды ifconfig можно увидеть интерфейс, который работает в режиме «пылесоса». Среди флагов появляется значение PROMISC. Однако, злоумышленник может подменить команду ifconfig, чтобы она не показывала этот режим работы. Поэтому следует убедиться в том, что программа та, которая была первоначально, а во-вторых, ее протестировать.

Обнаружить «пылесос» на других машинах сети нельзя, особенно это касается машин с MS-DOS. Поэтому от сканирования защищаются путем установки межсетевых фильтров и введения механизмов шифрации либо всего трафика, либо только идентификаторов и паролей.

Существуют и аппаратные способы защиты. Ряд сетевых адаптеров не поддерживает режим promiscuous mode. Если эти карты использовать для организации локальной сети, то можно обезопасить себя от «подглядывания».

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

В заключении хотелось бы сказать, вслед за Jeff Schiller и Joanne Costell из Масачусетского Технологического Института, что, для использования sniffer не надо иметь семи пядей во лбу, не надо иметь диплом о высшем образовании и вообще запустить программу и воспользоваться результатами может и младенец. То, что кто-то смог наколлекционировать чужие пароли и идентификаторы не говорит о его уме или профессиональной пригодности. Единственным последствием таких действий станет неминуемое ужесточение правил использования сети, от которого плохо станет всем.

Назад |
Содержание |
Вперед

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

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 10 home 1809
  • Где найти параметры компьютера в windows 10
  • Как смонтировать iso образ в виртуальный диск на windows 10
  • Ms gamingoverlay windows 11 как отключить
  • Windows 10 долго включается с черным экраном