Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 14 Следующий »

Настройка Netflow

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

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

Алгоритм настройки

Шаг

Описание

Команда

Ключи

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


Пример настройки

Задача:

Организовать учет трафика с интерфейса gi1/0/1 для передачи на сервер через интерфейс gi1/0/8 для обработки.

Решение:

Предварительно необходимо настроить адресацию на интерфейсах.

Основной этап конфигурирования:

Укажем IP-адрес коллектора:

esr(config)# netflow collector 10.10.0.2

Включим сбор экспорта статистики Netflow на сетевом интерфейсе gi1/0/1:

esr(config)# interface gigabitethernet 1/0/1
esr(config-if-gi)# ip netflow export

Активируем Netflow на маршрутизаторе:

еsr(config)# netflow enable

Для просмотра статистики Netflow используется команда:

esr# show netflow statistics

Настройка Netflow для учета трафика между зонами аналогична настройке sFlow, описание приведено в разделе Настройка sFlow.

Настройка sFlow

sFlow — стандарт для мониторинга компьютерных сетей, беспроводных сетей и сетевых устройств, предназначенный для учета и анализа трафика.

Алгоритм настройки

ШагОписаниеКомандаКлючи
1Установить частоту отправки пакетов пользовательского трафика в неизменном виде на sFlow-коллектор.

esr(config)# sflow sampling-rate <RATE>

<RATE> – частота отправки пакетов пользовательского трафика на коллектор, принимает значение [1..65535]. При значении частоты 10 на коллектор будет отправлен один пакет из десяти.

Значение по умолчанию: 1000.

2

Установить интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса.

esr(config)# sflow poll-interval <TIMEOUT>

<TIMEOUT> – интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса, принимает значение [1..300] секунд.

Значение по умолчанию: 10 секунд.

3


Создать коллектор sFlow и перейти в режим его конфигурирования.


esr(config)# sflow collector <ADDR> [ vrf <VRF> ]

<ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<VRF> – имя экземпляра VRF, задаётся строкой до 31 символа.

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


Пример настройки

Задача:

Организовать учет трафика между зонами trusted и untrusted.

Решение:

Для сетей ESR создадим две зоны безопасности:

esr# configure
esr(config)# security zone TRUSTED
esr(config-zone)# exit
esr(config)# security zone UNTRUSTED
esr(config-zone)# exit

Настроим сетевые интерфейсы и определим их принадлежность к зонам безопасности:

esr(config)# interface gi1/0/1
esr(config-if-gi)# security-zone UNTRUSTED
esr(config-if-gi)# ip address 10.10.0.1/24
esr(config-if-gi)# exit
esr(config)# interface gi1/0/2-3
esr(config-if-gi)# security-zone TRUSTED 
esr(config-if-gi)# exit
esr(config)# interface gi1/0/2
esr(config-if-gi)# ip address 192.168.1.5/24
esr(config-if-gi)# exit 
esr(config)# interface gi1/0/3 
esr(config-if-gi)# ip address 192.168.3.5/24
esr(config-if-gi)# exit 

Укажем IP-адрес коллектора:

esr(config)# sflow collector 192.168.1.8

Включим экспорт статистики по протоколу sFlow для любого трафика в правиле «rule1» для направления TRUSTED-UNTRUSTED:

esr(config)# security zone-pair TRUSTED UNTRUSTED
esr(config-zone-pair)# rule 1
esr(config-zone-pair-rule)# action sflow-sample
esr(config-zone-pair-rule)# match protocol any
esr(config-zone-pair-rule)# match source-address any
esr(config-zone-pair-rule)# match destination-address any
esr(config-zone-pair-rule)# enable

Активируем sFlow на маршрутизаторе:

еsr(config)# sflow enable

Настройка sFlow для учета трафика с интерфейса осуществляется аналогично настройке Netflow.

Настройка SNMP

SNMP (англ. Simple Network Management Protocol — простой протокол сетевого управления) — протокол, предназначенный для управления устройствами в IP-сетях на основе архитектур TCP/UDP. SNMP предоставляет данные для управления в виде переменных, описывающих конфигурацию управляемой системы.

Алгоритм настройки

Шаг

Описание

Команда

Ключи

1

Включить SNMP-сервер.

esr(config)# snmp-server


2

Определить community для доступа по протоколу SNMPv2c.

esr(config)# snmp-server community <COMMUNITY> [ <TYPE> ]
[ { <IP-ADDR> | <IPV6-ADDR> } ]
[ client-list <OBJ-GROUP-NETWORK-NAME> ]
[ <VERSION> ] [ view <VIEW-NAME> ] [ vrf <VRF> ]

<COMMUNITY> – сообщество для доступа по протоколу SNMP;

<TYPE> – уровень доступа:

  • ro – доступ только для чтения;
  • rw – доступ для чтения и записи.

<IP-ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<OBJ-GROUP-NETWORK-NAME> – имя профиля IP-адресов, от которых обрабатываются snmp-запросы, задаётся строкой до 31 символа;

<VERSION> – версия snmp, поддерживаемая данным community, принимает значения v1 или v2c;

<VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа;

<VRF> – имя экземпляра VRF, из которого будет разрешен доступ, задается строкой до 31 символа.

3

Устанавливает значение переменной SNMP, содержащей контактную информацию.

esr(config)# snmp-server contact <CONTACT>

<CONTACT> – контактная информация, задается строкой до 255 символов.

4

Установить значение кода DSCP для использования в IP-заголовке исходящих пакетов SNMP-сервера (не обязательно).

esr(config)# snmp-server dscp <DSCP>

<DSCP> – значение кода DSCP, принимает значения в диапазоне [0..63].

Значение по умолчанию: 63.

5

Разрешить перезагрузку маршрутизатора при помощи snmp-сообщений (не обязательно).

esr(config)# snmp-server system-shutdown


6

Cоздать SNMPv3-пользователь.

esr(config)# snmp-server user <NAME>

<NAME> – имя пользователя, задаётся строкой до 31 символа.

7

Устанавливает значение переменной SNMP, содержащей информацию о расположении оборудования.

esr(config)# snmp-server location <LOCATION>

<LOCATION> – информация о расположении оборудования, задается строкой до 255 символов.

8

Определить уровень доступа пользователя по протоколу SNMPv3.

esr(config-snmp-user)# access <TYPE>

<TYPE> – уровень доступа:

  • ro – доступ только для чтения;
  • rw – доступ для чтения и записи.

9

Определить режим безопасности пользователя по протоколу SNMPv3.

esr(config-snmp-user)# authentication access <TYPE>

<TYPE> – режим безопасности:

  • auth – используется только аутентификация;
  • priv – используется аутентификация и шифрование данных.

10

Определить алгоритм аутентификации SNMPv3-запросов.

esr(config-snmp-user)# authentication algorithm <ALGORITHM>

<ALGORITHM> – алгоритм шифрования:

  • md 5 – пароль шифруется по алгоритму md5;
  • sha 1 – пароль шифруется по алгоритму sha1.

11

Установить пароль для аутентификации SNMPv3-запросов.

esr(config-snmp-user)# authentication key ascii-text
{ <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;

  • encrypted – при указании команды задается зашифрованный пароль:

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

12

Активировать фильтрацию и установить профиль IP-адресов, с которых могут приниматься SNMPv3-пакеты с данным именем SNMPv3-пользователя.

esr(config-snmp-user)# client-list <NAME>

<NAME> – имя ранее сознанной object-group, задается строкой до 31 символа.

13Указать vrf для SNMPv3-пользователя (не обязательно).esr-21(config-snmp-user)# ip vrf forwarding <VRF><VRF> – имя экземпляра VRF, из которого будет разрешен доступ, задается строкой до 31 символа.

14

Активировать фильтрацию и установить IPv4/IPv6-адрес, которому предоставлен доступ к маршрутизатору под данным SNMPv3-пользователем.

esr(config-snmp-user)# ip address <ADDR>

<ADDR> – IP-адрес клиента, которому предоставлен доступ, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

esr(config-snmp-user)# ipv6 address <ADDR>

<IPV6-ADDR> – IPv6-адрес клиента, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

15

Активировать SNMPv3-пользователя.

esr(config-snmp-user)# enable

Значение по умолчанию: процесс выключен.

16

Определить алгоритм шифрования передаваемых данных.

esr(config-snmp-user)# privacy algorithm <ALGORITHM>

<ALGORITHM> – алгоритм шифрования:

  • aes 128 – использовать алгоритм шифрования AES-128;
  • des – использовать алгоритм шифрования DES.

17

Установить пароль для шифрования передаваемых данных.

esr(config-snmp-user)# privacy key ascii-text
{ <CLEAR-TEXT> | encrypted <ENCRYPTED-TEXT> }

<CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;

<ENCRYPTED-TEXT> – зашифрованный пароль размером от 8 байт до 16 байт (от 16 до 32 символов) в шестнадцатеричном формате (0xYYYY...) или (YYYY...).

18

Установить профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для user.

esr(config-snmp-user)# view <VIEW-NAME>

<VIEW-NAME> – имя SNMP view профиля, на основании которого обеспечивается доступ к OID, задается строкой до 31 символа.

19

Включить передачу SNMP-уведомлений на указанный IP-адрес и перейти в режим настройки SNMP-уведомлений.

esr(config)# snmp-server host
{ <IP-ADDR> | <IPV6-ADDR> } [vrf <VRF>]

<IP-ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255].

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<VRF> – имя экземпляра VRF, в котором находится коллектор SNMP-уведомлений, задается строкой до 31 символа.

20

Определить порт коллектора SNMP-уведомлений на удаленном сервере (не обязательно).

esr(config-snmp-host)# port <PORT>

<PORT> – номер UDP-порта, указывается в диапазоне [1..65535].

Значение по умолчанию: 162.

21Установить IP-адрес для отправки уведомлений на удаленный сервер.esr(config-snmp-host)# source-address { <ADDR> | <IPV6-ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> }

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address.

Значение по умолчанию: IPv4/IPv6 – адрес интерфейса, ближайшего к удаленному SNMP-серверу.

22Установить интерфейс или туннель маршрутизатора, IPv4/IPv6-адрес которого будет использоваться для отправки уведомлений на удаленный сервер.esr(config-snmp-host)# source-interface { <IF> | <TUN> }

<IF> – имя интерфейса устройства, задаётся в виде, описанном в разделе 
Типы и порядок именования интерфейсов маршрутизатора;

<TUN> – имя туннеля устройства, задаётся в виде, описанном в разделе 
Типы и порядок именования туннелей маршрутизатора.

23

Разрешить отправку SNMP-уведомлений различных типов.

esr(config)# snmp-server enable traps <TYPE>

<TYPE> – тип фильтруемых сообщений. Может принимать значения:

config, entry, entry-sensor, environment, envmon, files-operations, flash, flash-operations, interfaces, links, ports, screens, snmp, syslog.

Дополнительные параметры зависят от типа фильтра. См. справочник команд CLI.

24

Создать профиль snmp view, позволяющий разрешать или запрещать доступ к тем или иным OID для community (SNMPv2) и user (SNMPv3).

esr(config)# snmp-server enable traps <TYPE>

<VIEW-NAME> – имя профиля SNMP view, задаётся строкой до 31 символа.

Пример настройки

Задача:

Настроить SNMPv3-сервер с аутентификацией и шифрованием данных для пользователя admin. IP-адрес маршрутизатора ESR – 192.168.52.8, IP-адрес сервера – 192.168.52.41.

 

Решение:

Предварительно нужно выполнить следующие действия:

  • указать зону для интерфейса gi1/0/1;
  • настроить IP-адрес для интерфейсов gi1/0/1.

Основной этап конфигурирования:

Включаем SNMP-сервер:

esr(config)# snmp-server

Создаем пользователя SNMPv3:

esr(config)# snmp-server user admin

Определим режим безопасности:

esr(snmp-user)# authentication access priv

Определим алгоритм аутентификации для SNMPv3-запросов:

esr(snmp-user)# authentication algorithm md5

Установим пароль для аутентификации SNMPv3-запросов:

esr(snmp-user)# authentication key ascii-text 123456789 

Определим алгоритм шифрования передаваемых данных:

esr(snmp-user)# privacy algorithm aes128

Установим пароль для шифрования передаваемых данных:

esr(snmp-user)# privacy key ascii-text 123456789

Активируем SNMPv3-пользователя:

esr(snmp-user)# enable

Определяем сервер-приемник Trap-PDU-сообщений:

esr(config)# snmp-server host 192.168.52.41

Настройка Zabbix-agent/proxy

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


12Разрешить из соответствующей зоны безопасности firewall обращение к маршрутизатору (в зону self) по TCP-портам 10050, 10051. См. раздел Конфигурирование Firewall.

Пример настройки zabbix-agent

Задача:

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

Решение:

В контексте настройки агента укажем адрес Zabbix-cервера и адрес, с которого будет осуществляться взаимодействие с сервером:

esr(config-zabbix-agent)# server 192.168.32.101
esr(config-zabbix-agent)# source-address 192.168.39.170

Для активации активного режима укажем hostname, active-server, а также включим выполнение удаленных команд:

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 

Пример настройки zabbix-server

Создадим узел сети:

Создадим скрипт (Администрирование -> Скрипты -> Создать скрипт)

Маршрутизаторы ESR поддерживают выполнение следующих привилегированных команд:

  • Ping

    zabbix_get -s {HOST.CONN}  -p 10050 -k "system.run[ sudo ping -c 3 192.168.32.101]"

    Клиент (ESR), получивший данную команду от сервера, выполнит ping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.

    Использование ключа "-c" с указанием количества пакетов в тесте — обязательно. Без данного ключа команда ping не остановится самостоятельно и тест не будет считаться завершенным.

  • Ping в VRF

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo  netns -exec -n backup sudo ping 192.168.32.101 -c 5 -W 2 ]"

    Вышеупомянутая команда будет выполнена в заданном VRF с именем backup.

  • Fping

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo fping 192.168.32.101]"

    Клиент (ESR), получивший данную команду от сервера, выполнит fping до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.

  • Fping в VRF

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[sudo  netns-exec -n backup sudo fping 192.168.32.101 ]"
  • Traceroute

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo traceroute 192.168.32.101]

    Клиент (ESR), получивший данную команду от сервера, выполнит traceroute до заданного узла (в нашем примере до 192.168.32.101), и вернет результат серверу.


  • Traceroute в VRF

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo  netns-exec -n backup sudo traceroute 192.168.32.179]"
  • Iperf

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"

    Клиент (ESR), получивший данную команду от сервера, выполнит iperf до заданного сервера (в нашем примере до 192.168.32.101), и вернет результат серверу.


  • Iperf3

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo iperf3 -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
  • Iperf в VRF

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo  netns-exec -n backup sudo iperf -c 192.168.32.101 -u -b 100K -i 1 -t 600]"


  • Iperf3 в VRF 

    zabbix_get -s {HOST.CONN} -p 10050 -k "system.run[ sudo  netns-exec -n backup sudo iperf3 -c 192.168.32.101 -u -b 100K -i 1 -t 600]"
  • Nslookup

    zabbix_get -s  {HOST.CONN} -p 10050 -k "system.run[sudo  nslookup ya.ru ]"

    Клиент (ESR), получивший данную команду от сервера, выполнит nslookup, и вернет результат серверу.


  • Nslookup в VRF

    zabbix_get -s  {HOST.CONN} -p 10050 -k "system.run[sudo  netns-exec  sudo   nslookup ya.ru ]"

    Пример выполнения команды Iperf:

Кроме того, возможно выполнение команд, не требующих привилегий, таких как: snmpget, cat, pwd, wget и др.

Пример выполнения команды snmpget:

Настройка Syslog

Syslog (англ. System Log — системный журнал) — стандарт отправки и регистрации сообщений о происходящих в системе событиях, используется в сетях, работающих по протоколу IP.

Алгоритм настройки

Шаг

Описание

Команда

Ключи

1

Включить отправку syslog-сообщений на snmp-сервер в виде snmp-trap.

esr(config)# syslog snmp


2Активировать или деактивировать отправку на snmp-сервер событий работы отдельных процессов маршрутизатора (не обязательно).

esr(config-syslog-snmp)# match [not] process-name <PROCESS-NAME>

<PROCESS-NAME> – см. в cправочнике команд CLI.

Если описаны разрешающие критерии (match process-name) – логируются только сообщения указанных процессов.

Если указаны запрещающие критерии (match not process-name) – логируются сообщения всех не запрещенных процессов.

По умолчанию разрешено логирование сообщений всех процессов.

3Указать уровень важности сообщений, которые будут отправляться на snmp-сервер.

esr(config-syslog-snmp)# severity <SEVERITY>

<SEVERITY> – уровень важности сообщения, принимает значения (в порядке убывания важности):

  • emerg – в системе произошла критическая ошибка, система неработоспособна;
  • alert – сигналы тревоги, необходимо немедленное вмешательство персонала;
  • crit – критическое состояние системы, сообщение о событии;
  • error – сообщения об ошибках;
  • warning – предупреждения, неаварийные сообщения;
  • notice – сообщения о важных системных событиях;
  • info – информационные сообщения системы;
  • debug – отладочные сообщения, предоставляют пользователю информацию для корректной настройки системы;
  • none – отключает вывод syslog-сообщений.

4

Включить отображение syslog-сообщений при удаленных подключениях (Telnet, SSH) (не обязательно).

esr(config)# syslog monitor


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

esr(config-syslog-monitor)# match [not] process-name <PROCESS-NAME>

<PROCESS-NAME> – описано во 2 пункте.

6Указать уровень важности сообщений, которые будут отображаться при удаленных подключениях.

esr(config-syslog-monitor)# severity <SEVERITY>

<SEVERITY> – описано в 3 пункте.

7Включить отображение syslog-сообщений при консольном подключении (не обязательно).esr(config)# syslog console
8Активировать или деактивировать отображение при консольном подключении событий работы отдельных процессов маршрутизатора (не обязательно).

esr(config-syslog-console)# match [not] process-name <PROCESS-NAME>

<PROCESS-NAME> – описано во 2 пункте.

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

esr(config-syslog-console)# severity <SEVERITY>

<SEVERITY> – описано в 3 пункте.

10

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

esr(config)# syslog file <NAME> 

<NAME> – имя файла, в который будет производиться запись сообщений заданного уровня, задается строкой до 31 символа.

11Активировать или деактивировать сохранение в локальный syslog-файл событий работы отдельных процессов маршрутизатора (не обязательно).

esr(config-syslog-file)# match [not] process-name <PROCESS-NAME>

<PROCESS-NAME> – описано во 2 пункте.

12Указать уровень важности сообщений, которые будут сохраняться в локальный syslog-файл.

esr(config-syslog-file)# severity <SEVERITY>

<SEVERITY> – описано в 3 пункте.

13

Указать максимальный размер файла журнала (не обязательно).

esr(config)# syslog file-size <SIZE>

<SIZE> – размер файла, принимает значение [10..10000000] Кбайт.

14

Задать максимальное количество файлов, сохраняемых при ротации (не обязательно).

esr(config)# syslog max-files <NUM>

<NUM> – максимальное количество файлов, принимает значения [1.. 1000].

15

Включить передачу сообщений syslog на удаленный syslog-сервер (при необходимости отправки сообщений на удаленный syslog-сервер).

esr(config)#syslog host <HOSTNAME>

<HOSTNAME> – наименование syslog-сервера, задаётся строкой до 31 символа. Используется только для идентификации сервера при конфигурировании. Значение «all» используется в команде no syslog host для удаления всех syslog-серверов;

16Указать IPv4/IPv6-адрес удаленного syslog-сервера.esr(config-syslog-host)# remote-address { <ADDR> | <IPV6-ADDR> }

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF].

17Указать IPv4/IPv6-адрес маршрутизатора, от которого будут отправляться пакеты на удаленный syslog-сервер (не обязательно).esr(config-syslog-host)# source-address { <ADDR> | <IPV6-ADDR> | object-group <NETWORK_OBJ_GROUP_NAME> }

<ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255];

<IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF];

<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address;

Значение по умолчанию: IPv4/IPv6-адрес интерфейса, с которого отправляется пакеты на удаленный syslog-сервер.

18Указать транспортный протокол для передачи пакетов на удаленный syslog-сервер (не обязательно).esr(config-syslog-host)# transport { tcp | udp }

<VRF> – имя экземпляра VRF, в котором доступен удаленный syslog-сервер, задается строкой до 31 символа;

Значение по умолчанию: отсутствует (глобальная таблица маршрутизации).

19Указать имя экземпляра VRF, в рамках которого будут отправляться пакеты на удаленный syslog-сервер (не обязательно).esr(config-syslog-host)# vrf <VRF>
20Указать номер TCP/UDP-порта, на который будут отправляться пакеты с syslog-сообщениями (не обязательно).esr(config-syslog-host)# port <PORT>
<PORT> – номер TCP/UDP-порта, на который будут отправляться пакеты с syslog-сообщениями.

Значение по умолчанию: 514.

21Активировать или деактивировать отправку на удаленный syslog-сервер событий работы отдельных процессов маршрутизатора (не обязательно).

esr(config-syslog-host)# match [not] process-name <PROCESS-NAME>

<PROCESS-NAME> – описано во 2 пункте.

22Указать уровень важности сообщений, которые будут сохраняться в локальный syslog-файл.

esr(config-syslog-host)# severity <SEVERITY>

<SEVERITY> – описано в 3 пункте.

23

Включить вывод отладочных сообщений во время загрузки устройства (не обязательно).

esr(config)#syslog reload debugging


24

Включить процесс логирования введенных команд пользователя на локальный syslog-сервер (не обязательно).

esr(config)# syslog cli-commands


25

Включить нумерацию сообщений (не обязательно).

esr(config)#syslog sequence-numbers


26

Включить точность даты сообщений до миллисекунд (не обязательно).

esr(config)#syslog timestamp msec


27Включить отображение имени процесса, который сформировал сообщение (не обязательно).esr(config)#syslog program-name

28

Включить регистрацию неудачных аутентификаций (не обязательно).

esr(config)#logging login on-failure


29

Включить регистрацию изменений настроек системы аудита (не обязательно).

esr(config)#logging syslog configuration


30

Включить регистрацию изменений настроек пользователя (не обязательно).

esr(config)#logging userinfo


Пример настройки

Задача:

Настроить отправку сообщений для следующих системных событий:

  • неудачная аутентификация пользователя;
  • внесены изменения в конфигурацию логирования системных событий;
  • старт/остановка системного процесса;
  • внесены изменения в профиль пользователей.

IP-адрес маршрутизатора ESR – 192.168.52.8, IP-адрес Syslog-сервера – 192.168.52.41. Использовать параметры по умолчанию для отправки сообщений – протокол UDP порт 514.


Решение:

Предварительно нужно выполнить следующие действия:

  • указать зону для интерфейса gi1/0/1;
  • настроить IP-адрес для интерфейсов gi1/0/1.

Основной этап конфигурирования:

Создаем файл на маршрутизаторе для системного журнала, уровень сообщений для журналирования – info:

esr(config)# syslog file tmpsys:syslog/ESR
esr(config-syslog-file)# severity info
esr(config-syslog-file)# exit

Указываем IP адрес и параметры удаленного syslog-сервера:

esr(config)# syslog host SERVER
esr(config-syslog-host)# remote-address 192.168.52.41
esr(config-syslog-host)# severity info
esr(config-syslog-host)# exit

Задаем логирование неудачных попыток аутентификации:

esr(config)# logging login on-failure

Задаем логирование изменений конфигурации syslog:

esr(config)# logging syslog configuration

Задаем логирование старта/остановки системных процессов:

esr(config)# logging service start-stop

Задаем логирование внесений изменений в профиль пользователей:

esr(config)# logging userinfo

Изменения конфигурации вступят в действие после применения:

esr# commit
Configuration has been successfully committed
esr# confirm
Configuration has been successfully confirmed

Посмотреть текущую конфигурацию системного журнала:

esr# show syslog configuration

Посмотреть записи системного журнала:

esr# show syslog ESR

Проверка целостности

Проверка целостности подразумевает проверку целостности хранимых исполняемых файлов.

Процесс настройки

Шаг

Описание

Команда

Ключи

1

Запустить проверку целостности системы

esr# verify filesystem <detailed>

detailed – детальный вывод информации в консоль.

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

Задача:

Проверить целостность файловой системы.

Решение:

Запускаем проверку целостности:

esr# verify filesystem
Filesystem Successfully Verified

Настройка архивации конфигурации маршрутизатора

На маршрутизаторах ESR предусмотрена функция локального и/или удаленного копирования конфигурации по таймеру или при применении конфигурации.

Процесс настройки

Шаг

Описание

Команда

Ключи

1

Перейти в режим настройки параметров резервирования конфигурации.

esr(config)# archive


2

Установить тип сохранения резервных конфигураций маршрутизатора
(не обязательно).

esr(config-ahchive)# type <TYPE>

<TYPE> – тип сохранения резервных конфигураций маршрутизатора. Принимает значения:

  • local;
  • remote;
  • both.

Значение по умолчанию: remote.

3

Включить режим резервирования конфигурации по таймеру
(не обязательно).

esr(config-ahchive)# auto


4

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

esr(config-ahchive)# by-commit


5

Указать путь для удаленного копирования конфигураций маршрутизатора
(обязательно для типов remote и both).

esr(config-ahchive)# path <PATH>

<PATH> – определяет протокол, адрес сервера, расположение и префикс имени файла на сервере.

6

Задать период времени для автоматического резервирования конфигурации (не обязательно, актуально только для режима auto).

esr(config-ahchive)# time-period <TIME>

<TIME> – периодичность автоматического резервирования конфигурации, принимает значение в минутах [1..525600].

Значение по умолчанию: 720 минут.

7

Задать максимальное количество локально сохраняемых резервных копий конфигураций
(не обязательно, актуально при типах local и both).

esr(config-ahchive)# count-backup <NUM>

<NUM> – максимальное количество локально сохраняемых резервных копий конфигураций. Принимает значения в диапазоне [1..100].

Значение по умолчанию: 1.

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

Задача:

Настроить локальное и удаленное резервное копирование конфигурации маршрутизатора 1 раз в сутки и при успешном изменении конфигурации. Удаленные копии необходимо отправлять на tftp-сервер 172.16.252.77 в подпапку esr-example. Максимальное количество локальных копий – 30.

Решение:

Для успешной работы удаленной архивации конфигураций, между маршрутизатором и сервером должна быть организована IP-связность, настроены разрешения на прохождение tftp-трафика по сети и сохранения файлов на сервере.

Основной этап конфигурирования:

Перейти в режим конфигурирования резервного копирования конфигураций:

esr# configure
esr(config)# archive

Задать режим локального и удаленного резервного копирования конфигурации:

esr(config-archive)# type both

Настроить путь для удаленного копирования конфигураций и максимальное количество локальных резервных копий:

esr(config-archive)# path tftp://172.16.252.77:/esr-example/esr-example.cfg
esr(config-archive)# count-backup 30

Задать интервал резервного копирования конфигурации в случае отсутствия изменений:

esr(config-archive)# time-period 1440

Включить режимы архивации конфигурации маршрутизатора по таймеру и при успешном изменении конфигурации:

esr(config-archive)# auto
esr(config-archive)# by-commit

После применения данной конфигурации 1 раз в сутки и при каждом успешном изменении конфигурации маршрутизатора на tftp-сервер будет отправляться конфигурационный файл с именем вида "esr-exampleYYYYMMDD_HHMMSS.cfg". Также на самом маршрутизаторе в разделе flash:backup/ будет создаваться файл с именем вида "config_YYYYMMDD_HHMMSS". Когда в разделе flash:backup/ накопится 30 таких файлов, при создании нового будет удаляться наиболее старый. Посмотреть можно командой:

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 | icmp-jitter } <DST-ADDRESS> { source-ip { <SRC-ADDRESS> | object-group <NETWORK_OBJ_GROUP_NAME> } | 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];

<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address;

<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> | object-group <NETWORK_OBJ_GROUP_NAME> } | 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];

<NETWORK_OBJ_GROUP_NAME> – список адресов, которые будут использоваться в качестве source address;

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

  • delay – допустимые значения задержек в канале;
  • jitter – допустимые значения джиттера в канале;
  • losses – допустимые значения потерь пакетов в канале.

<VALUE_H> – верхнее пороговое значение, при пересечении которого сессия тестирования будет считаться проваленной;

<VALUE_L> – нижнее пороговое значение, при пересечении которого сессия тестирования будет вновь считаться успешной.

10Запретить фрагментацию тестовых пакетов (необязательно).esr(config-sla-test)# disallow-fragmentation
11Установить количество записей о результатах тестирования, отображающихся в истории измерений (необязательно).esr(config-sla-test)# history <SIZE>
<SIZE> – число сохраняемых результатов, может принимать значение [1..1000].
12Задать описание SLA-теста (необязательно).esr(config-sla-test)# description <DESCRIPTION>
<DESCRIPTION> – описание SLA-теста, задается строкой до 255 символов.
13Настроить параметры аутентификации, согласно алгоритму настройки параметров аутентификации (только для UDP-тестов, необязательно).
14Активировать SLA-тест.esr(config-sla-test)# enable
15Выйти из параметров конфигурирования SLA-теста.esr(config-sla-test)# exit
16Задать расписание запуска активированных 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 – начать тест немедленно.

17Активировать вывод информационных сообщений групп событий (необязательно). Каждая из групп активируется отдельно.esr(config)# ip sla logging <TYPE>

<TYPE> – название группы информационных сообщений, может принимать значения:

  • error – отображение сообщений об ошибках в работе SLA-тестов, причинах их провала, а также ошибок в работе SLA-responder (если таковой сконфигурирован в системе);
  • delay – отображение сообщений о превышении/нормализации значений, установленных в thresholds delay;
  • jitter – отображение сообщений о превышении/нормализации значений, установленных в thresholds jitter;
  • losses – отображение сообщений о превышении/нормализации значений, установленных в thresholds losses;
  • status – отображение сообщений о смене статуса SLA-теста.
18Активировать сервис SLA-agent.esr(config)# ip sla

Настройка SLA-responder

Шаг

Описание

Команда

Ключи

1В режиме конфигурирования интерфейса на маршрутизаторе, который является удаленной стороной SLA-теста, активировать SLA-responder.esr(config-if-gi)# ip sla responder <TYPE>

<TYPE> – название целевой платформы SLA-agent, может принимать значения:

  • eltex – функционал Eltex SLA-responder для Eltex SLA-agent;
  • cisco – функционал Cisco SLA-responder для Cisco 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

Сводную информацию о результате и конфигурации теста можно вывести командой:

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

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

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

Сам SLA-тест при этом перейдет в состояние Fail и будет оставаться в нем до тех пор, пока характеристики канала не вернутся в допустимые пределы.

Просмотреть результаты измерений теста можно командой:

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

Далее необходимо продублировать эти параметры на ответной стороне. Для этого перейдем в режим конфигурирования интерфейса, который выступает 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

Пример конфигурации 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

Таким образом конфигурации 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.

Настройка пороговых значений

Для настройки реакции SLA-теста на определенные характеристики канала связи предусмотрен механизм активного реагирования на параметры thresholds.

Реагирование на качество канала связи может осуществляться по трём основных параметрам:

  • Delay – измерение задержки между эталонным показателем интервала передачи очередного тестового пакета;
  • Losses – измерение количества утерянных тестовых пакетов среди общего количества переданных пакетов;
  • Jitter – измерение «дрожания» в канале, т. е. разброса во времени прохождения тестовых пакетов.

Для конфигурирования доступна настройка верхнего (high) и нижнего (low) пороговых значений для каждого из представленных параметров. Каждый из параметров может быть установлен как для одностороннего направления (forward/reverse), так и для двухстороннего (two-way).

Механизм активного изменения состояния SLA-теста при установленных пороговых значениях представлен на примере отслеживания показателя Delay с графиком значений величины во времени:

СобытиеОписание
1Первичное превышение верхнего порогового значения. Инициируется смена состояния SLA-теста на «Fail», отображается информационное сообщение о превышении установленного порога.
2

Повторное превышение верхнего порогового значения. Состояние SLA-теста неизменно (Fail), информационных сообщений не отображается.

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

3Понижение отслеживаемой величины до значений ниже установленного порога Low. Инициируется смена состояния SLA-теста на «Success», отображается информационное сообщение о нормализации показателя.
4Очередная смена состояния SLA-теста, вызванная пересечением значения верхнего порога и предварительно нормализованным пересечением нижнего порога.

Пример конфигурации icmp-jitter SLA-теста с thresholds по показателю delay:

R-sender# show running-config sla
ip sla
ip sla logging delay
ip sla logging error
ip sla logging status
ip sla test 1
  icmp-jitter 198.18.0.100 source-ip 198.18.0.1 num-packets 150
  thresholds delay high 15
  thresholds delay low 8
  thresholds delay forward high 10
  thresholds delay forward low 5
  thresholds delay reverse high 10
  thresholds delay reverse low 5
  enable
exit
ip sla schedule all life forever start-time now

Нижний порог (low) допускается не устанавливать. В таком случае он принимается равным верхнему, и нормализация характеристики будет засчитываться при снижении значений до показателей ниже установленного уровня.

  • Нет меток