img

Траблшутинг Network Management Protocols

В этой статье мы рассмотрим некоторые протоколы, такие как NTP, syslog и SNMP. Все они используются для мониторинга "работоспособности" вашей сети. При правильной настройке они могут быть очень полезны...если они не работают, может быть действительно трудно выяснить, когда в сети произошло определенное событие и что его вызвало. Syslog и SNMP используются для мониторинга сети, NTP используется для обеспечения того, чтобы наша регистрационная информация имела правильное время и дату.

Мы начнем с NTP - это не очень сложный протокол, но есть несколько вещей, которые могут пойти не так:

  • Фильтрация трафика NTP: списки доступа могут блокировать трафик NTP.
  • Проблемы аутентификации NTP: NTP поддерживает аутентификацию, клиент и сервер должны использовать одинаковые настройки.
  • Слишком большое временное смещение: если временное смещение между клиентом и сервером слишком велико, для синхронизации потребуется очень много времени.
  • Stratum level слишком высокий: Stratum level составляет от 1 (лучший) до 15 (худший). Stratum level 16 считается непригодным.
  • Фильтр источника NTP-сервера: NTP-серверы можно настроить так, чтобы разрешать только клиентам с определенных IP-адресов.

Давайте разберем эти вопросы. Мы будем использовать два маршрутизатора для этого:


Урок 1

Топология

R1 будет нашим NTP-клиентом, а R2 будет NTP-сервером. Есть две полезные команды, с которых мы должны начать:

show ntp status show ntp associations

Команды говорят нам, что R1 имеет адрес 192.168.12.2, настроенный как сервер NTP, и в настоящее время он не синхронизирован. Давайте проверим, получает ли R1 пакеты NTP, это лучше всего сделать с помощью отладки:

debug ntp packets

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

show access-lists

R1 использует UDP-порт 123, убедитесь, что он не заблокирован:

R1(config)#interface FastEthernet 0/0
R1(config-if)#no ip access-group NO_TIME in

После удаления списка доступа, NTP сможет использовать пакеты NTP с сервера:

NTP сможет использовать пакеты NTP с сервера

Вот конечный результат:

show ntp status

Часы теперь синхронизированы. Другая проблема, которую вы можете обнаружить с помощью debugging NTP, - это несоответствие аутентификации:

R1(config)#ntp server 192.168.12.2 key 1
R1(config)#ntp authentication-key 1 md5 MY_KEY

Мы настроим R1 так, чтобы он принимал только NTP-пакеты от NTP-сервера, которые аутентифицированы с определенным ключом. Сервер NTP, однако, не использует никакой формы аутентификации. Мы можем найти эту ошибку с помощью следующей отладки:

debug ntp validity

Это расскажет нам о:

Убедитесь, что ваши настройки аутентификации NTP совпадают с обеих сторон

Убедитесь, что ваши настройки аутентификации NTP совпадают с обеих сторон. Когда разница во времени / дате между сервером NTP и клиентом велика, синхронизация займет много времени. Прямо сейчас часы выглядят так:

show clock show clock

Установка часов на NTP-клиенте на что-то близкое к NTP-серверу значительно ускорит процесс синхронизации:

R1#clock set 18:00:00 30 January 2015

Через несколько минут часы на клиенте NTP должны быть синхронизированы.

Еще одна проблема с NTP заключается в том, что stratum level ограничен, мы можем использовать значения от 1 (лучший) до 15 (худший). Если у сервера NTP есть stratum level 15, то клиент NTP не сможет синхронизировать, так как 16 считается недостижимым.

Отладка пакетов NTP на клиенте покажет это:

Отладка пакетов NTP на клиенте

R1 никогда не сможет синхронизировать себя, поскольку NTP-сервер объявляет себя как stratum -уровень 15. Вы можете исправить это, установив более низкое значение stratum - уровня NTP на своем NTP-сервере:

R2(config)#ntp master 2

Мы изменяем его на значение 2 уровня. Это позволяет R1 синхронизировать себя:

show ntp status

И последнее, но не менее важное: NTP-серверы могут быть настроены так, чтобы разрешать NTP-клиентам только с определенных IP-адресов:

ntp access-group ?

Например, мы настрою его, чтобы разрешить только IP-адрес 1.1.1.1:

R2(config)#ntp access-group serve 1
R2(config)#access-list 1 permit 1.1.1.1
R2(config)#ip route 1.1.1.1 255.255.255.255 192.168.12.1

В этом случае нам нужно убедиться, что NTP-клиент получает свои NTP-пакеты с правильного IP-адреса:

R1(config)#interface loopback 0
R1(config-if)#ip address 1.1.1.1 255.255.255.255
R1(config)#ntp source loopback0

Команда NTP source скажет R1 использовать IP-адрес 1.1.1.1 из своего loopback интерфейса в качестве источника своих пакетов NTP.

Это самые распространенные ошибки NTP.


Урок 2

Давайте продолжим, посмотрев на syslog.

Наиболее распространенная проблема с системным журналом - это отсутствие информации о регистрации. По умолчанию ведение журнала включено только для консоли, а не для внешних серверов системного журнала.

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

show logging

Это говорит нам, что системный журнал включен для консоли вплоть до уровня отладки. Если вы не видите всего на консоли, то кто-то, возможно, изменил уровень ведения журнала на более низкое значение. Вот варианты:

logging console ?

Уровень отладки - самое высокое значение (7), поэтому он покажет все сообщения системного журнала. Если вы не видите все сообщения, убедитесь, что они установлены на уровне отладки для консоли.

По умолчанию информация системного журнала не отправляется на внешний сервер. Вы должны это настроить самостоятельно:

R1(config)#logging host 192.168.12.2

Это приведет к отправке регистрационной информации для всех уровней серьезности на внешний сервер по адресу 192.168.12.2. Убедитесь, что этот трафик не заблокирован, syslog использует UDP-порт 514.

Другая распространенная ошибка - сообщения системного журнала не отображаются в сеансах telnet или SSH. Вы можете включить это с помощью команды terminal monitor.


Урок 3

Следующий протокол, который мы обсудим, - это SNMP версии 2c и 3. Перед тем, как погрузиться в конфигурацию SNMP, убедитесь, что ваш NMS (сервер сетевого управления) может связаться с вашим устройством (агент SNMP). SNMP использует UDP-порт 161 для сообщений и UDP-порт 162 для прерываний и информирования. Убедитесь, что этот трафик разрешен.

Когда дело доходит до SNMPv2c, есть несколько общих проблем:

  • Неправильная community-string: community-string похожа на пароль, который используется для того, чтобы NMS могла читать или записывать данные на сетевое устройство. Если он не совпадает, SNMP не будет работать.
  • Ошибки списка доступа: списки доступа могут определять, какой NMS разрешено использовать community-string. Убедитесь, что вы используете правильный IP-адрес.
  • Перемешивание индексов: при добавлении новых интерфейсов к сетевому устройству номера интерфейсов могут больше не совпадать.
  • Ловушки не отправлены: если вы хотите отправить SNMP-ловушки (или сообщения), то вам нужно будет настроить это, это не делается автоматически.

Вот соответствующие команды SNMPv2c, которые вы должны проверить в случае, если SNMP не работает:

R1(config)#snmp-server community MY_COMMUNITY ro 1
R1(config)#access-list 1 permit host 192.168.1.1

Выше мы настроили сообщество под названием MY_COMMUNITY с доступом только для чтения. Мы используем access-list 1, чтобы определить, какому устройству разрешено использовать это сообщество. Убедитесь, что в списке доступа указаны правильные операторы разрешений. Следующая команда гарантирует, что индекс интерфейса остается прежним:

R1(config)#snmp-server ifindex persist

И если вы хотите отправлять SNMP-ловушки, настройте его следующим образом:

R1(config)#snmp-server enable traps eigrp
R1(config)#snmp-server host 192.168.1.1 traps version 2c MY_COMMUNITY

Это активирует ловушки SNMP для EIGRP и будет отправлено в NMS на IP-адрес 192.168.1.1 с использованием сообщества "MY_COMMUNITY". Если вы не укажете, какие ловушки вы хотите, он включит все ловушки.

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

  • Вложенность: с помощью SNMPv3 мы создаем пользователей, которые вложены в группы. Группы вложены в представления, которые предоставляют доступ к определенным MIBs на сетевом устройстве. Убедитесь, что ваш пользователь находится в правильной группе и что представление имеет правильные разрешения на просмотр.
  • Уровень безопасности: SNMPv3 поддерживает разные уровни безопасности, они должны совпадать на сетевом устройстве и NMS:
    • noAuthNoPriv
    • authNoPriv
    • authPriv
  • Параметры безопасности: SNMPv3 предлагает несколько алгоритмов хеширования и шифрования. Убедитесь, что вы настроили одинаковые алгоритмы на сетевом устройстве и NMS.
  • Конфигурация представлений: в представлении мы настраиваем объекты, к которым NMS разрешен доступ, убедитесь, что вы настроили правильные объекты.

Ниже приеден пример конфигурации того, что мы обсуждали:

Router(config)#snmp-server user MY_USER MY_GROUP v3 auth md5 MY_PASSWORD
priv aes 128 MY_PASSWORD

Сначала мы настраиваем пользователя с именем MY_USER, который принадлежит группе с именем MY_GROUP. Мы используем версию 3 SNMP. Для аутентификации этого пользователя мы используем MD5 и пароль "MY_PASSWORD". Для шифрования мы используем 128-битный AES и тот же пароль. Убедитесь, что на сетевом устройстве и NMS все одинаково ...

Теперь мы настраиваем группу:

Router(config)#snmp-server group MY_GROUP v3 priv read MY_VIEW access 1
Router(config)#access-list 1 permit host 192.168.1.1

Группа называется MY_GROUP, и мы используем уровень безопасности authPriv. Мы также присоединяем группу к представлению под названием MY_VIEW. Мы также используем список доступа, только NMS, использующая IP-адрес 192.168.1.1, может использовать эту группу. Давайте настроим view:

Router(config)#snmp-server view MY_VIEW system included
Router(config)#snmp-server view MY_VIEW cisco included

Это представление позволяет NMS получать доступ только к объектам в системной группе MIB-II и ко всем объектам в корпоративной MIB Cisco. Убедитесь, что вы добавили все объекты, к которым вам нужен доступ.

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

show snmp user

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
DevOps
Скидка 25%
DevOps-инженер с нуля
Научитесь использовать инструменты и методы DevOps для автоматизации тестирования, сборки и развертывания кода, управления инфраструктурой и ускорения процесса доставки продуктов в продакшн. Станьте желанным специалистом в IT-индустрии и претендуйте на работу с высокой заработной платой.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
В начале 2000-х, когда идея мессенджеров только формировалась, расширяемый протокол обмена сообщениями и информацией о присутств
img
Задержка в сети, или сетевая задержка, - это временная задержка при передаче запросов или данных от источника к адресату в сетев
img
Система доменных имен (DNS – Domain Name System) обеспечивает сетевую коммуникацию. DNS может показаться какой-то невидимой сило
img
Wi-Fi это технология, которая использует радиоволны для отправки и получения сигналов от находящихся поблизости устройств, чтобы
img
BGP (Border Gateway Protocol) - это протокол граничного шлюза, предназначенный для обмена информацией о маршрутизации и доступно
img
Когда читаете данную статью, браузер подключается к провайдеру (или ISP) а пакеты, отправленные с компьютера, находят путь до се
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59