Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Введение

Модуль ARIP представляет собой реализацию стандартного протокола маршрутизации RIP.

Модуль маршрутизации поддерживает две версии протокола RIP - RIP-1 и RIP-2.

Настройка модуля осуществляется опциями команды "arip".

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

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

#1>arip
RIP>

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

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":

RIP> configure
RIP(config)#

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

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

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

#1> arip configure
#1> arip router
#1> arip
RIP(config-router)#

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

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

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

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

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

Например,

RIP> config
RIP(config)#?
  access-list  Add an access list entry
  clear        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 key management
  no           Negate a command or set its defaults
  prefix-list  Build a prefix list
  route-map    Create route-map or enter route-map command mode
  router       Enable a routing process
  show         Show running system information
  stop         stop
RIP(config)# interface?
  IFNAME  Interface's name
RIP(config)# interface eth0
RIP(config-if)#?
  authentication  Authentication control
  description     Interface specific description
  end             End current mode and change to root mode (CTRL+C).
  exit            Back to WANFlex command shell (CTRL+D).
  help            Print command list
  no              Negate a command or set its defaults
  receive         Advertisement reception
  send            Advertisement transmission
  show            Show running system information
  split-horizon   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:

arip start

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

stop (daemon|clear)

Например,

>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":

  • Для стандартных списков доступа

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. Например, команда :

RIP(config)# access-list 1 permit 0.0.0.0 255.255.255.255

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

RIP(config)# access-list 1 permit any

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

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

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
  • Для расширенных списков доступа

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

 

 

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

команда

 

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

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

Таблица - Расширенные списки доступа
  • Для именованных списков

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".

Например,

RIP(config)# access-list TestList1 deny 192.168.1.0/24
RIP(config)# access-list TestList1 permit any

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

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

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" командой:

network A.B.C.D/M

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

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

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

 Например,

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

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

no network A.B.C.D/M
no network WORD

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

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

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

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

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

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

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

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":

default-metric <0-16>

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

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

default-information originate

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

no default-information originate

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

split-horizon [poisoned-reverse]

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

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

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

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

no split-horizon

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

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

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

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

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

Например,

RIP> configure
RIP(config)# route-map testmap permit 10
RIP(config-route-map)#

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

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":

set metric <0-4294967295>

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

on-match goto <1-65535>
on-match next

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

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
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, любой другой адресат не приведет к анонсированию маршрута канала к нему.

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

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

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

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

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

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

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

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

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

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

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

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

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

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" позволяет изменить значения таймеров:

timers basic update timeout garbage

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

no timers basic

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

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

show access-list

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

show memory

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

show rip

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

show route

Команда распечатывает таблицу маршрутов

  • No labels