Содержание
Описание
Модуль ARIP представляет собой реализацию стандартного протокола маршрутизации RIP. Модуль маршрутизации поддерживает две версии протокола: RIP-1 и RIP-2. Настройка модуля осуществляется с использованием команды "arip" .
ARIP имеет свою командную оболочку (КО). Чтобы попасть в командную оболочку, сначала нужно запустить модуль командой "arip start". Вход в оболочку осуществляется вводом одноимённой команды. Команды, вводимые в КО, нечувствительны к регистру букв и допускают произвольное сокращение вплоть до одной буквы, если команда в целом не может быть воспринята КО неоднозначно. В любой момент можно получить справку о наборе команд, для этого используется клавиша "?".
КО может находится в различных режимах:
- Базовый режим;
- RIP configure;
- RIP config-if;
- RIP config-router;
- RIP config-route-map.
Режим отображается вместе с префиксом команды в виде "RIP(режим)#". На рисунке ниже показана диаграмма переходов между режимами КО. Изначально КО находится в базовом режиме, который содержит набор команд только для просмотра текущего состояния маршрутизатора. Переход в режим конфигурации разрешен только для пользователя системы, имеющего привилегии "super-user". После перехода в режим конфигурации выполняется его блокировка. Таким образом, вход в этот режим с другого терминала (например, другая сессия "telnet") будет невозможен. Для исключения "мертвой" блокировки КО автоматически выходит из режимов конфигурации, если в течение 2 минут не поступало никаких команд.
Команды могут иметь аргументы, которые указываются в различных форматах. Формат значения аргумента описывается в справке о наборе команд ("?") или в списке команд (параметр "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".Наличие такого префикса приводит к отмене (удалению) соответствующего параметра конфигурации.
Синтаксис:
configure Configuration access-list Add an access list entry clear Reset functions end End current mode and change to root mode (CTRL+C). exit Back to command shell (CTRL+D). help Print command list interface Select an interface to configure authentication Authentication control description Interface specific description 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 receive Advertisement reception send Advertisement transmission show Show running system information split-horizon Perform split horizon 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 end 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
Параметры
Параметр | Описание |
---|---|
help | Вывод полного списка команд данного режима, может быть применён в любом режиме КО. |
end | Переход из текущего режима в базовый, для тех же целей служит сочетание клавиш Ctrl+C. |
exit | Выход из КО ARIP. Той же цели служит сочетание клавиш Ctrl+D. |
show | Просмотр состояния маршрутизатора RIP.
|
debug level N | Включает регистрацию отладочной информации модуля RIP в системный журнал.
|
configure | Осуществляет переход в режим ARIP configure. |
Режим ARIP configure | |
stop (daemon|clear) | Останов модуля RIP:
|
access-list | Списки доступа применяются в настройках маршрутизатора в качестве фильтров, помимо этого, они так же используются для установки условий соответствия при настройке карты маршрутов. Списки доступа состоят из набора операторов. Каждый оператор состоит из диапазона IP-адресов (условия соответствия) и решения: "deny" – отвергнуть; "permit" – принять. Диапазон IP-адресов записывается в виде "<адрес> <маска>". При принятии решения о вхождении проверяемого объекта в список доступа, по отношению к нему последовательно применяется каждый оператор списка до тех пор, пока не будет обнаружено соответствие. Если соответствие объекта оператору списка доступа было обнаружено, то проверка завершается, а в отношении объекта будет применено решение, указанное в соответствующем операторе. Новые операторы безусловно добавляются в конец списка. Таким образом, при фильтрации, последовательность просмотра операторов списка доступа определяется только последовательностью их добавления. В маршрутизаторе RIP применяется три типа списков доступа.
Подробное описание команд для управления списками доступа находится ниже в подразделе "Объекты фильтрации". |
prefix-list | Списки префиксов, как и списки доступа, применяются в настройках маршрутизатора в качестве фильтров и работают по тем же принципам, однако имеют ряд отличий в операторах. Во-первых, каждый оператор может иметь, кроме диапазона и решения, еще и порядковый номер (1-4294967295), в соответствии с которыми эти списки сортируются.Это позволяет управлять последовательностью просмотра операторов при фильтрации объектов. Если порядковый номер не указан, то маршрутизатор назначает его автоматически путем прибавления 5 к порядковому номеру последнего оператора в списке. Таким образом, новый оператор будет иметь самый большой номер и, соответственно, будет расположен в самом конце списка. Во-вторых, имеется возможность установить в качестве условия фильтрации длину маски.
Подробное описание команд для управления списками префиксов приведено ниже в подразделе "Объекты фильтрации". |
clear prefix-list WORD | Удаляет список префиксов с именем "WORD". |
key chain WORD | Позволяет утановить ключ, который будет использован при аутентификации. Аргумент "WORD" – определяет имя цепочки ключей. После применеия команды, КО перейдёт в режим "RIP(config-keychain)#", где появится возможность установить идентификатор ключа в диапазоне от 0 до 2147483647. После чего в режиме "RIP(config-keychain-key)#" настраиваются следующие параметры:
Подробнее процесс аутентификации описывает параметр "authentication" режима "config-if". |
router | Переход в режим "config-router" для настройки маршрутизатора. Подробное описание команд данного режима преведено в подразделе "Режим ARIP config-router". |
route-map WORD (deny|permit) <1-65535> | Создаёт карту маршрутов, которая служит для более гибкого назначения типа и значения метрики. После выполнения командная оболочка ARIP переходит в режим редактирования выбранной записи карты маршрутов "config-route-map".
Карта маршрутов содержит последовательность записей-условий. Каждая запись описывается следующими параметрами:
|
interface IFNAME | Переход в режим "config-if". Подробное описание команд данного режима представлено в подразделе "Режим config-if".
|
Режим ARIP config-router | |
network (A.B.C.D/M|WORD) | Подключает RIP на оперделенном сетевом интерфейсе.
|
neighbor A.B.C.D | Устанавливает прямую связь между маршрутизторами, применяется в случаях, когда не все маршрутизаторы понимают мультикастовые запросы.
|
redistribute (kernel|connected|static|ospf) [metric <0-16777214>] [route-map WORD] | Служит для анонсирования внешних каналов. Ретранслирует маршруты:
|
distribute-list (WORD|prefix) (in|out) [WORD] | Позволяет определить критерий, по которому маршрутизатор будет анонсировать тот или иной канал.
|
default-metric <1-16> | Позволяет установить метрику по умолчанию. Если не установлена явно, то значение равно 1. |
default-information originate | Используется для того, чтобы маршрутизатор заявлял о наличии у него канала к "default route", в противном случае он не будет этого делать, даже если канал к "default route" явно прописан в системной таблице маршрутизации администратором. |
route-map WORD (in|out) IFNAME | Включает использование определённой карты маршрутов на определённом интерфейсе.
|
timers basic update timeout garbage | Изменяет значение таймеров.
|
distance <1-255> [A.B.C.D/M] | Устанавливает значение административной дистанции в диапазоне от 1 до 255 для маршрутов, полученных из определённого источника.
|
offset-list WORD (in|out) [IFNAME] | Позволяет изменять входящую/исходящую метрику маршрутов.
|
passive-interface (IFNAME|default) | Используется для управления обновлением информации о маршрутизации. Включает подавление обновлений маршрутов через некоторые интерфейсы, однако разрешает проводить обмен обновлениями через другие интерфейсы в обычном режиме.
|
route A.B.C.D/M | Позволяет настраивать статические маршруты в рамках модуля RIP.
|
version <1-2> | Устанавливает используемую версию протокола RIP. |
tagged | Включает режим присвоения метки. |
Режим ARIP config-if | |
split-horizon [poisoned-reverse] | Включает алгоритм "расщепления горизонта" на определенном сетевом интерфейсе. Алгоритм "расщепления горизонта" без параметра "poisoned-reverse" включен по умолчанию.
|
authentication (key-chain LINE|mode (md5|text)|string LINE) | Устанавливает аутентификацию для определенного интерфейса, представляет собой проверку подлинности отправителя входящих пакетов протокола. Используется для предотвращения несанкционированного подключения маршрутизаторов к RIP-системе. По умолчанию у маршрутизатора не установлено никакой аутентификации ("null"-аутентификация).
|
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). |
Режим 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> | Позволяет устанавливать условие соответствия импортируемого маршрута. Для одной записи допускается устанавливать несколько различных условий. Если задано несколько условий, то они объединяются по правилу "и".
|
set metric <0-4294967295>|next-hop A.B.C.D|tag <0-65535> | Устанавливает значения метрики канала, следующего узла и метки канала, образуемого из этого маршрута, если маршрут отвечает всем условиям записи.
|
on-match (goto <1-65535>)|next | Определяет сценарий дальнейшего поведения, если объект соответствует всем условиям записи.
ПРЕДОСТЕРЕЖЕНИЕ Для того чтобы определённая карта маршрутов использовалась определённым интерфейсом, необходимо применить команду "route-map" в режиме "config-router". |
Объекты фильтрации
Списки доступа
Для создания или изменения списков доступа маршрутизатора RIP предназначены следующие параметры режима "config".
Стандартный список:
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". Приведенные ниже команды – тождественны.
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 (<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" – диапазон адресов назначения.
Именованный список:
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".
Списки префиксов
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". RIP(config-router)# network 4.7.8.0/24 |
Установим аутентификацию с использованием электронного ключа. Для этого командой "key chain" создадим цепочку ключей "TEST" с идентификатором ключа "123" и назначим секретному ключу значение "TESTTEST". RIP(config)# key chain TEST RIP(config-keychain)# key 123 RIP(config-keychain-key)# key-string TESTTEST Активируем режим аутентификации MD5, выберем секретный ключ с именем "TESTTEST". RIP(config-if)# authentication mode md5 RIP(config-if)# authentication key-chain TESTTEST Для того что бы отменить аутентификацию воспользуемся параметром "no". RIP(config-if)# no authentication mode md5 |
К интерфейсу "eth0" применим настройки, что бы он пропускал только те пакеты, которые маршрутизируются в "10.0.0.0/8". Для этого в режиме "config" создадим именованый список доступа "private" разрешающий доступ с IP-адреса "10.0.0.0/8" и запрещающий все остальные. После чего в режиме "config-router" применим данный список к интерфейсу "eth0". 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, любой другой адресат не приведет к анонсированию маршрута канала к нему. 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 |