Курс по сетевым технологиям
A A A

 

Настройка RIP

Попробуем настроить протокол RIP  в сети




Настройка очень простая. Достаточно ввести всего лишь 2 команды. Настроим его на маршрутизаторе A:

Router_A(config)# router rip

 

Теперь надо указать какие сети он будет анонсировать (то есть объявлять соседям)

Router_A(config-router)# network 189.0.0.0

Router_A(config-router)# network 56.10.10.0

  

То же самое проделаем и с остальными маршрутизаторами. И на этом все. Протокол RIP настроен и сеть прекрасно работает. 

Маршрутизатор, на котором запущен RIP рассылает обновления по адресу 255.255.255.255 на UDP порт 520


Кроме того, протокол является классовым, то есть не передает по сети маски переменной длины (VLSM). То есть, если у нас имеется сеть 10.1.1.0/30, то маршрутизатор анонсирует сеть 10.0.0.0/8 - классовую сеть А.



Просмотр сведений о работе протокола

Посмотрим результат работы протокола - проверим таблицу маршрутизации:

Router_A# show ip route

 




Так как протокол является классовым, то в таблице мы видим адреса сети с классовой маской. 

Чтобы увидеть значения таймеров, а также версию протокола выполни

Router_A# show ip protocols

 

 

Чтобы увидеть сам процесс рассылки обновления достаточно выполнить:

Router# debug ip rip

 

 

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



Настройка RIPv2

RIPv2 является улучшенной версией протокола RIP. Основные отличия протокола от предыдущей версии:

  • Рассылка обновлений по многоадресному принципу (multicast) вместо широковещательной. Рассылка осуществляется по адресу 224.0.0.9. Принцип многоадресной рассылки основан на том, что только определенная группа устройств принимает и обрабатывает обновления, то есть только маршрутизаторы, на которых запущен RIP. Данный принцип можно сравнить с подпиской газеты или журнала. Например, возьмем многоквартирный дом, в котором только 10 квартир подписаны на еженедельную рассылку журнала. То есть журнал получат только те, кто хочет его почитать, а не все соседи сразу.
  • Бесклассовый протокол, то есть поддерживает передачу масок в обновлениях.
  • Аутентификация анонсирований. То есть маршрутизатор может принимать обновления только от авторизованных соседей. Достигается это с помощью установки паролей.

 

Чтобы включить протокол достаточно ввести команды:

Router(config)# router rip

Router(config-router)# version 2

 

 

Настройка стандартного маршрута

Возьмем сеть  предприятия, представленную на рисунке



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

 

А зачем? 

Причин тому несколько:

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

 

Имеется 2 способа для установки стандартного маршрута по умолчанию.

 

1- й способ.

В пограничном маршрутизаторе выполни команду:

Router(config)# ip route 0.0.0.0. 0.0.0.0 100.1.1.1

 

Мы просто указали “нулевую” сеть и “нулевую” маску. Как мы уже знаем это означает любая сеть с любой маской.

Теперь посмотрим на таблицу маршрутизации:




Мы видим статический маршрут и шлюз последней надежды (gateway of last resort). Теперь любая сеть будет доступна для данного маршрутизатора. 

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

Router_A(config-rip)# default-information originate

 

Данная команда заставляет маршрутизатор объявлять о стандартном маршруте в своих объявлениях. Посмотрим таблицу в каждом маршрутизаторе и  выполним PING:

 

 

 

2-й способ.

Удалим предыдущий статический маршрут:

Router_A(config)# no ip route 0.0.0.0 0.0.0.0 100.1.1.1

 

Теперь снова создадим статический путь:

Router_A(config)# ip route 100.1.1.0 255.255.255.252 100.1.1.1

 

Укажем маршрутизатору стандартный путь:

Router_A(config)# ip default-network 100.0.0.0

 

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




Так как команду default-information originate никто не отменял, то остальные маршрутизаторы тоже узнают об этом маршруте




В принципе ничего не изменилось, таблица такая же как и при первом способе. 

Следует иметь в виду, что команда работает только в том случае, если маршрутизатор уже имеет маршрут к указанной сети.



Анонсирование подключенных сетей 

Попробуем теперь выполнить PING с компьютера PC 1 на компьютер PC 4. Результат будет не успешным.

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






В них отсутствует запись о подключенных сетях соседей 172.16.1.0 и 172.16.2.0. То есть эти сети не анонсируются протоколом RIP.

Чтобы исправить ситуацию можно, конечно, включить RIP и на интерфейсах FastEthernet 0/0, но это нецелесообразно, так как сеть будет загружена ненужными объявлениями протокола.

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

Router(config-rip)# redistribute connected

 

В данном случае PING работает, однако иногда его работа может быть нестабильна.

 

В чем же причина? 

Маршрутизатор A является транзитным, поэтому повнимательнее посмотрим на его таблицу маршрутов




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

 

Кстати, таблица маршрутизации маршрутизаторов В и С не изменилась, однако PING на другие компьютеры более или менее работает. В чем причина? 

Во-первых, у этих маршрутизаторов есть маршрут по умолчанию, то есть маршрутизатор А.

Во-вторых, маршрутизатор А благодаря технологии Split Horizont не отправит суммированный IP адрес своим же соседям, так как они уже имеют такой адрес. Кроме того, даже если бы маршрутизатор А и отправил обновления о суммированном адресе, то это бы все равно никак не повлияло на маршрутизаторы В и С.

 

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

Отключим ее и посмотрим, что произойдет:

Router_A(router-rip)# no auto-summary

 

Теперь все в порядке:




 

Настройка авторизации 

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

 

Существуют 2 режима авторизации:

  • с установкой пароля открытым текстом.
  • с использованием хэша MD5.

 

Для начала разберемся в чем же отличия этих двух вариантов.

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





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




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

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

Router(config)# key chain название_цепочки

Router(config-keychain)# key номер

Router(config-keychain-key)# key-string пароль

 

Теперь на интерфейсе, на котором запущен RIP, включаем аутентификацию. Для этого мы указываем созданную цепочку ключей:

Router(config-if)# ip rip authentication mode (text | MD5)

Router(config-if)#ip rip authentication key-chain название_цепочки

 

Для того, чтобы посмотреть какие ключи настроены выполни:

Router# show key chain

 

Вот и все.