Во время настройки и отладки работы Cisco бывает полезным вести логи не только на самом устройстве, но и сохранять их на какой-то внешний сервер. В моем случае это будет сервер под управлением FreeBSD 8.2- RELEASE с работающим syslogd — демоном для сбора системных сообщений. Для ротации лога будет использоваться newsyslog — программка для управления файлами системных логов.
Сперва подготовим сервер под управлением FreeBSD к приему логов от Cisco. Для этого внесем некоторые изменения в rc. conf для запуска демонов по-умолчанию:
В файле по пути /etc/defaults/rc. conf найдите строки, относящиеся к syslogd. Обязательно закомментируйте (удалите флаг -s ) строку syslogd_flags=”-s”. иначе syslogd не будет принимать сообщения от удаленных хостов! Так же мы обозначили некоторые флаги, с которыми необходимо запустить syslogd:
- -4 — использовать только IPv4 адресное пространство;
- -b 192.168.200.2 — указали сетевой интерфейс сервера, на котором необходимо принимать сообщения от удаленных хостов.
Теперь необходимо внести некоторые изменения в конфигурационный файл syslogd:
Этой строкой мы указали, что все сообщения, типа local1, будут заносится в файл /var/log/cisco. log. Создадим его и присвоим определенные права (чтение/запись только для root):
Перезапустим syslogd и проверим его работу некоторыми командами:
Вы должны увидеть примерно то же самое…
Внесем в конфигурационный файл программки newsyslog по пути /etc/newsyslog. conf некоторые изменения:
Данная строка означает следующее: каждый день в 00:00:00 будет создаваться файл /var/log/cisco. log с правами 0600, а старый лог будет сжат с помощью bzip2 и ему присвоят имя типа cisco.0.bz2. И так до 7 раз. Более ранние логи будут затираться. Вы можете изменить эти параметры согласно своим требованиям.
Нам осталось только настроить файерволл (если он у вас имеется). На моем сервере используется pf :
Где:
- em0 — внутренний сетевой интерфейс;
- 192.168.200.0/24 — локальная подсеть;
- 192.168.200.2 — ip адрес внутреннего интерфейса.
На этом подготовительный этап на принимающей стороне (сервере под управлением freebsd) мы закончили. Приступим к администрированию cisco.
Подключитесь с cisco по telnet или ssh, войдите в конфигурационный режим:
Этими командами мы включили логирование, установили размер локального буфера для сообщений уровня warnings, включили в лог порядковый номер сообщения.
Теперь дадим команды для логирования на наш подготовленный внешний сервер с работающим syslogd:
Данными командами мы:
- установили уровень логируемых сообщений — уведомления (severity=5);
- добавили в качестве ID имя хоста cisco к каждому сообщению (полезно, если вы собираете логи с нескольких устройств cisco);
- установили тип local1 для логируемых сообщений (по-умолчанию — local7);
- установили сетевой интерфейс для исходящих log-сообщений;
- и, наконец, указали ip адрес нашего сервера syslogd;
- осуществили выход из режима конфигурирования и сохранили в память сделанные нами изменения.
Вот, в принципе, и все. Проверить работу loggin на cisco вы можете командой show logging. Результатом ее работы будет что-то типа этого:
А на сервере syslogd в файле /var/log/cisco. log. вы увидите уведомления (сразу же о вашей активности на устройстве cisco):