RTFM && WTFN

Время на прочтение

Введение

Добрый день дорогие читатели, в этой статье я хочу рассмотреть однин из основных способов логирования событий в cisco – syslog. Так же помимо него рассмотрим snmp traps, попробуем настроить «красивый» сбор логов на сервере linux. Журналирование syslog’а в cisco довольно старая и неудобная вещь, о чем пишут многие кто с ней работает. Различные недочеты и что с ними связно в этой статье рассматриваться не будут, только минимальные функции по настройке сервера и сетевых устройств.

Теория

Начнём с того, что все логирование происходит прямо у вас при настройке устройств, как пример при переходе из настройки конфигурации сетевого устройства в привилегированный режим у вас будет выведено сообщение на экран:

R1(config)#exit
R1#
May 10 22:25:56.133: %SYS-5-CONFIG_I: Configured from console by console

Этот способ называется console logging и он включен автоматом на сетевых устройствах cisco. Так же включен и buffered logging, который собирает все лог-сообщения в оперативную память, для их просмотра достаточно ввести команду “show logging”. Но не будем о простом логировании, наша главная задача рассмотреть основной способ для передачи сообщений на сторонний сервер или устройство, для этих мер подходит syslog и SNMP traps.

Syslog

При использовании syslog, необходимо понимать, что мы хотим передавать, для этого нам потребуется “Cisco Severity and Escalation Guidelines”, в котором расписан каждый уровень severity (серьезности) сообщений:

Для наглядности в тестовом стенде будет использоваться 7 и 5 уровень серьезности сообщений.

Так же, для удобства будем использовать протокол NTP, чтобы синхронизировать время отправки лог-сообщений между маршрутизаторами.

Далее следуют так называемые “локали” или же категории (Local0 – Local7), зарезервированные для использования администратором системы.

SNMP

SNMP — используется для чтения/чтения и изменения данных с сетевых устройств, существует 4 версии: 1, 2, v2c, 3. Главное различие между версиями это безопасность. Начиная с 3 версии, snmp претерпел сильные изменения и даже его пакет выглядит иначе, чем на более ранних версиях. Подробнее можно прочитать на любой википедии.

SNMP traps — ловушка, которую устройство Cisco будет посылать на сторонний сервер SNMP сообщением для сбора событий происходящих на сетевом устройстве.

HUAWEI – одна из крупнейших китайских компаний в сфере телекоммуникаций. Основана в 1988 году.

Компания HUAWEI достаточно недавно вышла на российский рынок сетевого оборудования уровня Enterprise. С учётом тенденции тотальной экономии, на нашем предприятии очень остро встал вопрос о подборе достойной замены оборудованию Cisco.
В статье я попытаюсь рассмотреть базовые аспекты настройки сервисов коммутации и маршрутизации оборудования HUAWEI на примере коммутатора Quidway серии 5300.

Глобальные команды, режимы работы, cходства и различия с CLI CISCO.

Оборудование HUAWEI, построенное на базе операционной системы VRP, имеет cisco-like интерфейс командной строки. Принципы остаются теми же самыми, меняется только синтаксис.
В CLI оборудования HUAWEI существуют 2 режима командного интерфейса:

Основные команды

Для создания vlan как сущности, на коммутаторе в режиме system-view выполняется команда vlan XXX, где XXX – номер vlan.

Vlan создан. Так же командой description можно задать описание или название vlan. В отличие от Cisco имя не является обязательным атрибутом при создании vlan.

Для передачи созданых vlan в пределах локальной сети используется протокол GVRP. Включается он командой gvrp в режиме system-view.

Так же gvrp должен быть разрешён на интерфейсе:

#
interface GigabitEthernet0/0/23
port link-type trunk
port trunk allow-pass vlan 100 to 200
gvrp
#

Совместимости с Cisco VTP (vlan transfer protocol) нет и быть не может.

Создание vlan интерфейса.

Собственно, ничего нового. Существуют два основных режима работы порта: access и trunk.
Режим trunk
Настройка порта:

В отличие от коммутаторов Cisco, по-умолчанию, все vlan запрещены и их необходимо принудительно разрешить командой port trunk allow-pass vlan.
Нетэггированный native vlan на порту включается командой:

Настройка eth-trunk

interface Vlanif100
ip address 1.1.1.2 255.255.255.252
#
interface GigabitEthernet0/0/23
eth-trunk 1
#
interface GigabitEthernet0/0/24
eth-trunk 1
#
interface Eth-Trunk0
port link-type trunk
port trunk allow-pass vlan 100
#

Настройка STP

Для тестирование STP были соединены коммутаторы Cisco 2960 и HUAWEI Quidway S5328C-EI.
Для включения STP на коммутаторе необходимо в режиме system-view ввести команду

По умолчанию, приоритет коммутатора HUAWEI, так же как и коммутатора Cisco равен 32768.
Просмотр информации о текущем состоянии портов:

Видно, что один из портов заблокирован, т. к. приоритет коммутатора Cisco оказался больше.
Просмотр глобальной информации об STP:

Изменим приоритет коммутатора HUAWEI. Сделаем его наименьшим: 4096.

Посмотрим, что порт разблокировался:

Общая информация об STP:

Статическая маршрутизация

Статические маршруты прописываются точно так же, как на оборудовании Cisco:

Просмотр таблицы маршрутизации:

На этом всё.
Если уважаемое сообщество заинтересуется материалом, планирую продолжить освещать настройку оборудования HUAWEI. В следующей статье рассмотрим настройку динамической маршрутизации.

Спасибо за внимание.

Практическая часть


RTFM && WTFN

Наш тестовый стенд будет построен в GNS3 и состоять из: linux сервера, коммутатора и двух маршрутизаторов cisco. Прежде всего настроим NTP сервер для синхронизации времени между маршрутизатором и двумя коммутаторами. За отправное звено, или же за наш ntp сервер возьмем R1, укажем “stratum 1” для отправной точки синхронизации с остальными устройствами:

R1(config)#ntp master 1

Далее на всех остальных устройствах укажем NTP сервер:

R2(config)#ntp server 11.10.10.1

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

R2#show ntp associations
address ref clock st when poll reach delay offset disp
~11.10.10.1 . LOCL. 1 39 64 0 0.000 0.000 15937.
* sys.peer, # selected, + candidate, — outlyer, x falseticker, ~ configured

Здесь NTP еще только синхронизируется, когда будет *~ ip address, то это будет означать полную синхронизацию между устройствами. Для отправки логов на наш сервер воспользуемся командой:

R1(config)#logging trap debugging
R1(config)#logging host 10.10.10.50 transport udp port 514
R1(config)#logging origin-id hostname

В данном случае мы перенаправляем все log сообщения на адрес нашего сервера, а также указываем порт – udp 514. Такие же команды мы введем на S1 и R2 разумеется, укажем статический маршрут в сторону нашей основной сети.

После успешного соединения с сервером сетевое устройство выведет уведомление:

*May 10 09:32:23.147: %SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 10.10.10.50 port 514 started — CLI initiated

# provides UDP syslog reception
module(load=»imudp»)
input(type=»imudp» port =»514″)
# provides TCP syslog reception
module(load=»imtcp»)
input(type=»imtcp» port =»514″)

Далее нам нужно настроить файлы для логирования, предлагаю создавать для каждого сетевого устройства отдельную директорию под каждый файл:

$template dynFile, «/var/log/%HOSTNAME%/syslog.log»
*.* ?dynFile

После перезапуска демона rsyslog.service у нас создаются отдельные директории с названием ip адреса сетевого устройства и файла. А именно:


RTFM && WTFN

На данном этапе настройка простого syslog сервера закончилась.

SNMP TRAPS

В тестовом стенде, который будет точно такой же, как и при настройке syslog, приведена в пример 3 версия snmp traps. В чем ее различие между всеми остальными?

В 3 версии добавили расширенную безопасность. Мы можем создавать учетные записи, профиля и группы, для которых можем прописать определенные правила. К этим правилам относиться режим чтения и записи на датчики, а также определение их доступности. В дальнейшем мы попробуем создать пользователя и будем передавать стандартный профиль (view), в котором есть уже какие-то доступные датчики. Так же в этой версии добавили аутентификацию пользователя и шифрования, у вас есть выбор какую из них использовать:

Как и говорилось выше, есть множество стандартных профилей, для того чтобы узнать какие из них есть и какая вам больше подходит используйте «show snmp view»

Теперь перейдем к настройке сетевых устройств, нам нужно включить сам snmp сервер и создать access-list, не забыв указать пароль, в режиме ro или rw в зависимости от ваших нужд.

R1(config)#access-list 1 permit host 10.10.10.50
R1(config)#snmp-server community cisco ro 1
R1(config)#snmp-server enable traps snmp

Стоит заметить, что snmp traps более гибок в настройке чем syslog, при включении можно указать в каком режиме эти сообщения будут подаваться:

R1(config)#snmp-server enable traps snmp authentication ?
coldstart Enable coldStart trap
linkdown Enable linkDown trap
linkup Enable linkUp trap
warmstart Enable warmStart trap

Выше была приведена настройка snmp сервера 2 версии, в дальнейшей настройки эти команды не потребуются, но для понимания работы snmp-server советую для начала поработать с v2c версией.

Следующим шагом нам нужно создать свой профиль, в который мы передаём или исключаем из него какие-то датчики. Так же создадим группу и передадим туда наш профиль:

R1(config)#snmp-server view EXAMPLE 1.3.6.1.4.1.9.2.1.56.0 included
R1(config)#snmp-server view EXAMPLE 1.3.6.1.2.1.2.2.1.8.0 included
R1(config)#snmp-server view EXAMPLE 1.3.6.1.2.1.1.3.0 included
R1(config)#snmp-server group EX v3 auth read EXAMPLE

Для тестового стенда я решил использовать стандартный профиль v1default, но никто не запрещает использовать вам свою группу, описанную выше, главное записать или исключить нужные датчики.

Для проверки работоспособности советую воспользоваться snmpget на нашем linux сервере:

Теперь переходим к настройке linux сервера, а именно изменим файл конфигурации snmp.conf расскоментируя одну строку “mibs :”


RTFM && WTFN

Далее нам нужно установить snmpd, snmptrap, snmptt. В snmpd нужно зайти в конфигурационный и изменить две строки, вместо локального подключения к демону разрешить любое подключение по 162 порту.

Также необходима настройка и всех остальных утилит. Все они располагаются в директории «/etc/snmp/».

В snmptrapd.conf нам нужно создать пользователя и прописать traphandle:

В snmptt.ini изменяем параметры:

mode = daemon
net_snmp_perl_enable = 1
unknown_trap_log_enable = 1

Теперь осталось только перезапустить snmpd и snmptt, чтобы применить изменения:

systemclt restart snmptrapd
systemclt restart snmptt

После отправки ловушки от сетевого устройства, наш сервер принимает пакет и записывает его в директорию /var/log/snmptt/

Для примера попробуем создать loopback 100 и выключить его:

R1(config)#int loopback 100
R1(config-if)#no shutdown
May 22 08:45:01.490: %LINK-3-UPDOWN: Interface Loopback100, changed state to up
May 22 08:45:02.489: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback100 , changed state to up
R1(config-if)#shutdown
May 22 08:45:39.344: %LINK-5-CHANGED: Interface Loopback100, changed state to ad ministratively down
May 22 08:45:40.344: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback100 , changed state to down

На нашем сервере появился файл snmptt.log, в котором записаны наши действия:

На этом настройка простого snmptraps сервера окончена!

Заключение

В данной статье я постарался максимально просто рассмотреть настройку логирования на сервере и сетевых устройствах компании cisco. Из приятного и полезного оставляю читателю ссылки на более подробные настройки этих способов логирования, а так же некоторые полезные команды: syslog, snmptraps, snmptrap, snmptraps v3, NTP.

В следующей статье рассмотрим более глубокую настройку логирования aaa accounting на сетевых устройствах cisco.

Оцените статью
Huawei Devices