Настройка 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..10000000]. При значении частоты 10 на коллектор будет отправлен один пакет из десяти. Значение по умолчанию: 1000. |
2 | Установить интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса. | esr(config)# sflow poll-interval <TIMEOUT> | <TIMEOUT> – интервал, по истечении которого происходит получение информации о счетчиках сетевого интерфейса, принимает значение [1..10000]. Значение по умолчанию: 10 секунд. |
3 | Активировать sFlow на маршрутизаторе. | esr(config)# sflow enable | |
4 | Создать коллектор sFlow и перейти в режим его конфигурирования. | esr(config)# sflow collector <ADDR> | <ADDR> – IP-адрес коллектора, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
5 | Включить отправку статистики на 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> ] | <COMMUNITY> – сообщество для доступа по протоколу SNMP; <TYPE> – уровень доступа:
<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> – уровень доступа:
|
9 | Определить режим безопасности пользователя по протоколу SNMPv3. | esr(config-snmp-user)# authentication access <TYPE> | <TYPE> – режим безопасности:
|
10 | Определить алгоритм аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication algorithm <ALGORITHM> | <ALGORITHM> – алгоритм шифрования:
|
11 | Установить пароль для аутентификации SNMPv3-запросов. | esr(config-snmp-user)# authentication key ascii-text | <CLEAR-TEXT> – пароль, задаётся строкой от 8 до 16 символов;
<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> – алгоритм шифрования:
|
17 | Установить пароль для шифрования передаваемых данных. | esr(config-snmp-user)# privacy key ascii-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> – 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 | Разрешить отправку 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. |
22 | Создать профиль 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-прокси — это процесс, способный собирать данные мониторинга с одного или нескольких наблюдаемых устройств и отправлять эту информацию Zabbix-серверу.
Алгоритм настройки
Шаг | Описание | Команда | Ключи |
---|---|---|---|
1 | Перейти в контекст настройки агента/proxy. | esr(config)# zabbix-agent esr(config)# zabbix-proxy | |
2 | Указать имя узла сети (опционально). Для активного режима имя должно совпадать с именем узла сети на Zabbix-cервере. | esr(config-zabbix)# hostname <WORD> esr(config-zabbix-proxy)# hostname <WORD> | <WORD> – имя узла сети, задается строкой до 255 символов. |
3 | Указать адрес Zabbix-cервера. | esr(config-zabbix)# server <ADDR> esr(config-zabbix-proxy)# server <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
4 | Указать адрес сервера для активных проверок (при использовании активного режима). | esr(config-zabbix)# 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)# port <PORT> esr(config-zabbix-proxy)# port <PORT> | <PORT> – порт, который слушает zabbix-агент/прокси, задается в диапазоне [1..65535]. Значение по умолчанию: 10050. |
6 | Разрешить выполнение удаленных команд zabbix-агентом/прокси (при использовании активного режима). | esr(config-zabbix)# remote-commands esr(config-zabbix-proxy)# remote-commands | |
7 | Указать адрес, с которого будет осуществляться взаимодействием с сервером (не обязательно). | esr(config-zabbix)# source-address <ADDR> esr(config-zabbix-proxy)# source-address <ADDR> | <ADDR> – IP-адрес сервера, задается в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]. |
8 | Указать время обработки удаленных команд (не обязательно). | esr(config-zabbix)# timeout <TIME> esr(config-zabbix-proxy)# timeout <TIME> | <TIME> – время ожидания, определяется в секундах [1..30]. Значение по умолчанию 3. Рекомендуется устанавливать максимальное значение, т. к. некоторые команды могут выполняться дольше значения по умолчанию. Если за указанное время команда не будет выполнена, то обработка команды будет прекращена. |
9 | Включить функционал агента/прокси. | esr(config-zabbix)# enable esr(config-zabbix-proxy)# enable | |
10 | Разрешить из соответствующей зоны безопасности firewall обращение к маршрутизатору (в зону self) по TCP-портам 10050, 10051. См. раздел Конфигурирование Firewall. |
Пример настройки zabbix-agent
Задача:
Настроить взаимодействие между агентом и сервером для выполнения удаленных команд с сервера.
Решение:
В контексте настройки агента укажем адрес Zabbix-cервера и адрес, с которого будет осуществляться взаимодействие с сервером:
esr(config-zabbix)# server 192.168.32.101 esr(config-zabbix)# source-address 192.168.39.170
Для активации активного режима укажем hostname, active-server, а также включим выполнение удаленных команд:
esr(config-zabbix)# hostname ESR-agent esr(config-zabbix)# active-server 192.168.32.101 esr(config-zabbix)# remote-commands
Зададим время выполнения удаленных команд и активируем функционал агента:
esr(config-zabbix)# timeout 30 esr(config-zabbix)# 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> – уровень важности сообщения, принимает значения (в порядке убывания важности):
|
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> } | <ADDR> – IP-адрес, задаётся в виде AAA.BBB.CCC.DDD, где каждая часть принимает значения [0..255]; <IPV6-ADDR> – IPv6-адрес, задаётся в виде X:X:X:X::X, где каждая часть принимает значения в шестнадцатеричном формате [0..FFFF]; Значение по умолчанию: 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> – тип сохранения резервных конфигураций маршрутизатора. Принимает значения:
Значение по умолчанию: remote. |
3 | Включить режим резервирования конфигурации по таймеру | esr(config-ahchive)# auto | |
4 | Включить режим резервирования конфигурации после каждого успешного применения конфигурации | esr(config-ahchive)# by-commit | |
5 | Указать путь для удаленного копирования конфигураций маршрутизатора | esr(config-ahchive)# path <PATH> | <PATH> – определяет протокол, адрес сервера, расположение и префикс имени файла на сервере. |
6 | Задать период времени для автоматического резервирования конфигурации (не обязательно, актуально только для режима auto). | esr(config-ahchive)# time-period <TIME> | <TIME> – периодичность автоматического резервирования конфигурации, принимает значение в минутах [1..35791394]. Значение по умолчанию: 720 минут. |
7 | Задать максимальное количество локально сохраняемых резервных копий конфигураций | 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)# 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