Реализуем возможность сбора и хранения логов с интернет-центра ZyXEL Keenetic Lite. Поскольку просмотр логов точки доступа через Web-интерфейс не отличается удобством, то на сервере или рабочей станции поднимем syslog-ng. Все дальнейшие действия будут проводить на системе Ubuntu 12.04 Desktop. И так есть:
Исходная система:
ekzorchik@polygon:~$ uname -a && lsb_release -a
Linux polygon 3.2.0-38-generic #61-Ubuntu SMP Tue Feb 19 12:18:21 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.2 LTS
Release: 12.04
Codename: precise
Для справки:
- Локальная сеть 192.168.1.0/24
- Моя рабочая станция под управлением Ubuntu 12.04 Desktop amd64, имеющий адрес 192.168.1.6
- Интернет центр ZyXEL Keenetic Lite которому присвоен IP-адрес 192.168.1.1
Произведем установку syslog-ng из репозитариев Ubuntu 12.04 Desktop:
ekzorchik@polygon:~$ sudo apt-get install syslog-ng
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-ng-3.3.4
syslog-ng-core syslog-ng-mod-json syslog-ng-mod-mongodb syslog-ng-mod-sql
Предлагаемые пакеты:
mongodb-server libdbd-mysql libdbd-pgsql libdbd-sqlite3
Пакеты, которые будут УДАЛЕНЫ:
rsyslog ubuntu-minimal
НОВЫЕ пакеты, которые будут установлены:
libdbi1 libevtlog0 libmongo-client0 libnet1 libsyslog-ng-3.3.4 syslog-ng
syslog-ng-core syslog-ng-mod-json syslog-ng-mod-mongodb syslog-ng-mod-sql
обновлено 0, установлено 10 новых пакетов, для удаления отмечено 2 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 470 kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 1 082 kB.
Хотите продолжить [Д/н]? y
Создадим резервную копию конфигурационного файла который будем править: ekzorchik@polygon:~$ sudo cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng.conf.backup
ekzorchik@polygon:~$ sudo touch /var/log/zyxel_internet.log
После этого займемся редактированием и добавляем туда следующие строки:
ekzorchik@polygon:~$ sudo nano /etc/syslog-ng/syslog-ng.conf
очищаем конфигурационный файл и приводим к виду указанному ниже
@version: 3.3
#далее следует:
# настраиваем новый источник – сеть.
# теперь syslog-ng будет слушать 514-й udp-порт.
source s_udp {
udp();
};
# определяем новое хранилище логов с именем df_zyxel.
# всё что будет направляться в это хранилище будет
# складываться в файл /var/log/zyxel_internet.log.
destination df_zyxel {
file(“/var/log/zyxel_internet.log”);
};
# определяем новый фильтр. фильтровать будем по адресу клиента.
# здесь нужно указать ip-адрес интернет-центра
filter f_zyxel {
host(“192.168.1.1”);
};
# настраиваем логирование информации с источника s_udp,
# попадающей под правила фильтра f_zyxel, в хранилище df_zyxel
log {
source(s_udp);
filter(f_zyxel);
destination(df_zyxel);
};
После этого нужно перезапустить syslog-ng:
ekzorchik@polygon:~$ sudo invoke-rc.d syslog-ng restart
* Stopping system logging syslog-ng [ OK ]
* Starting system logging syslog-ng [ OK ]
ekzorchik@polygon:~$
ekzorchik@polygon:~$ sudo netstat -anp | grep syslog-ng
udp 0 0 0.0.0.0:514 0.0.0.0:* 2840/syslog-ng
Далее заходим в веб-интерфейс интернет-центра ZyXEL Keenetic Lite и идём в меню “Система” -> “Журнал “
указываем, что теперь журнал направлять на удалённый syslog сервер и прописываем IP адрес этого сервера на котором настроена служба syslog.
По окончании нажимаем кнопку: Применить.
Для принятия изменений нужно перезагрузить интернет-центр (если не перезагрузился исходя из изменённых выше настроек), для этого переходим на интерфейс администрирования по адресу http://192.168.1.1, далее «Система» – и нажимаем «Перезапустить устройство». Наблюдаем, см. скриншот ниже для наглядного понимания всего процесса.
Теперь вся информация, которую раньше вы смотрели через веб-интерфейс посредством меню “Система” -> “Журнал“- можно наблюдать и на рабочей станции в файле /var/log/zyxel_internet.log.
Смотрим в реальном времени, что пишется в лог:
ekzorchik@polygon:~$ sudo tail -f /var/log/zyxel_internet.log
Mar 11 17:24:42 192.168.1.1 kernel: klogd started: BusyBox v1.8.2 (2011-11-02 16:47:12 MSK)
Mar 11 17:24:42 192.168.1.1 superd[677]: process ‘.klogd.8f9′[2297] exited with code 0
Mar 11 17:36:36 192.168.1.1 udhcpc[2264]: Lease of <внешний_ip_адрес> obtained, lease time 5400
Но у данного оборудования ZyXEL Keenetic, как я правильно понял отсутствует детальное логирование происходящего такое как:
-
попытки неавторизированного доступа,
-
проблемы с сетевым соединение
-
Блокировка нежелательного трафика и много другое.
А только сообщения об ошибках системы при диагностике неполадок. В моей прошлой заметке посвященной пересылке сообщений с Prestige Zyxel 660HW-T1 на систему Ubuntu 10.10 пересылаемые события были более информативными.
Исходя из этого можно по такому же принципу организовать пересылку всех логов с интернет-центра ZyXEL на сервер на котором осуществляется централизованное хранение логов работы, как сетевого оборудования так и различных операционных систем.
На текущий момент размер лога:
ekzorchik@polygon:~$ dir -hl /var/log/zyxel_internet.log
-rw-r—– 1 root adm 270 (байт) марта 11 17:36 /var/log/zyxel_internet.log
Этот лог занимает не так уж и много места, но всё-таки полезно произвести ротацию. Для того достаточно создать файл ekzorchik@polygon:~$ sudo touch /etc/logrotate.d/zyxel следующего содержания:
ekzorchik@polygon:~$ sudo nano /etc/logrotate.d/zyxel — приведем к виду ниже:
/var/log/zyxel_internet.log {
weekly
rotate 5
compress
missingok
}
Теперь раз в неделю лог будет ротироваться и будут сохраняться последние пять ротированых логов.
Приятной работы! С уважением, ekzorchik!!!
В первые вижу настолько подробные заметки, автору респект. По больше бы таких блогов посвященных заметкам.
Удачи!!!
Уважаю вас за труд который вы делаете, и мне тоже надо заняться чем-то подобным – документировать свои записи хоть это и нелегко. Но глядя на Вас я буду равняться.
Спасибо.
Спасибо, автор, настроил свой dir-300nru, rev. B7! Актуальная информация(у меня mint rebecca).
Советую закомментировать “далее следует” или поставить над @version (я кстати проделал тоже самое с ver 3.5, что вполне логично):
“очищаем конфигурационный файл и приводим к виду указанному ниже
@version: 3.3
далее следует:
# настраиваем новый источник — сеть.”
Добрый день!
Пожалуйста, да действительно лучше за комментировать чтобы не ошибались.