Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Gliffy Diagram
nameRIP modes Copy

Hide_comments

Scroll Ignore

Содержание

Table of Contents
exclude

...

Содержание

Описание

Модуль ARIP представляет собой реализацию стандартного протокола маршрутизации RIP. Модуль маршрутизации поддерживает две версии версии протокола RIP: - RIP-1 и RIP-2. Настройка модуля осуществляется опциями с использованием команды "arip" .

Командный язык. Общие принципы

ARIP имеет свою командную оболочку (КО), вход в которую осуществляется командой:

Code Block
languagejava
themeDJango
#1>arip
RIP>

. Чтобы попасть в командную оболочку, сначала нужно запустить модуль командой "arip start". Вход в оболочку осуществляется вводом одноимённой команды. Команды, вводимые в КО, нечувствительны к регистру букв и допускают произвольное сокращение вплоть до одной буквы, если команда в целом не может быть воспринята КО   неоднозначнонеоднозначно. В любой момент можно получить справку о наборе команд. Для этого нажмите клавишу ‘?’:

Code Block
languagejava
themeDJango
RIP>?
 configure  Configuration from vty interface
 end        End current mode and change to root mode (CTRL+C).
 exit       Back to WANFlex command shell (CTRL+D).
 help       Print command list
 show       Show running system information
RIP>

КО может находится в различных режимах. Режим отображается вместе с префиксом команды в виде "RIP(режим)#". Например, если ввести команду configure, то КО перейдет в режим "config":

Code Block
languagejava
themeDJango
RIP> configure
RIP(config)#

На рисунке показана диаграмма переходов между режимами КО.

Center
Scroll Title
titleРисунок - Диаграмма переходов между режимами КО

Image Removed

Можно устанавливать нужный режим или выполнять команды RIP не заходя специально в сам модуль. Например, если мы последовательно выполним команды:

Code Block
languagejava
themeDJango
#1> arip configure
#1> arip router
#1> arip
RIP(config-router)#

то (как видно из примера) при входе в "arip" мы попадем сразу в нужный нам режим.

В каждом режиме существует собственный набор команд, однако в любом режиме существуют команды:

  • Help - вывод полного списка команд данного режима
  • End – переход из текущего режима в базовый
  • Exit – команда выхода из КО в командную оболочку WANFlex

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

При вводе команд, в любой момент можно получить контекстную подсказку нажав клавишу "?".

Например,

...

languagejava
themeDJango

...

, для этого используется клавиша "?".

КО может находится в различных режимах:

  • Базовый режим;
  • RIP configure;
  • RIP config-if;
  • RIP config-router;
  • RIP config-route-map.

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

Center

Gliffy Diagram
displayNameRIP modes Copy
nameRIP modes Copy
pagePin1

Команды могут иметь аргументы, которые указываются в различных форматах. Формат значения аргумента описывается в справке о наборе команд ("?") или в списке команд (параметр "help"). Ниже приведены возможные форматы:

  • "A.B.C.D" – IP-адрес (например, 192.168.0.15).
  • "WORD" – набор символов, не содержащий пробелов.
  • "<1-N>" – целое десятичное число в диапазоне от 1 до N.
  • "A.B.C.D/M" – IP-адрес с указанием маски сети в виде длины префикса – целого числа в диапазоне от 0 до 32 (например, 192.168.0.0/24).
  • "IFNAME" – имя физического сетевого интерфейса (например, eth0).

Если аргумент допускает варианты, то в справке они указываются в круглых скобках, разделенные символом “|” (например: (A.B.C.D|<0-4294967295>)). При описании команд, в случае, если какой-либо параметр является необязательным, то он будет заключен в квадратные скобки “[]”. Команды режима конфигурации, приводящие к изменению в работе ("access-list", "interface", "key", "prefix-list", "route-map", "router"), могут содержать префикс "no".Наличие такого префикса приводит к отмене (удалению) соответствующего параметра конфигурации.

Синтаксис:

Code Block
languagetext
themeEmacs
  configure  Configuration
    access-list  Add an access list entry
    clear        End current Reset functions
    end          End current mode and change to root mode (CTRL+C).
    exit         Back to WANFlex command shell (CTRL+D).
    help         Print command list
    interface    Select an interface to configure
  key    authentication  Authentication control
   Authentication key management
 description no    Interface specific description
     Negate aend command or set its defaults
  prefix-list  Build a prefix list
 End route-mapcurrent mode and change Createto route-maproot or enter route-map command mode
  routermode (CTRL+C).
      exit       Enable a routing process
  showBack to command shell (CTRL+D).
     Show runninghelp system information
  stop         stop
RIP(config)# interface?Print command list
  IFNAME  Interface's name
RIP(config)# interface eth0
RIP(config-if)#?
  authentication  Authentication control
  description no             Interface specificNegate description
a command endor set its defaults
      receive    End current mode and change to root mode (CTRL+C).Advertisement reception
  exit    send        Back to WANFlex command shell (CTRL+D).Advertisement transmission
  help    show        Print command list
  noShow running system information
      split-horizon   Perform split Negatehorizon
 a command or setkey its defaults
  receive         Authentication key management
    no          Advertisement reception
Negate a sendcommand or set its defaults
    prefix-list  Build a Advertisementprefix transmissionlist
  show  route-map    Create route-map or enter route-map command Showmode
 running system information
  split-horizon end  Perform split horizon
RIP(config-if)#

После выхода из КО командой exit (или Ctrl+D) КО маршрутизатора остается в последнем режиме.

Команды могут иметь параметры. Параметры команд задаются в нескольких форматах. Формат параметра описывается в контекстной справке или в списке команд (по команде help) следующим образом:

  • "A.B.C.D" - параметр задается в формате IP адреса. Например: 192.168.0.15
  • "WORD" – набор символов не содержащий пробелов
  • "<1-N>" - параметр задается в виде целого десятичного числа в диапазоне от 1 до N
  • "A.B.C.D/M" – параметр задается в форматке IP адрес/длина маски сети – целое число в диапазоне от 0 до 32. Например: 192.168.0.0/24
  • "IFNAME" – имя физического сетевого интерфейса. Например: eth0

Если параметр допускает варианты, то в справке они указываются в круглых скобках, а возможные варианты разделены символом “|”. Например: (A.B.C.D|<0-4294967295>).

При описании команд в случае, если какой-либо параметр или опция является необязательной, этот параметр или опция будет заключена в квадратные скобки “[]”.

Любая команда конфигурации может содержат префикс “no”. Наличие такого префикса приводит к отмене (удалению) соответствующего параметра конфигурации.

Запуск/останов RIP маршрутизатора.

Запуск RIP маршрутизатора осуществляется командой WANFleX:

Code Block
languagejava
themeDJango
arip start

Останов маршрутизатора производится командой режима "config":

Code Block
languagejava
themeDJango
stop (daemon|clear)

Например,

Code Block
languagejava
themeDJango
>arip
RIP> configure
RIP(config)# stop daemon

Если команду останова выполнить с параметром clear, модуль RIP перед остановой очистит свою часть системной конфигурации.

Объекты фильтрации

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

  • Списки доступа (access-list)
  • Списки префиксов (prefix-list)

Списки доступа состоят из набора операторов. Каждый оператор состоит из диапазона IP адресов (условия соответствия) и команды "deny" (отвергнуть) или "permit" (принять). Диапазон адресов записывается в виде "<значение> < маска незначащих битов значения>". Объект подлежащий фильтрации имеет основной параметр в таком же виде (IP адрес, подсеть и т.п.). Для принятия решения о том удовлетворяет ли объект данному списку или нет, к основному параметру объекта последовательно применяется каждый оператор списка доступа до тех пор, пока этот параметр не удовлетворит условию соответствия. При достижении соответствия выносится решение записанное в команде данного оператора (deny или permit).

В RIP маршрутизаторе применяется три типа списков доступа:

  • Стандартный. Идентифицируется номерами 1-99 или 1300-1999 и предназначен для оценки одного параметра объектов фильтрации.
  • Расширенный. Идентифицируется номерами 100-199 или 2000-2699 и предназначен для оценки двух параметров объектов фильтрации (например, адрес источника и адрес назначения).
  • Именованный. Аналогичен стандартному, но идентифицируется не номерами, а именем. Кроме того, диапазон (условие) операторов записывается в виде "<значение>/<длина маски>"

Для создания или изменения списков доступа в RIP маршрутизаторе предназначены следующие команды режима "config":

  • Для стандартных списков доступа
Center
Scroll Title
titleТаблица - Стандартные списки доступа

access-list

(<1-99>|<1300-1999>)

(deny|permit)

A.B.C.D

A.B.C.D

 

 

Идентификатор списка

команда

значение

Маска незначащих битов значения

 

 

 

Диапазон значений параметра

Данная команда создает оператор в стандартном списке доступа. Значение и маска незначащих битов определяют диапазон (условие) оператора. Маска незначащих битов определяет те биты значения, которые определяют диапазон. Например, чтобы задать диапазон IP адресов от 192.168.12.0 до 192.168.12.255, необходимо указать значение 192.168.12.0, маску – 0.0.0.255. Для диапазонов обозначающих любое значение параметра (0.0.0.0 255.255.255.255) предусмотрено ключевое слово any. Например, команда :

Code Block
languagejava
themeDJango
RIP(config)# access-list 1 permit 0.0.0.0 255.255.255.255

Тождественна команде:

Code Block
languagejava
themeDJango
RIP(config)# access-list 1 permit any

Аналогично, для задания диапазона, состоящего из единственного значения, допускается применять ключевое слово "host".

Например, команда :

Code Block
languagejava
themeDJango
RIP(config)# access-list 1 permit 192.168.12.150 0.0.0.0

Тождественна команде:

Code Block
languagejava
themeDJango
RIP(config)# access-list 1 permit host 192.168.12.150
  • Для расширенных списков доступа
Center
Scroll Title
titleТаблица - Расширенные списки доступа

access-list

(<100-199>|<2000-2699>)

(deny|permit)

ip

A.B.C.D A.B.C.D

A.B.C.D A.B.C.D

 

 

Идентификатор списка

команда

 

Диапазон адресов источника

Диапазон адресов назначения

  • Для именованных списков
Center
Scroll Title
titleТаблица - Именованные списки

access-list

WORD

(deny|permit)

A.B.C.D/M

[exact-match]

 

 

Идентификатор списка

Команда

Диапазон

Требование полного равенства параметра диапазону

В этом случае идентификатор списка представляет собой произвольное сочетание символов. Диапазон значений указывается в виде "<значение>/<длина маски>". Например, чтобы задать диапазон IP адресов от 192.168.12.0 до 192.168.12.255, необходимо указать значение 192.168.12.0/24. Для диапазона любых значений параметра (0.0.0.0/0) так же допускается применять ключевое слово "any".

Например,

Code Block
languagejava
themeDJango
RIP(config)# access-list TestList1 deny 192.168.1.0/24
RIP(config)# access-list TestList1 permit any

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

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

Center
Scroll Title
titleТаблица

prefix-list

WORD

[seq <1-4294967295>]

(deny|permit)

A.B.C.D/M

[ge <0-32>] [le <0-32>]

 

 

Идентификатор списка

Последовательный номер оператора

Команда

Диапазон

Диапазон допустимых длин маски параметра

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

Настройка RIP 

Возможны несколько способов подключения RIP на оперделенном сетевом интерфейсе.

Первый способ подключения – указание сети. На интерфейс устройства, сетевой адрес которого будет принадлежать указанной сети, будет включен RIP. Это можно сделать в режиме "config-router" командой:

Code Block
languagejava
themeDJango
network A.B.C.D/M

Cеть задается IP префиксом этой сети и длиной маски подсети.

Второй способ – непосредственное указание имени интерфейса. Это можно сделать в режиме "config-router" командой:

Code Block
languagejava
themeDJango
network WORD
  • "WORD"  - это имя интерфейса.

 Например,

Code Block
languagejava
themeDJango
RIP>configure
RIP(config)# router
RIP(config-router)# network 4.7.8.0/24
RIP(config-router)# network  rf5.0
RIP(config-router)#

Отменить RIP на интерфейсе можно командами:

Code Block
languagejava
themeDJango
no network A.B.C.D/M
no network WORD

В определенных случаях не все маршрутизаторы понимают мультикастовые запросы. Для решения этой проблемы можно установить прямую связь между маршрутизтороми с помощью команды в режиме "config-router":

Code Block
languagejava
themeDJango
neighbor a.b.c.d
  • "a.b.c.d" – адрес маршрутизатора-соседа. Для отмены назначение соседа:
Code Block
languagejava
themeDJango
no neighbor a.b.c.d

Для анонсирования информации из других протоколов маршрутизации предназначена команда в режиме "config-router":

Code Block
languagejava
themeDJango
redistribute (kernel|connected|static|ospf) [metric <0-16777214>] [route-map WORD]

Определить критерий, по которому маршрутизатор будет анонсировать информацию из того или иного протокола маршрутизации из всех существующих можно командой режима "config-router":

Code Block
languagejava
themeDJango
distribute-list WORD direct ifname
  • "WORD" – имя списка. Эта команда связывает список доступа с определенным интерфейсом. Параметр direct принимает значения «out» или «in». В значении «in» список доступа применяется к входящим пакетам.

В следующем примере интерфейс “eth0” пропустит только те пакеты, которые маршрутизируются в 10.0.0.0/8:

Code Block
languagejava
themeDJango
RIP(config-router)# distribute-list private in eth0
RIP(config-router)# access-list private permit 10 10.0.0.0/8
RIP(config-router)# access-list private deny any

Следующая команда задает метрику по умолчанию в режиме "config-router":

Code Block
languagejava
themeDJango
default-metric <0-16>

Если метрика по умолчанию не установлена, то ее значение равно 1.

В режиме "redistribute kernel" маршрутизатор не будет заявлять в RIP систему о наличии у него канала к "default route" (адресат = сеть 0.0.0.0/0), даже если он явно прописан в системной маршрутной таблице администратором. Для того, чтобы маршрутизатор заявлял о наличии у него канала к "default route" необходимо дать ему явное указание в режиме "config-router":

Code Block
languagejava
themeDJango
default-information originate

Отмена заявления внешнего канала к "default route" производится командой:

Code Block
languagejava
themeDJango
no default-information originate

Следующая команда включает алгоритм «расщепления горизонта» на определенном ip-интерфейсе устройства в режиме "config-if":

Code Block
languagejava
themeDJango
split-horizon [poisoned-reverse]

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

При указанной опции "poisoned-reverse" устройство при удалении маршрута ещё некоторое время оставляет его в таблице маршрутизации и включает в стандартную рассылку анонсов маршрутной инфирмации со специальной пометкой для того, чтобы соседние маршрутизаторы поняли, что маршрут больше не используется. В качестве метки используется метрика маршрута со значением 16.

Алгоритм «расщепления горизонта» без опции "poisoned-reverse" включен по умолчанию.

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

Code Block
languagejava
themeDJango
no split-horizon

Карта маршрутов (route-map)

Для более гибкого назначения типа и значения метрики, можно воспользоваться картой маршрутов (route-map). Карта маршрутов содержит последовательность записей-условий. Каждая запись описывается своим последовательным номером в карте, условием соответствия импортируемого маршрута данной записи, действиями, производимыми над результирующим объектом в случае соответствия (присваивания типа и/или значения метрики образуемого канала), результирующей реакцией (отвергнуть, принять) и сценарием дальнейшего просмотра записей (может быт не задан). Маршруты просматриваются по карте в порядке увеличения их последовательных номеров. Если маршрут соответствует условию записи, то:

  • в случае результирующей реакции отвержения (deny), маршрут отбрасывается, просмотр записей карты прекращается, результирующий объект аннулируется (маршрут не анонсируется)
  • в случае результирующей реакции принять (permit), с результирующим объектом производятся указанные в записи действия (установка типа и/или значения метрики). Далее, просмотр записей прекращается, либо, если задан сценарий, продолжается с указанного в сценарии  номера записи в двух вариантах:
    • "on-match next" – просмотр продолжается с записи, непосредственно следующей за текущей
    • "on-match goto <N>" - просмотр записей продолжается с записи с номером больше или равным N, но не меньше, чем номер текущей.

Для формирования карты маршрутов применяется команда в режиме "config":

Code Block
languagejava
themeDJango
route-map WORD (deny|permit) <1-65535>
  • "WORD" – это идентификационное название (имя) карты маршрутов. Далее указывается порядковый номер и результирующая реакция записи данной карты маршрутов, параметры которой необходимо изменить/добавить. Если записи с таким порядковым номером не существует, она будет автоматически создана. После выполнения этой команды КО переходит в режим редактирования выбранной записи карты маршрутов. 

Например,

Code Block
languagejava
themeDJango
RIP> configure
RIP(config)# route-map testmap permit 10
RIP(config-route-map)#

Далее устанавливается условие соответствия импортируемого маршрута данной записи. Для этого в режиме "config-route-map" применяются команды:

Code Block
languagejava
themeDJango
match address (<1-199>|<1300-2699>|WORD)
match address prefix-list WORD
match interface WORD
match next-hop (<1-199>|<1300-2699>|WORD)
match next-hop prefix-list WORD

Эти команды устанавливают условия соответствия маршрута по трем возможным его параметрам: адресата (destination), gateway (nexthop) и интерфейса. Для одной записи допускается устанавливать несколько различных условий. Если задано несколько условий, то они объединяются по правилу «и». В командах "match next-hop" и "match address" указывается ссылка (номер или имя) на объект фильтрации: номер или имя "access-list" или имя "prefix-list". В этом случае условие будет выполнено, если соответствующий параметр маршрута принадлежит указанному фильтрующему списку по соответствующему этому типу списка правилу. В команде "match interface" в качестве параметра указывается имя сетевого интерфейса, которому принадлежит маршрут.

При выполнении маршрутом всех условий записи можно установить значения метрики маршрута при помощи команды режима "config-route-map":

Code Block
languagejava
themeDJango
set metric <0-4294967295>

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

Code Block
languagejava
themeDJango
on-match goto <1-65535>
on-match next

Пример конфигурации:

Code Block
languagejava
themeDJango
RIP> configure
RIP(config)# access-list AnyNetwork permit any
RIP(config)# access-list net200 permit 192.168.200.0/24
RIP(config)# route-map mapForConnected permit 10
RIP(config-route-map)# match address net200
RIP(config-route-map)# set metric 7
RIP(config-route-map)# route-map mapForConnected deny 11
Code Block
languagejava
themeDJango
RIP(config-route-map)# match address AnyNetwork
RIP(config-route-map)# router
RIP(config-router)# redistribute connected route-map mapForConnected
RIP(config-route-map)#

В этой конфигурации маршрутизатору указано анонсировать маршруты, образованные из connected маршрутов системной таблицы маршрутов. При этом, если адресат этого маршрута – подсеть 192.168.200.0/24, то образованный маршрут будет иметь метрику 7, любой другой адресат не приведет к анонсированию маршрута канала к нему.

Warning
titleПРЕДОСТЕРЕЖЕНИЕ

Чтобы определенный интерфейс использовал определенный, "route-map", созданный как описано выше, необходимо применить команду "route-map" в режиме  "config-router":

Code Block
languagejava
themeDJango
route-map WORD (in|out) IFNAME
  • "WORD" – имя созданного раннее road-map.

Аутентификация. Проверка подлинности.

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

  • Парольная аутентификация. Простая парольная аутентификация уязвима для пассивных атак, часто встречающихся в Internet (sniffing), т.к. для передачи пакетов используется широковещание, а пакет содержит пароль в некодированном виде.
  • Аутентификация с использованием электронного ключа. Используется ключ при генерации и проверке цифровых подписей (message-digest). Для построения цифровой подписи используется алгоритм MD5. Поскольку секретный ключ никогда не передается через сеть в открытом виде, это обеспечивает защиту против пассивных атак.

По умолчанию у маршрутизатора не установлено никакой аутентификации (null-аутентификация).

Аутентификация устанавливается для определенного интерфейса командами режима "config-if".

  • Для простой парольной:
Code Block
languagejava
themeDJango
authentication mode text
authentication string LINE

"LINE" – это пароль, который должен быть менее 16 символов

  • Для криптографической:
Code Block
languagejava
themeDJango
authentication mode md5
authentication key-chain LINE

"LINE" – это имя секретного ключа MD5.

Задать сам ключ, имя которого указывается в параметре "LINE", можно  командой режима "config":

Code Block
languagejava
themeDJango
RIP(config)# key chain WORD
RIP(config-keychain)# key <0-2147483647>
RIP(config-keychain-key)# key-string LINE
    • "WORD" – это имя цепочки ключей
    • "<0-2147483647>" - идентификатор ключа
    • "LINE" – секретный ключ md5.

Настройка таймеров.

В протоколе RIP существуют несколько таймеров. Параметры по умолчанию для них имеют следующие значения:

  • Update timer срабатывает каждые 30 секунд. При срабатывании RIP  посылает полную таблицу маршрутизации всем соседним RIP маршрутизаторам.
  • Timeout timer срабатывает каждые 180 секунд. После истечения этого времени маршрут больше не считается верным. Но ещё некоторое время он остаётся в таблице маршрутизации для того, чтобы соседи-маршрутиза поняли, что маршрут больше не используется.
  • Garbage collect timer срабатывает каждые 120 секунд. После истечения этого времени устаревшая маршрутная информация удаляется из таблицы маршрутизации.

Следующая команда в режиме "config-router" позволяет изменить значения таймеров:

Code Block
languagejava
themeDJango
timers basic update timeout garbage

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

Code Block
languagejava
themeDJango
no timers basic

Просмотр состояния RIP 

Для просмотра состояния RIP используется следующие команды в исходном режиме:

Code Block
languagejava
themeDJango
show access-list

Команда выводит информацию о списках доступа.

Code Block
languagejava
themeDJango
show memory

Команда выводит информацию по использованию памяти.

Code Block
languagejava
themeDJango
show rip

Команда выводит текущее состояние RIP. Отображается информация по таймерам, фильтрам, версии, итерфейсах, на которых поднят RIP.

Code Block
languagejava
themeDJango
show route

...

     End current mode and change to root mode (CTRL+C).
      exit       Back to command shell (CTRL+D).
      help       Print command list
      match      Match values from routing table
      no         Negate a command or set its defaults
      on-match   Exit policy on matches
      route-map  Create route-map or enter route-map command mode
      set        Set values in destination routing protocol
      show       Show running system information
    router       Enable RIP routing process
      default-information  Control distribution of default route
      default-metric       Set a metric of redistribute routes
      distance             Administrative distance
      distribute-list      Filter networks in routing updates
      end                  End current mode and change to root mode (CTRL+C).
      exit                 Back to command shell (CTRL+D).
      help                 Print command list
      neighbor             Specify a neighbor router
      network              Enable routing on an IP network
      no                   Negate a command or set its defaults
      offset-list          Modify RIP metric
      passive-interface    Suppress routing updates on an interface
      redistribute         Redistribute information from another routing protocol
      route                RIP static route configuration
      route-map            Route map set
      show                 Show running system information
      tagged               Tagged mode
      timers               Adjust routing timers
      version              Set routing protocol version
    show         Show running system information
    stop         stop
  debug      Set debugging print level
  end        End current mode and change to root mode (CTRL+C).
  exit       Back to command shell (CTRL+D).
  help       Print command list
  no         Negate a command or set its defaults
  show       Show running system information
    access-list     List IP access lists
    memory          Memory statistics
    prefix-list     Build a prefix list
    rip             IP routing protocol process parameters and statistics
    route           Show RIP routes
    running-config  running configuration
    thread          Thread information
    version         Displays version


Параметры

Center
ПараметрОписание
helpВывод полного списка команд данного режима, может быть применён в любом режиме КО.
endПереход из текущего режима в базовый, для тех же целей служит сочетание клавиш Ctrl+C.
exitВыход из КО ARIP. Той же цели служит сочетание клавиш Ctrl+D.
show

Просмотр состояния маршрутизатора RIP.

  • "access-list" – применяется для просмотра того или иного списка доступа.

    • "[(<1-99>|<100-199>|<1300-1999>|<2000-2699>|WORD)]" - идентификатор списка. Если не указан, то выводится содержимое всех списков доступа.

  • "memory" – позволяет выгрузить статистику из памяти.
    • "all", "lib", "ospf" и "rip типы значений, которые должны быть выгружены. Если тип не указан, будут выведены данные по всем типам, что равнозначно параметру "all".
  • "prefix-list" – применяется для просмотра списков префиксов (подробно с настройкой списков префиксов можно ознакомиться в подразделе "Объекты фильтрации").

  • "rip" выводит текущее состояние RIP. Отображается информация по таймерам, фильтрам, версии, итерфейсах, на которых поднят RIP.

  • "route" – выводит таблицу сетевых маршрутов. Подробную информацию о расшифровке данных таблицы можно посмотреть в разделе "Примеры".

  • "running-config" – отображает текущую конфигурацию маршрутизатора, команда доступна в любом режиме.
  • "show thread cpu" – выводит текщее состояние процессора. Возможно применение фильтров для отображения процессов конкретного типа (rwtex).
  • "version" – показывает версию модуля ARDA.

debug level N

Включает регистрацию отладочной информации модуля RIP в системный журнал.

  • "N" – определяет уровень журналирования, от "0" (информация не записывается) до "255" (запись наиболее подробной информации).
configureОсуществляет переход в режим ARIP configure.

Режим ARIP configure

stop (daemon|clear)

Останов модуля RIP:

  • "daemon" – останов маршрутизатора RIP.
  • "clear" – останов с предварительным удалением конфигурации маршрутизатора RIP.
access-list

Списки доступа применяются в настройках маршрутизатора в качестве фильтров, помимо этого, они так же используются для установки условий соответствия при настройке карты маршрутов. Списки доступа состоят из набора операторов. Каждый оператор состоит из диапазона IP-адресов (условия соответствия) и решения: "deny" – отвергнуть; "permit" – принять. Диапазон IP-адресов записывается в виде "<адрес> <маска>". При принятии решения о вхождении проверяемого объекта в список доступа, по отношению к нему последовательно применяется каждый оператор списка до тех пор, пока не будет обнаружено соответствие. Если соответствие объекта оператору списка доступа было обнаружено, то проверка завершается, а в отношении объекта будет применено решение, указанное в соответствующем операторе.

Новые операторы безусловно добавляются в конец списка. Таким образом, при фильтрации, последовательность просмотра операторов списка доступа определяется только последовательностью их добавления.

В маршрутизаторе RIP применяется три типа списков доступа.

  • Стандартный – идентифицируется номерами 1-99 в стандартном диапазоне или 1300-1999 в расширином и предназначен для оценки одного параметра объектов фильтрации.
  • Расширенный – идентифицируется номерами 100-199 в стандартном диапазоне или 2000-2699 в расширином и предназначен для оценки двух параметров объектов фильтрации (например, IP-адрес источника и IP-адрес назначения).
  • Именованный – аналогичен стандартному, но идентифицируется не номерами, а именем. Кроме того, диапазон (условие) операторов записывается в виде "<значение>/<длина маски>".

Подробное описание команд для управления списками доступа находится ниже в подразделе "Объекты фильтрации".

prefix-list

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

  • "ge <0-32>" – определяет минимально допустимую длину маски от 0 до 32.
  • "le <0-32>" – определяет максимльно допустимую длину маски от 0 до 32.
  • "ge <0-32> le <0-32>" – определяет диапазон допустимых значений.

Подробное описание команд для управления списками префиксов приведено ниже в подразделе "Объекты фильтрации".

clear prefix-list WORDУдаляет список префиксов с именем "WORD".

Anchor
key
key
key chain WORD

Позволяет утановить ключ, который будет использован при аутентификации. Аргумент "WORD" – определяет имя цепочки ключей. После применеия команды, КО перейдёт в режим "RIP(config-keychain)#", где появится возможность установить идентификатор ключа в диапазоне от 0 до 2147483647. После чего в режиме "RIP(config-keychain-key)#" настраиваются следующие параметры:

  • "accept-lifetime" устанавливает период времени, в течение которого ключ аутентификации в цепочке ключей считается действительным. Формат времени: <ЧЧ:ММ:СС>, <день месяца (1-31)>, <значение месяца>, <год (1993-2035)>.
  • "key-string LINE" устанавливает секретный ключ md5, "LINE" – ключ в текстовом формате.
  • "send-lifetime" устанавливает период времени отправки действительного ключа.

Подробнее процесс аутентификации описывает параметр "authentication" режима "config-if".

routerПереход в режим "config-router" для настройки маршрутизатора. Подробное описание команд данного режима преведено в подразделе "Режим ARIP config-router".
route-map WORD (deny|permit) <1-65535>

Создаёт карту маршрутов, которая служит для более гибкого назначения типа и значения метрики. После выполнения командная оболочка ARIP переходит в режим редактирования выбранной записи карты маршрутов "config-route-map"

  • "WORD" – идентификационное название (имя) карты маршрутов.
  • "deny|permit" – реакция записи данной карты маршрутов
  • "<1-65535>" – порядковый номер записи.

Карта маршрутов содержит последовательность записей-условий. Каждая запись описывается следующими параметрами:

  • Последовательный номер в карте.
  • Условие, в соответствии с которым будет приниматься решение/выполняться реакция.
  • Реакция (если маршрут соответствует условию записи):
    • "deny"  маршрут отбрасывается, просмотр записей карты прекращается, объект аннулируется (канал не анонсируется);
    • "permit  с объектом производятся указанные в записи действия. Далее, просмотр записей прекращается, либо, если задан сценарий, продолжается с указанного в сценарии номера записи.
  • Действия, производимые над объектом в случае соответствия (присваивания типа и/или значения метрики образуемого канала).
  • Сценарий дальнейшего просмотра записей, может быть установлен в двух вариантах.
  • Подробное описание команд данного режима находится в подразделе "Режим ARIP config-route-map".
interface IFNAME

Переход в режим "config-if". Подробное описание команд данного режима представлено в подразделе "Режим config-if".

  • "IFNAME" – имя сетевого интерфейса, по отношению к которому будут применяться команды.

Anchor
Режим ARIP config-router
Режим ARIP config-router
Режим ARIP config-router

network (A.B.C.D/M|WORD)

Подключает RIP на оперделенном сетевом интерфейсе.

  • "A.B.C.D/M" – IP-адрес сети с указанием длины маски подсети. На интерфейсе устройства, сетевой адрес которого будет принадлежать указанной сети, будет включен RIP.
  • "WORD" – имя интерфейса.
neighbor A.B.C.D

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

  • "A.B.C.D" – адрес маршрутизатора-соседа.
redistribute (kernel|connected|static|ospf) [metric <0-16777214>] [route-map WORD]

Служит для анонсирования внешних каналов. Ретранслирует маршруты:

  • Определённого протокола:
    • "ospf".
  • Определённого типа:
    • "kernel" – маршруты, созданные ядром, кроме маршрута по умолчанию.
    • "connected" – непосредственно присоединённые маршруты.
    • "static" – статические маршруты.
  • "metric <0-16777214>" – значение метрики канала.
  • "route-map WORD" – внешние маршруты также могут быть отфильтрованы при помощи карты маршрутов, которая настраивается в разделе "Режим ARIP config-route-map", "WORD" – идентификатор (имя) карты маршрутов.
distribute-list (WORD|prefix) (in|out) [WORD]

Позволяет определить критерий, по которому маршрутизатор будет анонсировать тот или иной канал.

  • "WORD" – идентификатор списка доступа, которому должен отвечать адресат записи системной маршрутной таблицы.
  • "prefix" – идентификатор списка префиксов, которому должен отвечать адресат записи системной маршрутной таблицы.
  • "in|out" – в значении "in" список применяется к входящим пакетам, в значении "out" – к исходящим.
  • "[WORD]"  имя интерфейса.

default-metric <1-16>

Позволяет установить метрику по умолчанию. Если не установлена явно, то значение равно 1.
default-information originateИспользуется для того, чтобы маршрутизатор заявлял о наличии у него канала к "default route", в противном случае он не будет этого делать, даже если канал к "default route" явно прописан в системной таблице маршрутизации администратором.
route-map WORD (in|out) IFNAME

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

  • "WORD" – имя созданного ранее road-map.
  • "in|out" – в значении "in" список применяется к входящим пакетам, в значении "out" – к исходящим.
  • "IFNAME" – имя сетевого интерфейса.
timers basic update timeout garbage

Изменяет значение таймеров.

  • "update"аргумент устанавливает периодичность рассылки полной таблицы маршрутизации всем соседним RIP-маршрутизаторам. Значение указывается в секундах в диапазоне от 5 до 2147483647, по умолчанию 30.
  • "timeout" аргумент устанавливает период времени, по истечении которого маршрут больше не считается актуальным. Но ещё некоторое время он остаётся в таблице маршрутизации для того, чтобы соседние маршрутизаторы поняли, что маршрут больше не используется. Значение указывается в секундах в диапазоне от 5 до 2147483647, по умолчанию 180.
  • "garbage" – аргумент устанавливает период времени, по истечении которого устаревшая маршрутная информация удаляется из таблицы маршрутизации.
distance <1-255> [A.B.C.D/M]

Устанавливает значение административной дистанции в диапазоне от 1 до 255 для маршрутов, полученных из определённого источника.

  • "A.B.C.D/M" IP-адрес источника, если не указан, то значение устанавливается для всех источников.
offset-list WORD (in|out) [IFNAME]

Позволяет изменять входящую/исходящую метрику маршрутов.

  • "WORD" – имя списка доступа, к которому будет относиться параметр.
  • "in|out" – в значении "in" применяется к входящим пакетам, в значении "out" – к исходящим.
  • "IFNAME" – имя сетевого интерфейса, если не указан, то параметр буден применён ко всему маршрутизатору.
passive-interface (IFNAME|default)

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

  • "IFNAME" – сетевой интерфейс, через который не будет устанавливаться соседство с другими маршрутизаторами и на который не будут отправляться обновления информации о маршрутах.
  • "default" – параметр будет применён ко всем сетевым интерфейсам маршрутизатора.
route A.B.C.D/M 

Позволяет настраивать статические маршруты в рамках модуля RIP.

  • "A.B.C.D/M" – IP-адрес назначения.
version <1-2>Устанавливает используемую версию протокола RIP.

tagged

Включает режим присвоения метки.

Anchor
Режим ARIP config-if
Режим ARIP config-if
Режим ARIP config-if

split-horizon [poisoned-reverse]

Включает алгоритм "расщепления горизонта" на определенном сетевом интерфейсе. Алгоритм "расщепления горизонта" без параметра "poisoned-reverse" включен по умолчанию.

  • "poisoned-reverse"  при указании данного параметра устройство, при удалении маршрута, ещё некоторое время оставляет его в таблице маршрутизации и включает в стандартную рассылку анонсов маршрутной информации со специальной пометкой для того, чтобы соседние маршрутизаторы поняли, что маршрут больше не используется. В качестве метки используется метрика маршрута со значением 16.

authentication (key-chain LINE|mode (md5|text)|string LINE)

Устанавливает аутентификацию для определенного интерфейса, представляет собой проверку подлинности отправителя входящих пакетов протокола. Используется для предотвращения несанкционированного подключения маршрутизаторов к RIP-системе. По умолчанию у маршрутизатора не установлено никакой аутентификации ("null"-аутентификация).

  • "authentication mode (md5|text)" позволяет выбрать режим. "text" активирует простую парольную аутентификацию. "md5" активирует аутентификацию с использованием электронного ключа.
  • "string LINE" устанавливает пароль для простой аутентификации. "LINE" – пароль, максимум 16 символов.
  • "key-chain LINE" устанавливает секретный ключ md5. "LINE" – имя секретного ключа MD5, сам ключ указывается в параметре "key" режима "config".
description

Позволяет добавить символьное описание интерфейса.

send version (1|2|1 2)

Устанавливает версию протокола RIP, которую будет использовать заданный интерфейс при отправке пакетов. Данная настройка будет работать вопреки глобальным настройкам RIP (команда "version"). Может быть установлена поддержка RIP-1/RIP-2/RIP-1 и RIP-2. По умолчанию отправляет пакеты в соответствии с глобальными настройками (RIP-2).

receive version (1|2|1 2)Устанавливает версию протокола RIP, пакеты которой будут приняты заданным интерфейсом. Данная настройка будет работать вопреки глобальным настройкам RIP (команда "version"). Может быть установлена поддержка RIP-1/RIP-2/RIP-1 и RIP-2. По умолчанию принимает пакеты в соответствии с глобальными настройками (RIP-1 и RIP-2).

Anchor
Режим ARIP config-route-map
Режим ARIP config-route-map
Режим ARIP config-route-map

match address[(<1-199>|<1300-2699>|WORD)]|prefix-list WORD]|interface WORD|next-hop[(<1-199>|<1300-2699>|WORD)|prefix-list WORD]|metric <0-4294967295>|tag <0-65535>

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

  • "address" – соответствие по адресату, условие будет выполнено, если соответствующий параметр маршрута принадлежит указанному фильтрующему списку по соответствующему этому типу списка правилу. Указывается ссылка на:
    • "<1-199>|<1300-2699>|WORD" – номер или имя списка доступа ("access-list");
    • "prefix-list WORD" – имя списка префиксов.
  • "interface WORD" – соответствие по сетевому интерфейсу, которому принадлежит маршрут, "WORD" – имя интерфейса.
  • "next-hop" – соответствие по IP-адресу следующего узла, ссылки указываются в том же формате, что и для соответствия по адресату.
  • "metric" – соответствие по значению метрики в диапазоне от 0 до 4294967295, однако в пределах протокола RIP учитываются только значения от 0 до 16.
  • "tag" – соответствие по значению метки канала в диапазоне от 0 до 65535.

set metric <0-4294967295>|next-hop A.B.C.D|tag <0-65535>

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

  • "metric <0-4294967295>" – значение метрики от 0 до 4294967295, однако в пределах протокола RIP используются только значения от 1 до 16.
  • "next-hop A.B.C.D" – IP-адрес следующего узла, применимо только для RIP-2.
  • "tag" – значение метки канала в диапазоне от 0 до 65535. Метка присваевается каналу с целью избежать цикличного анонсирования маршрута из одной зоны в другую.
on-match (goto <1-65535>)|next

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

  • "on-match next" – просмотр продолжается с записи, непосредственно следующей за текущей.
  • "on-match goto <N>" – просмотр записей продолжается с записи с номером равным "N".
Warning
titleПРЕДОСТЕРЕЖЕНИЕ

Для того чтобы определённая карта маршрутов использовалась определённым интерфейсом, необходимо применить команду "route-map" в режиме "config-router".

Anchor
Объекты фильтрации
Объекты фильтрации
Объекты фильтрации

Списки доступа

Для создания или изменения списков доступа маршрутизатора RIP предназначены следующие параметры режима "config".

Стандартный список:

Code Block
languagetext
themeEmacs
access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D
  • "(<1-99>|<1300-1999>)" – идентификатор списка.
  • "(deny|permit)" – решение отбросить/принять.
  • "A.B.C.D A.B.C.D" – диапазон адресов в формате  "<значение> < маска значения>"

Команда создает оператор в стандартном списке доступа. Значение и маска определяют диапазон (условие) оператора. Например, чтобы указать диапазон IP-адресов от "192.168.12.0" до "192.168.12.255", необходимо указать значение "192.168.12.0" с маской "0.0.0.255". Для диапазонов обозначающих любое значение (0.0.0.0 255.255.255.255) предусмотрено ключевое слово "any". Приведенные ниже команды  тождественны.

Code Block
languagetext
themeEmacs
RIP(config)# access-list 1 permit 0.0.0.0 255.255.255.255
RIP(config)# access-list 1 permit any

Для указания диапазона, состоящего из единственного значения, допускается применять ключевое слово "host". Приведенные ниже команды – тождественны.

Code Block
languagetext
themeEmacs
RIP(config)# access-list 1 permit 192.168.12.150 0.0.0.0
RIP(config)# access-list 1 permit host 192.168.12.150

Расширенный список:

Code Block
languagetext
themeEmacs
access-list (<1-99>|<1300-1999>) (deny|permit) A.B.C.D A.B.C.D
  • "(<100-199>|<2000-2699>)" – идентификатор списка.
  • "(deny|permit)" – решение отбросить/принять.
  • "A.B.C.D A.B.C.D" – диапазон адресов источника.
  • "A.B.C.D A.B.C.D" – диапазон адресов назначения.

Именованный список:

Code Block
languagetext
themeEmacs
access-list WORD (deny|permit) A.B.C.D/M exact-match
  • "WORD" – идентификатор списка.
  • "(deny|permit)" – решение отбросить/принять.
  • "A.B.C.D/M" – диапазон адресов.
  • "exact-match" – указывается в случае требования полного равенства параметра диапазону.

В случае именованного списка идентификатор представляет собой произвольное сочетание символов. Диапазон значений указывается в виде "<значение>/<длина маски>". Для диапазона любых значений параметра (0.0.0.0/0) так же допускается применять ключевое слово "any".

Списки префиксов

Code Block
languagetext
themeEmacs
prefix-list WORD seq <1-4294967295> (deny|permit) A.B.C.D/M ge <0-32> le <0-32>
  • "WORD" – идентификатор списка.
  • "seq <1-4294967295>" – порядковый номер.
  • "(deny|permit)" – решение отбросить/принять.
  • "A.B.C.D/M" – диапазон адресов.
  • "exact-match" – указывается в случае требования полного равенства параметра диапазону.

  • "ge <0-32> le <0-32>" – диапазон допустимых значений длинны маски.

Примеры

Включим поддержку RIP для сетевого интерфейса принадлежащего сети "4.7.8.0/24".

Code Block
languagetext
themeEmacs
RIP(config-router)# network 4.7.8.0/24

Установим аутентификацию с использованием электронного ключа. Для этого командой "key chain" создадим цепочку ключей "TEST" с идентификатором ключа "123" и назначим секретному ключу значение "TESTTEST".

Code Block
languagetext
themeEmacs
RIP(config)# key chain TEST
RIP(config-keychain)# key 123
RIP(config-keychain-key)# key-string TESTTEST

Активируем режим аутентификации MD5, выберем секретный ключ с именем "TESTTEST".

Code Block
languagetext
themeEmacs
RIP(config-if)# authentication mode md5
RIP(config-if)# authentication key-chain TESTTEST

Для того что бы отменить аутентификацию воспользуемся параметром "no".

Code Block
languagetext
themeEmacs
RIP(config-if)# no authentication mode md5

К интерфейсу "eth0" применим настройки, что бы он пропускал только те пакеты, которые маршрутизируются в "10.0.0.0/8". Для этого в режиме "config" создадим именованый список доступа "private" разрешающий доступ с IP-адреса "10.0.0.0/8" и запрещающий все остальные. После чего в режиме "config-router" применим данный список к интерфейсу "eth0".

Code Block
languagetext
themeEmacs
RIP(config)# access-list private permit 10.0.0.0/8
RIP(config)# access-list private deny any
RIP(config-router)# distribute-list private in eth0

Создадим конфигурацию, в которой маршрутизатору будет указано анонсировать внешние каналы, образованные из маршрутов типа "connected" системной таблицы маршрутизации. При этом, если адресат этого маршрута – подсеть "192.168.200.0/24", то образованный маршрут будет иметь метрику 7, любой другой адресат не приведет к анонсированию маршрута канала к нему.

Code Block
languagetext
themeEmacs
RIP(config)# access-list AnyNetwork permit any
RIP(config)# access-list net200 permit 192.168.200.0/24
RIP(config)# route-map mapForConnected permit 10
RIP(config-route-map)# match address net200
RIP(config-route-map)# set metric 7
RIP(config-route-map)# route-map mapForConnected deny 11
RIP(config-route-map)# match address AnyNetwork
RIP(config-router)# redistribute connected route-map mapForConnected