...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Задать версию Netflow-протокола. | esr(config)# netflow version <VERSION> | <VERSION> – версия Netflow-протокола: 5, 9 и 10. |
2 | Установить максимальное количество наблюдаемых сессий. | esr(config)# netflow max-flows <COUNT> | <COUNT> – количество наблюдаемых сессий, принимает значение [10000..2000000]. Значение по умолчанию: 512000. |
3 | Установить интервал, по истечении которого информация об активных сессиях экспортируются на коллектор. | esr(config)# netflow active-timeout <TIMEOUT> | <TIMEOUT> – интервал времени, по истечении которого информация об активных сессиях экспортируются на коллектор, задается в секундах, принимает значение [5..36000]. Значение по умолчанию: 1800 секунд. |
4 | Установить интервал, по истечении которого информация об устаревших сессиях экспортируются на коллектор. | esr(config)# netflow inactive-timeout <TIMEOUT> | <TIMEOUT> – задержка перед отправкой информации об устаревших сессиях, задается в секундах, принимает значение [0..240]. Значение по умолчанию: 15 секунд. |
5 | Установить частоту отправки статистики на Netflow-коллектор. | esr(config)# netflow refresh-rate <RATE> | <RATE> – частота отправки статистики, задается в пакетах на поток, принимает значение [1..10000]. Значение по умолчанию: 10. |
6 | Активировать Netflow на маршрутизаторе. | esr(config)# netflow enable | |
7 | Создать коллектор Netflow и перейти в режим его конфигурирования. | esr(config)# netflow collector <ADDR> | <ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Установить порт Netflow-сервиса на сервере сбора статистики. | esr(config-netflow-host)# port <PORT> | <PORT> – номер UDP-порта, указывается в диапазоне [1..65535]. Значение по умолчанию: 2055. |
9 | Включить отправку статистики на Netflow-сервер в режим конфигурирования интерфейса/туннеля/сетевого моста. | esr(config-if-gi)# ip netflow export |
Scroll Pagebreak |
---|
Задача:
Организовать учет трафика с интерфейса gi1/0/1 для передачи на сервер через интерфейс gi1/0/8 для обработки.
...
Блок кода |
---|
esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# ip netflow export |
Scroll Pagebreak |
---|
Активируем Netflow на маршрутизаторе:
...
Настройка Netflow для учета трафика между зонами аналогична настройке sFlow, описание приведено в разделе Настройка sFlow.
Scroll Pagebreak |
---|
Якорь |
---|
...
|
...
|
SFlow sFlow — стандарт для мониторинга компьютерных сетей, беспроводных сетей и сетевых устройств, предназначенный для учета и анализа трафика.
...
Шаг | Описание | Команда | Ключи | |||||
---|---|---|---|---|---|---|---|---|
1 | Установить частоту отправки пакетов пользовательского трафика в неизменном виде на sFlow-коллектор. | esr(config)# sflow sampling-rate <RATE> | <RATE> – частота отправки пакетов пользовательского трафика на коллектор, принимает значение [1..1000000065535]. При значении частоты 10 на коллектор будет отправлен один пакет из десяти. Значение по умолчанию: 1000. | |||||
2 | Установить интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса. | esr(config)# sflow poll-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса, принимает значение [1..10000300] секунд. Значение по умолчанию: 10 секунд. | |||||
3 | Активировать sFlow на маршрутизаторе. | esr(config)# sflow enable | 4 | Создать коллектор sFlow и перейти в режим его конфигурирования. | esr(config)# sflow collector <ADDR> [ vrf <VRF> ] | <ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <VRF> – имя экземпляра VRF, задаётся строкой до 31 символа. | 5 | Включить отправку статистики на sFlow-сервер в |
4 | Указать порт sFlow-коллектора (необязательно). | esr(config-sflow-host)# port <PORT> | <PORT> – номер UDP-порта, указывается в диапазоне [1..65535]. | |||||
5 | Установить адрес sFlow-агента (необязательно). | esr(config)# sflow agent-ip <ADDR> | <ADDR> – IPv4/IPv6-адрес агента sFlow. Если команда не указана, то в качестве адреса агента будет использован случайный адрес из присутствующих в конфигурации. | |||||
6 | Активировать сервис sFlow на маршрутизаторе. | esr(config)# sflow enable | ||||||
7 | В режиме конфигурирования интерфейса/туннеля/сетевого моста включить отправку статистики sFlow. | esr(config-if-gi)# ip sflow export |
...
Zabbix-agent — агент, предназначенный для мониторинга устройства, а также выполнения удаленных команд с Zabbix-cервера. Агент может работать в двух режимах: пассивный и активный. Для работы в пассивном режиме, по умолчанию, необходимо разрешающее правило в firewall — протокол tcp, порт 10050. Для активного режима – протокол tcp, порт 10051.
Zabbix-прокси — это процессcервис, способный собирать данные мониторинга с одного или нескольких наблюдаемых устройств и отправлять эту информацию Zabbix-серверу.
...
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в контекст настройки агента/proxy. | esr(config-zabbix-agent)# zabbix-agent esr(config-zabbix-proxy)# zabbix-proxy | |
2 | Указать имя узла сети (опционально). Для активного режима имя должно совпадать с именем узла сети на Zabbix-cервере. | esr(config-zabbix-agent)# hostname <WORD> esr(config-zabbix-proxy)# hostname <WORD> | <WORD> – имя узла сети, задается строкой до 255 символов. |
3 | Указать адрес Zabbix-cервера. | esr(config-zabbix-agent)# server <ADDR> esr(config-zabbix-proxy)# server <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | Указать адрес сервера для активных проверок (при использовании активного режима). | esr(config-zabbix-agent)# active-server <ADDR> <PORT> esr(config-zabbix-proxy)# active-server <ADDR> <PORT> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. <PORT> – порт сервера, задается в диапазоне [1..65535]. Значение по умолчанию 10051. |
5 | Указать порт, который будет слушать агент/прокси (не обязательно). | esr(config-zabbix-agent)# port <PORT> esr(config-zabbix-proxy)# port <PORT> | <PORT> – порт, который слушает zabbix-агент/прокси, задается в диапазоне [1..65535]. Значение по умолчанию: 10050. |
6 | Разрешить выполнение удаленных команд zabbix-агентом/прокси (при использовании активного режима). | esr(config-zabbix-agent)# remote-commands esr(config-zabbix-proxy)# remote-commands | |
7 | Указать адрес, с которого будет осуществляться взаимодействием с сервером (не обязательно). | esr(config-zabbix-agent)# source-address <ADDR> esr(config-zabbix-proxy)# source-address <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Указать время обработки удаленных команд (не обязательно). | esr(config-zabbix-agent)# timeout <TIME> esr(config-zabbix-proxy)# timeout <TIME> | <TIME> – время ожидания, определяется в секундах [1..30]. Значение по умолчанию 3. Рекомендуется устанавливать максимальное значение, т. к. некоторые команды могут выполняться дольше значения по умолчанию. Если за указанное время команда не будет выполнена, то обработка команды будет прекращена. |
9 | Указать место хранения базы данных для Zabbix-proxy ( не обязательно). | esr(config-zabbix-proxy)# database <PATH> | <PATH> – место хранения базы данных Zabbix-proxy. По умолчанию база данных Zabbix хранится в энергозависимой памяти маршрутизатора. |
10 | Указать интервал запроса конфигурации от Zabbix-сервера (не обязательно). | esr(config-zabbix-proxy)# config-retrieve <TIME> | <TIME> – время между опросами в секундах, принимает значения [1..604800]. Значение по умолчанию: 3600. |
11 | Включить функционал агента/прокси. | esr(config-zabbix-agent)# enable esr(config-zabbix-proxy)# enable | |
1012 | Разрешить из соответствующей зоны безопасности firewall обращение к маршрутизатору (в зону self) по TCP-портам 10050, 10051. См. раздел Конфигурирование Firewall. |
...
Настроить взаимодействие между агентом и сервером для выполнения удаленных команд с сервера.
Scroll Pagebreak |
---|
В контексте настройки агента укажем адрес Zabbix-cервера и адрес, с которого будет осуществляться взаимодействие с сервером:
Блок кода |
---|
esr(config-zabbix-agent)# server 192.168.32.101 esr(config-zabbix-agent)# source-address 192.168.39.170 |
...
Блок кода |
---|
esr(config-zabbix-agent)# hostname ESR-agent esr(config-zabbix-agent)# active-server 192.168.32.101 esr(config-zabbix-agent)# remote-commands |
Зададим время выполнения удаленных команд и активируем функционал агента:
Блок кода |
---|
esr(config-zabbix-agent)# timeout 30 esr(config-zabbix-agent)# enable |
Scroll Pagebreak |
---|
Пример настройки zabbix-server
...
Задать режим локального и удаленного резервного копирования конфигурации:
Блок кода |
---|
esr(config-archive)# type both |
Настроить путь для удаленного копирования конфигураций и максимальное количество локальных резервных копий:
...
Блок кода |
---|
esr(config)# show archive configuration |
Настройка SLA
Якорь | ||||
---|---|---|---|---|
|
IP SLA (Internet Protocol Service Level Agreement) — технология измерения активных компьютерных сетей. На маршрутизаторах ESR, сервис IP SLA использует непрерывную генерацию трафика для тестирования качественных и количественных характеристик каналов связи в сети передачи данных на базе протокола IP. Два основных понятия при рассмотрении сервиса IP SLA: SLA-agent (SLA-sender) – тестирующий маршрутизатор, отправляющий запросы; SLA-responder – удаленный/тестируемый маршрутизатор или произвольный хост, принимающий запросы от SLA-sender.
Алгоритм настройки SLA-теста
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Создать в системе новый SLA-тест и перейти в режим его конфигурирования. | esr(config)# ip sla test <NUM> | <NUM> – номер SLA-теста, задается в диапазоне [1..10000]. |
2 | Задать режим тестирования канала связи и параметры тестирования. Разные режимы подразумевают различный набор параметров, которые необходимо указать. Для одного SLA-теста возможно указать только один набор параметров тестирования. | ||
2.1 | Конфигурирование ICMP-режима тестирования канала связи. | esr(config-sla-test)# icmp-echo <DST-ADDRESS> { source-ip <SRC-ADDRESS> | source-interface { <IF> | <TUN> } } [ interval <INTERVAL> ] [ num-packets <NUM-PACKETS> ] | <DST-ADDRESS> – IPv4-адрес, на который будут направляться тестовые пакеты. Задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <SRC-ADDRESS> – IPv4-адрес, с которого будут отправляться тестовые пакеты. Задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IF> – тип и идентификатор интерфейса, IP-адрес которого будет использоваться в качестве адреса источника пакетов. Задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – тип и идентификатор туннеля, IP-адрес которого будет использоваться в качестве адреса источника пакетов. Задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <INTERVAL> – интервал между отправкой каждого последующего тестового пакета. Может принимать значение [1..255] миллисекунд; <NUM-PACKETS> – количество тестовых пакетов, отправляемых в рамках одной сессии тестирования. Может принимать значение [1..100000]. |
2.2 | Конфигурирование UDP-режима тестирования канала связи. Для успешной сессии тестирования UDP-режим предполагает сконфигурированный Eltex SLA-responder на удаленной стороне. | esr(config-sla-test)# udp-jitter <DST-ADDRESS> <DST-PORT> { source-ip <SRC-ADDRESS> | source-interface { <IF> | <TUN> } } [ source-port <SRC-PORT> ] [ interval <INTERVAL> ] [ num-packets <NUM-PACKETS> ] | <DST-ADDRESS> – IPv4-адрес, на который будут направляться тестовые пакеты. Задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <DST-PORT> – номер UDP-порта назначения тестовых пакетов, принимает значения [1..65535]; <SRC-ADDRESS> – IPv4-адрес, с которого будут отправляться тестовые пакеты. Задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IF> – тип и идентификатор интерфейса, с IP-адреса которого будут отправляться тестовые пакеты. Задаётся в виде, описанном в разделе Типы и порядок именования интерфейсов маршрутизатора; <TUN> – тип и идентификатор туннеля, с IP-адреса которого будут отправляться тестовые пакеты. Задаётся в виде, описанном в разделе Типы и порядок именования туннелей маршрутизатора; <SRC-PORT> – номер UDP-порта источника тестовых пакетов, принимает значения [1..65535]; <INTERVAL> – интервал между отправкой каждого последующего тестового пакета. Может принимать значение [1..255] миллисекунд; <NUM-PACKETS> – количество тестовых пакетов, отправляемых в рамках одной сессии тестирования. Может принимать значение [1..100000]. |
3 | Установить значение dscp, которым будут помечаться тестовые пакеты (необязательно). | esr(config-sla-test)# dscp <DSCP> | <DSCP> – значение кода DSCP, может принимать значение [0..63]. |
4 | Установить частоту перезапуска SLA-теста (необязательно). | esr(config-sla-test)# frequency <TIME> | <TIME> – частота перезапуска SLA-теста, может принимать значение [1..604800] секунд. |
5 | Установить размер исходящего тестового пакета (необязательно). | esr(config-sla-test)# packet-size <SIZE> | <SIZE> – размер тестового пакета SLA-теста, может принимать значение [70..10000] байт. |
6 | Установить максимальное время ожидания ответа от удаленной стороны на тестовый пакет (необязательно). | esr(config-sla-test)# timeout <TIME> | <TIME> – время ожидания ответного пакета от удаленной стороны, может принимать значение [1..4294967295] миллисекунд. |
7 | Установить значение TTL для исходящих пакетов SLA-теста (необязательно). | esr(config-sla-test)# ttl <TTL> | <TTL> – значение TTL, может принимать значение [1..255]. |
8 | Указать экземпляр VRF,в адресном пространстве которого должен работать SLA-тест (если такое подразумевается конфигурацией). | esr(config-sla-test)# vrf <VRF> | <VRF> – имя экземпляра VRF, задаётся строкой до 31 символа. |
9 | Установить пороги срабатывания информационных сообщений (необязательно). | esr(config-sla-test)# thresholds <TYPE> { high <VALUE_H> | low <VALUE_L> | forward { high <VALUE_H> | low <VALUE_L> } | reverse {high <VALUE_H> | low <VALUE_L> } } | <TYPE> – тип отслеживаемой величины, может принимать значения:
<VALUE_H> – верхнее пороговое значение, при пересечении которого будет производиться информирование; <VALUE_L> – нижнее пороговое значение, при пересечении которого будет производиться информирование. |
10 | Настроить параметры аутентификации, согласно алгоритму настройки параметров аутентификации (необязательно). | ||
11 | Активировать SLA-тест. | esr(config-sla-test)# enable | |
12 | Выйти из параметров конфигурирования SLA-теста. | esr(config-sla-test)# exit | |
13 | Задать расписание запуска активированных SLA-тестов. | esr(configt)# ip sla schedule { <TEST-NUMBER> | all } [ life { <LIFE-TIME> | forever } ] [ start-time { <MONTH> <DAY> <TIME> | now } ] | <TEST-NUMBER> – номер SLA-теста, может принимать значение [1..10000]. При использовании ключа "all" вместо номера, устанавливается расписание работы для всех активированных SLA-тестов; <LIFE-TIME> – время жизни теста, может принимать значение [1..2147483647] секунд; forever – время жизни теста не ограничено; <TIME> – время начала теста, задаётся в виде HH:MM:SS, где: HH – часы, может принимать значение [0..23]; MM – минуты, может принимать значение [0..59]; SS – секунды, может принимать значение [0..59]; <MONTH> – месяц начала теста, принимает значения [ January / February / March / April / May / June / July / August / September / October / November / December ]; <DAY> – день месяца начала теста, может принимать значение [1..31]; now – начать тест немедленно. |
14 | Активировать вывод информационных сообщений групп событий (необязательно). Каждая из групп активируется отдельно. | esr(configt)# ip sla logging <TYPE> | <TYPE> – название группы информационных сообщений, может принимать значения:
|
15 | Активировать сервис SLA-agent. | esr(configt)# ip sla |
Настройка SLA-responder
Якорь | ||||
---|---|---|---|---|
|
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | В режиме конфигурирования интерфейса на маршрутизаторе, который является удаленной стороной SLA-теста, активировать SLA-responder. | esr(config-if-gi)# ip sla responder <TYPE> | <TYPE> – название целевой платформы SLA-agent, может принимать значения:
|
2 | Установить UDP-порт, на котором будет идти прослушивание запросов аутентификации от SLA-agent (если при конфигурировании SLA-теста был указан порт прохождения контрольной фазы, отличный от порта по умолчанию). | ||
2.1 | Конфигурирование UDP-порта для прослушивания запросов аутентификации от Eltex SLA-agent (необязательно). | esr(config)# ip sla responder eltex port <PORT> | <PORT> – номер UDP-порта, может принимать значение [1..65535]. |
2.2 | Конфигурирование UDP-порта для прослушивания запросов аутентификации от Cisco SLA-agent (необязательно). | esr(config)# ip sla responder cisco port <PORT> | <PORT> – номер UDP-порта, может принимать значение [1..65535]. |
Пример настройки ICMP-режима тестирования
Задача:
Настроить постоянную проверку доступности публичного DNS-сервера с IP-адресом 8.8.8.8. Интерфейс, имеющий доступ в сеть Интернет gi1/0/1, имеет адрес 192.168.44.15.
Решение:
Для выяснения сетевой доступности достаточной является проверка с помощью ICMP-запросов. Для этого настроим SLA-тест с типом icmp-echo и всеми параметрами по умолчанию:
Блок кода |
---|
esr# configure esr(config)# ip sla test 1 esr(config-sla-test)# icmp-echo 8.8.8.8 source-ip 192.168.44.15 esr(config-sla-test)# enable esr(config-sla-test)# exit esr(config)# ip sla schedule 1 life forever start-time now |
Также включим логирование событий смены статуса теста и сообщений о причинах неудачи (на случай, если адрес перестанет быть доступен).
Блок кода |
---|
esr(config)# ip sla logging status
esr(config)# ip sla logging error
esr(config)# ip sla
esr(config)# exit
esr# commit
|
После применения конфигурации тест стартует, и выводится сообщение о его текущем состоянии:
Блок кода |
---|
esr# 2023-12-13T14:01:55+00:00 %IP_SLA-I-STATUS: (test 1) State changed to success
|
Scroll Pagebreak |
---|
Сводную информацию о результате и конфигурации теста можно вывести командой:
Блок кода |
---|
esr# show ip sla test status
Test Type Source Destination Status Last Run
------- ------------ ---------------- ---------------- ------------ ------------------
1 icmp-echo 192.168.44.15 8.8.8.8 Successful 1 second(s) ago
|
Пример настройки UDP-режима тестирования
Задача:
Настроить тестирование качества канала связи между двумя маршрутизаторами ELTEX. Маршрутизаторы находятся в одной подсети 198.18.3.0/24.
Решение:
Измерение качества канала связи (задержки, потери, дубликаты при передаче трафика и др.) возможно с использованием UDP-тестирования. Сконфигурируем SLA-тест с типом udp-jitter, который будет измерять количественные характеристики канала связи, а также сигнализировать о превышении установленных порогов.
Сконфигурируем на R1 SLA-тест udp-jitter с адресом назначения R2 (198.18.3.20). Поскольку ограничений на выбор портов не обозначено, воспользуемся портами 20002 на отправку и на получение. Также укажем интервал между пакетами, равный 10 мс, чтобы ускорить общий поток тестового трафика.
Блок кода |
---|
R1# configure
R1(config)# ip sla test 2
R1(config-sla-test)# udp-jitter 198.18.3.20 20002 source-ip 198.18.3.10 source-port 20002 interval 10
|
Далее установим пороговые значения для информирования об ухудшении качества канала: максимальные значения двусторонней задержки – 15 мс, джиттера – 5мс и потерь – 5 пакетов (из 100 в настройках по умолчанию):
Блок кода |
---|
R1(config-sla-test)# thresholds delay high 15
R1(config-sla-test)# thresholds jitter forward high 5
R1(config-sla-test)# thresholds jitter reverse high 5
R1(config-sla-test)# thresholds losses high 5 |
Scroll Pagebreak |
---|
Активируем тест и зададим расписание, согласно которому тест запустится немедленно и не будет иметь ограничений по следующим перезапускам:
Блок кода |
---|
R1(config-sla-test)# enable
R1(config)# ip sla schedule 2 start-time now life forever |
Включим отображение всех групп сообщений, активируем сервис SLA-agent и применим конфигурацию:
Блок кода |
---|
R1(config)# ip sla logging status
R1(config)# ip sla logging error
R1(config)# ip sla logging delay
R1(config)# ip sla logging jitter
R1(config)# ip sla logging losses
R1(config)# ip sla
R1(config)# exit
R1# commit |
Тест будет завершаться ошибкой до тех пор, пока не будет активирован Eltex SLA-responder на второй стороне – маршрутизаторе R2:
Блок кода |
---|
R1# 2023-12-13T14:01:55+00:00 %IP_SLA-I-STATUS: (test 2) State changed to fail
R1# 2023-12-13T14:01:55+00:00 %IP_SLA-E-ERROR: (test 2) Control phase failed: destination host is not responding |
Для этого перейдем в режим конфигурирования интерфейса, адрес которого ранее был указан как адрес назначения SLA-теста, и включим на нем Eltex SLA-responder:
Блок кода |
---|
R2(config)# interface gigabitethernet 1/0/1
R2(config-if-gi)# ip sla responder eltex
R2(config-if-gi)# exit
R2(config)# exit
R2# commit |
Подсказка |
---|
Порт назначения пакетов аутентификации по умолчанию – 1800 и должен быть открыт на R2. Если прохождение трафика по данному порту запрещено, необходимо изменить настройку портов, воспользовавшись алгоритмом настройки параметров аутентификации, а также командами из раздела Настройка SLA-Responder. |
После активации SLA-responder тест перейдет в состояние 'Успешно'.
Блок кода |
---|
2023-12-13T15:35:32+00:00 %IP_SLA-I-STATUS: (test 2) State changed to success |
При ухудшении характеристик канала и, вследствие, превышения обозначенных пороговых значений, на R1 будут выводиться сообщения вида:
Блок кода |
---|
2023-12-13T15:59:22+00:00 %IP_SLA-I-DELAY: (test 2) Two-way delay is high: 50.71ms > 15ms
2023-12-13T16:00:40+00:00 %IP_SLA-I-LOSSES: (test 2) Total losses are high: 43 > 5
2023-12-13T16:04:04+00:00 %IP_SLA-I-JITTER: (test 2) One-way jitter in forward direction is high: 9.41ms > 5ms
2023-12-13T16:04:04+00:00 %IP_SLA-I-JITTER: (test 2) One-way jitter in reverse direction is high: 9.41ms > 5ms |
Просмотреть результаты измерений теста можно командой:
Блок кода |
---|
R1# show ip sla test statistics 2
Test number: 2
Test status: Successful
Transmitted packets: 100
Lost packets: 39 (39.00%)
Lost packets in forward direction: 0 (0.00%)
Lost packets in reverse direction: 39 (39.00%)
One-way delay forward min/avg/max: 0.08/94.10/130.86 milliseconds
One-way delay reverse min/avg/max: 0.08/94.10/130.86 milliseconds
One-way jitter forward: 35.94 milliseconds
One-way jitter reverse: 35.94 milliseconds
Two-way delay min/avg/max: 0.15/188.19/261.73 milliseconds
Duplicate packets: 5
Out of sequence packets in forward direction: 0
Out of sequence packets in reverse direction: 40 |
Алгоритм настройки параметров аутентификации
Якорь | ||||
---|---|---|---|---|
|
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | В режиме конфигурирования SLA-теста, установить тип алгоритма, который будет использоваться при хешировании ключей аутентификации. | esr(config-sla-test)# control-phase authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм хеширования, принимает значения [sha-256, hmac-sha-256]. |
2 | Задать ключ, который будет использоваться в процессе прохождения контрольной фазы для аутентификации. Может быть использован один из двух видов ключей аутентификации: ключ-строка, указываемая непосредственно в режиме конфигурирования SLA-теста, и ключ, содержащийся в предварительно сконфигурированной связке ключей (key-chain). | ||
2.1 | При использовании ключ-строки установить ее непосредственно в режиме конфигурирования SLA-теста. | esr(config-sla-test)# control-phase authentication key-string ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – строка длиной от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
2.2.1 | При использовании ключа из связки ключей вернуться в общий режим конфигурирования, а затем создать новую связку ключей. | esr(config)# key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор связки ключей, задается строкой длиной до 16 символов. |
2.2.2 | В режиме конфигурирования связки ключей создать новый ключ. | esr(config-key-chain)# key <NUM> | <NUM> – номер-идентификатор ключа в связке ключей, может принимать значение [1..255]. |
2.2.3 | Привязать к созданному ключу ключ-строку. | esr(config-key-chain-key)# key-string ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – строка длиной от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
2.2.4 | Установить период времени, в течение которого данный ключ может использоваться для аутентификации исходящих пакетов (необязательно). | esr(config-keychain-key)# send-lifetime <TIME_B> <DAY_B> <MONTH_B> <YEAR_B> <TIME_E> <DAY_E> <MONTH_E> <YEAR_E> | <TIME_B> – устанавливаемое время начала действия ключа, задаётся в виде HH:MM:SS, где: HH – часы, принимает значение [0..23]; MM – минуты, принимает значение [0 .. 59]; SS – секунды, принимает значение [0 .. 59]. <DAY_B> – день месяца начала действия ключа, принимает значения [1..31]; <MONTH_B> – месяц начала использования ключа, принимает значения [January/February/March/April/May/June/July/August/September/October/November/December]; <YEAR_B> – год начала использования ключа, принимает значения [2001..2037]; <TIME_E> – устанавливаемое время окончания действия ключа, задаётся в виде HH:MM:SS, где: HH – часы, принимает значение [0..23]; MM – минуты, принимает значение [0 .. 59]; SS – секунды, принимает значение [0 .. 59]. <DAY_E> – день месяца окончания действия ключа, принимает значения [1..31]; <MONTH_E> – месяц окончания действия ключа, принимает значения [January/February/March/April/May/June/July/August/September/October /November/December]; <YEAR_E> – год окончания действия ключа, принимает значения [2001..2037]. |
2.2.5 | Установить период времени, в течение которого данный ключ может использоваться для аутентификации входящих пакетов (необязательно). | esr(config-keychain-key)# accept-lifetime <TIME_B> <DAY_B> <MONTH_B> <YEAR_B> <TIME_E> <DAY_E> <MONTH_E> <YEAR_E> | <TIME_B> – устанавливаемое время начала действия ключа, задаётся в виде HH:MM:SS, где: HH – часы, принимает значение [0..23]; MM – минуты, принимает значение [0 .. 59]; SS – секунды, принимает значение [0 .. 59]. <DAY_B> – день месяца начала действия ключа, принимает значения [1..31]; <MONTH_B> – месяц начала использования ключа, принимает значения [January/February/March/April/May/June/July/August/September/October/November/December]; <YEAR_B> – год начала использования ключа, принимает значения [2001..2037]; <TIME_E> – устанавливаемое время окончания действия ключа, задаётся в виде HH:MM:SS, где: HH – часы, принимает значение [0..23]; MM – минуты, принимает значение [0 .. 59]; SS – секунды, принимает значение [0 .. 59]. <DAY_E> – день месяца окончания действия ключа, принимает значения [1..31]; <MONTH_E> – месяц окончания действия ключа, принимает значения [January/February/March/April/May/June/July/August/September/October /November/December]; <YEAR_E> – год окончания действия ключа, принимает значения [2001..2037]. |
2.2.6 | Вернуться в общий режим конфигурирования и привязать ранее созданную связку ключей к сервису SLA. | esr(config)# ip sla key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор связки ключей, задается строкой длиной до 16 символов. |
2.2.7 | Перейти в режим конфигурирования ранее созданного SLA-теста и установить необходимый ключ из связки ключей, указав его номер. | esr(config-sla-test)# control-phase authentication key-id <NUM> | <NUM> – номер-идентификатор ключа в связке ключей, может принимать значение [1..255]. |
3 | Указать порт, на который будут направляться пакеты для аутентификации в ходе контрольной фазы (необязательно). | esr(config-sla-test)# control-phase destination-port <PORT> | <PORT> – номер UDP-порта, может принимать значение [1..65535]. |
4 | Указать порт, с которого будут отправляться пакеты для аутентификации в ходе контрольной фазы (необязательно). | esr(config-sla-test)# control-phase source-port <PORT> | <PORT> – номер UDP-порта, может принимать значение [1..65535]. |
5 | Установить периодичность попыток повторного прохождения контрольной фазы в случае её неудачи. | esr(config-sla-test)# control-phase retry <TIME> | <TIME> – интервал между попытками, может принимать значение [1..86400] секунд. |
6 | Установить максимальное время ожидания ответного пакета аутентификации от удаленной стороны в ходе контрольной фазы. | esr(config-sla-test)# control-phase timeout <TIME> | <TIME> – время ожидания, может принимать значение [1..86400] секунд. |
Далее необходимо симметрично настроить параметры аутентификации на удаленном маршрутизаторе (принимающая сторона). | |||
7 | Перейти в режим конфигурирования сервиса SLA-responder. | esr(config)# ip sla responder [ vrf <VRF> ] | <VRF> – имя экземпляра VRF, задаётся строкой длиной до 31 символа. При указании данного параметра, SLA-responder включается в указанном VRF. |
8 | Установить максимальное время ожидания следующего тестового пакета (необязательно). | esr(config-sla-responder)# timeout <TIME> | <TIME> – время ожидания следующего пакета, может принимать значение [1..4294967295] миллисекунд. |
9 | Установить тип алгоритма, который будет использоваться при хешировании ключей аутентификации. | esr(config-sla-responder)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм хеширования, принимает значения [sha-256, hmac-sha-256]. |
10 | Задать ключ, который будет использоваться для аутентификации приходящих запросов от SLA-agent. Может быть использован один из двух видов ключей аутентификации: ключ-строка, указываемая непосредственно в режиме конфигурирования SLA-responder, и предварительно сконфигурированная связка ключей (key-chain). | ||
10.1 | При использовании ключ-строки установить ее непосредственно в режиме конфигурирования SLA-responder. | esr(config-sla-responder)# authentication key-string ascii-text { <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> } | <CLEAR-TEXT> – строка длиной от 8 до 16 символов; <ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...). |
10.2.1 | При использовании связки ключей необходимо вернуться в общий режим конфигурирования, а затем создать новую связку ключей. Процесс создания повторяет создание связки на тестирующем маршрутизаторе и описан в рамках шагов 2.2.1 - 2.2.5 данного алгоритма. | ||
10.2.2 | Привязать ранее созданную связку ключей к SLA-responder. | esr(config-sla-responder)# authentication key-chain <KEYCHAIN> | <KEYCHAIN> – идентификатор связки ключей, задается строкой длиной до 16 символов. |
Пример конфигурации UDP-теста с аутентификацией по ключ-строке
Задача:
Установить нестандартные порты отправки и получения запросов аутентификации, а для аутентификации использовать ключ-строку. Базовый UDP-тест уже настроен.
Решение:
Конфигурация активного UDP-теста:
Блок кода |
---|
R-sender# show running-config sla
ip sla
ip sla logging error
ip sla logging status
ip sla test 1
udp-jitter 10.0.0.1 20001 source-ip 10.0.0.2 source-port 20002
enable
exit
ip sla schedule 1 life forever start-time now
|
Блок кода |
---|
R-responder# show running-config sla
interface gigabitethernet 1/0/3
ip sla responder eltex
exit
|
Изменим порты отправки и получения запросов аутентификации (пакетов контрольной фазы). Для аутентификации будем использовать порт отправки – 50000 и порт получения – 49500. Для этого укажем их в параметрах SLA-теста:
Блок кода |
---|
R-sender# configure
R-sender(config)# ip sla test 1
R-sender(config)# ip sla test 1
R-sender(config-sla-test)# control-phase destination-port 49500
R-sender(config-sla-test)# control-phase source-port 50000
|
Таким образом, при каждом новом запуске SLA-теста первая пара запрос-ответ будет происходить по адресам 10.0.0.2:50000 ↔ 10.0.0.1:49500, а последующий тестовый трафик – 10.0.0.2:20002 ↔ 10.0.0.1:20001.
Здесь же укажем алгоритм для хеширования ключа и сам ключ:
Блок кода |
---|
R-sender(config-sla-test)# control-phase authentication algorithm sha-256
R-sender(config-sla-test)# control-phase authentication key-string ascii-text sla_password
R-sender(config-sla-test)# end
R-sender# commit
|
Scroll Pagebreak |
---|
Далее необходимо продублировать эти параметры на ответной стороне. Для этого перейдем в режим конфигурирования интерфейса, который выступает SLA-Responder, и укажем порт прослушивания запросов аутентификации:
Блок кода |
---|
R-responder# configure
R-responder(config)# interface gigabitethernet 1/0/3
R-responder(config-if-gi)# ip sla responder eltex port 49500
R-responder(config-if-gi)# exit
R-responder(config)#
|
После этого необходимо перейти в параметры SLA-Responder и указать там тот же алгоритм хеширования и ключ-пароль:
Блок кода |
---|
R-responder(config)# ip sla responder
R-responder(config-sla-responder)# authentication algorithm sha-256
R-responder(config-sla-responder)# authentication key-string ascii-text sla_password
R-responder(config-sla-responder)# end
R-responder# commit
|
Таким образом конфигурации R-sender и R-responder:
Блок кода |
---|
R-sender# show running-config sla
ip sla
ip sla logging error
ip sla logging status
ip sla test 1
control-phase destination-port 49500
control-phase source-port 50000
control-phase authentication algorithm sha-256
control-phase authentication key-string ascii-text encrypted 8CB5107EA7005AFF2D
udp-jitter 10.0.0.1 20001 source-ip 10.0.0.2 source-port 20002
enable
exit
ip sla schedule 1 life forever start-time now
|
Блок кода |
---|
R-responder# show running-config sla
interface gigabitethernet 1/0/3
ip sla responder eltex port 49500
ip sla responder eltex
exit
ip sla responder
authentication algorithm sha-256
authentication key-string ascii-text encrypted 8CB5107EA7005AFF2D
exit
|
Scroll Pagebreak |
---|
Пример конфигурации UDP-теста с аутентификацией по связке ключей
Задача:
Изменить конфигурацию, приведенную в примере выше, используя при этом связки ключей.
Решение:
После указания портов аутентификации, создадим связку ключей и новый ключ:
Блок кода |
---|
R-sender(config)# key-chain SLA_CHAIN
R-sender(config-key-chain)# key 1
R-sender(config-key-chain-key)# key-string ascii-text sla_password
R-sender(config-key-chain-key)# exit
R-sender(config-key-chain)# exit
R-sender(config)#
|
Привяжем созданную связку к SLA-agent, а ключ из связки привяжем к SLA-тесту:
Блок кода |
---|
R-sender(config)# ip sla key-chain SLA_CHAIN
R-sender(config)# ip sla test 1
R-sender(config-sla-test)# control-phase authentication key-id 1
R-sender(config-sla-test)# end
R-sender# commit
|
Аналогичные действия произведем на R-responder. Создадим связку ключей с необходимым ключом и привяжем связку к SLA-Responder:
Блок кода |
---|
R-responder(config)# key-chain SLA
R-responder(config-key-chain)# key 1
R-responder(config-key-chain-key)# key-string ascii-text sla_password
R-responder(config-key-chain-key)# exit
R-responder(config-key-chain)# exit
R-responder(config)# ip sla responder
R-responder(config-sla-responder)# authentication key-chain SLA
R-responder(config-sla-responder)# end
R-responder# commit |
Scroll Pagebreak |
---|
Таким образом конфигурации R-sender и R-responder:
Блок кода |
---|
R-sender# show running-config
key-chain SLA_CHAIN
key 1
key-string ascii-text encrypted 8FB80252A00E5BE802FA0217
exit
exit
ip sla key-chain SLA_CHAIN
ip sla
ip sla logging error
ip sla logging status
ip sla test 1
control-phase destination-port 49500
control-phase source-port 50000
control-phase authentication algorithm sha-256
control-phase authentication key-id 1
udp-jitter 10.0.0.1 20001 source-ip 10.0.0.2 source-port 20002
enable
exit
ip sla schedule 1 life forever start-time now |
Блок кода |
---|
R-responder# show running-config
key-chain SLA
key 1
key-string ascii-text encrypted 8FB80252A00E5BE802FA0217
exit
exit
interface gigabitethernet 1/0/3
***
ip sla responder eltex port 49500
ip sla responder eltex
exit
ip sla responder
authentication algorithm sha-256
authentication key-chain SLA
exit |
Использование связок ключей позволяет комбинировать различные уникальные пароли для аутентификации между SLA-agent и SLA-Responder.