Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> Шелезяки —> cisco & syslog

cisco & freebsd & syslog

Автор: lissyara.


    Озадачился писать логи циски на фряху. Порылся в яндексе - руководств валом. Начал делать - наткнулся на проблему - не пишет она в логи и всё... На самом-то деле она б писала, если бы было что. Нигде не было написано такой простой вещи, что авторизация не идёт в debug - это не отладочная информашия... А я-то пробовал, именно неверно авторизуясь! Поэтому решил написать сам.
   Для начала топаем на циску, где выполняем такие комады:
cisco.my-domain-name.su>
cisco.my-domain-name.su>enable
Password:
cisco.my-domain-name.su#configure
Configuring from terminal, memory, or network [terminal]?
Enter configuration commands, one per line.  End with CNTL/Z.
cisco.my-domain-name.su(config)#logging facility local2
cisco.my-domain-name.su(config)#logging 192.168.254.254
cisco.my-domain-name.su(config)#logging trap debugging
cisco.my-domain-name.su(config)#
^C
cisco.my-domain-name.su#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
cisco.my-domain-name.su#

Вкратце:
local2 - это для того, чтобы легче выковырнуть логи именно этой кошки из всего, что валится в syslog. Заметим - у меня он свободен, а вообще на можно использовать любой, с local1 по local7.
192.168.254.254 - машина на которую будем писать логи.
debugging - уровень подробности логов.
Для того, чтобы конфигурация не потерялась при перезагрузке копируем текущий конфиг в стартовый. На циске - всё. Дальше топаем на FreeBSD, добавляем такую строку в /etc/syslog.conf:
local2.*                           /var/log/cisco.my-domain-name.su.log

После чего я создал этот файл, дал на него права, и дал команду syslogd перечитать свой конфиг:
/etc/>touch /var/log/cisco.my-domain-name.su.log
/etc/>chown root:wheel /var/log/cisco.my-domain-name.su.log
/etc/>chmod 640 /var/log/cisco.my-domain-name.su.log
/etc/>killall -1 syslogd
/etc/>

А вот на выходе меня ожидал облом - в логи ничё не писалось... Изучение man syslogd, расставило всё по своим местам - по дефолту, в целях безопасности, syslogd слушает тока локальную машину, а удалённые хосты - нет. Пришлось чуть рихтануть /etc/rc.conf:
/etc/>echo '' >> rc.conf
/etc/>echo '# Сислог - для кошки' >> rc.conf
/etc/>echo 'syslogd_enable="YES"' >> rc.conf
/etc/>echo 'syslogd_flags=""' >> rc.conf
/etc/>

После чего убиваем syslogd и запускаем его без флагов:
/usr/home/lissyara/>killall -9 syslogd && syslogd
/usr/home/lissyara/>

Всё. Для контроля можно перезагрузить циску, если конечно, ситуация позволяет :) В таком случае в логах будет следующее:
Mar 3 12:09:03 192.168.254.252 8: Mar 3 12:09:29.824: %SYS-5-RESTART: System restarted --
Mar 3 12:09:03 192.168.254.252 9:
Mar 3 12:09:03 192.168.254.252 10: Cisco IOS Software, C1700 Software (C1700-K9O3SY7-M), Version 12.3(2)XE, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)
Mar 3 12:09:03 192.168.254.252 11: Synched to technology version 12.3(3.5)T
Mar 3 12:09:03 192.168.254.252 12: TAC Support: http://www.cisco.com/tac
Mar 3 12:09:03 192.168.254.252 13: Copyright (c) 1986-2003 by Cisco Systems, Inc.
Mar 3 12:09:03 192.168.254.252 14: Compiled Tue 18-Nov-03 23:26 by ealyon
Mar 3 12:09:03 192.168.254.252 15: Mar 3 12:09:29.852: %SNMP-5-COLDSTART: SNMP agent on host cisco.my-domain-name.su is undergoing a cold start
Mar 3 12:09:03 192.168.254.252 16: Mar 3 12:09:29.900: %NTP-6-RESTART: NTP process starts
Mar 3 12:09:03 192.168.254.252 17: Mar 3 12:09:31.112: %SSH-5-ENABLED: SSH 1.99 has been enabled
Mar 3 12:09:07 192.168.254.252 18: Mar 3 12:09:37.924: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up



размещено: 2006-03-03,
последнее обновление: 2006-03-06,
автор: lissyara


Mentis, 2006-08-30 в 7:42:55

Один хрен ничего не пишет :(((

Pavel Shlag, 2006-09-03 в 17:00:01

Mentis
Попробуйте запускать syslogd с ключем -r (нет описания данного параметра в хендбуке (т.к. это Linux-овый атрибут), зато многие умудряются таким образом решить этот вопрос... ;).
На самом деле syslogd в FreeBSD по умолчанию принимает логи с удаленных хостов, если только не запускать его с параметром -s (Operate in secure mode. Do not log messages from remote machines. If specified twice, no network socket will be opened at all, which also disables logging to remote machines.)
А так, попробуй снифером посмотреть идут ли логи с циски.

Daemon, 2006-09-25 в 10:45:26

Все работает, ни одной ошибки недопущенно, все по пунктам сделал. Все Ок.

kwizardsad, 2006-10-13 в 22:20:11

Во FreeBSD 5.4 столкнулся с херней:
если для syslogd поставить хоть один параметр, например -a a.b.c.d или -n, syslog c cisco логи не принимает.

Как только все ключи убрал нафик - все заработало.

meccup, 2006-12-28 в 10:17:30

2kwizardsad:
-a a.b.c.d:* решает все вопросы!

DS, 2007-03-23 в 23:08:48

Парочка дополнений.
В начале syslogd.conf будет полезно поставить
+@
в этом случае в "стандартные" файлы будет писаться информация только с локалхоста. В конце для железки добавляем:
+192.168.0.1
*.* /var/log/cisco.log

Так можно согребать все логи с одной железки в один файл (а логи другой - в соответственно другой).

Ну и насчет a.b.c.d:* - оно разрешает принимать сислогу сообщения с любого, ане только со стандартного порта. Кстати, тут можно задать не один адрес, а подсеть.
syslogd_flags="-a 192.168.1.0/24:* -a 192.168.2.1/32:*"

Сергей, 2007-03-29 в 9:54:32

Вообще же рекомендуется в общем случае использовать приём с циски по syslog только с ключами -a, чтобы принимать сообщения только с доверенных хостов.
Ибо злоумышленник из пространства может легко забить диск без этого.
И стало быть может потеряться нужный и важный кусок лога в самый неподходящий момент.

dies, 2007-07-17 в 16:44:50

У меня на FreeBSD 5.5 заработало только после добавления строки в rc.conf:
syslogd_flags="-a 192.168.1.1/24:*"

daimon_p, 2007-08-24 в 12:40:42

На 6.2 аналогично как у dies c пол-пинка пошло :)

Ivan Sinyansky, 2007-10-26 в 0:51:39

Может пригодиться, в FreeBSD 6.2 в файле /etc/syslog.conf есть
=======
!ppp
*.* /var/log/ppp.log
=======
поэтому, если добавить строку
=======
local0.* /var/log/cisco.log
=======
директива !ppp будет распространяться и на нее, у меня вылечилось так:
=======
!
local0.* /var/log/cisco.log
=======
решилось все переводом сислога в режим отладки

weec, 2008-06-17 в 15:29:46

оставлю заметку

помню както была проблема с логами
данные с cisco-маршрутизатора шли и syslogd их принимал, но в лог.файлы инфа не поступала
долго парился
решил проблему переносом ранее добавленных строчек (для cisco) в syslog.conf, снизу вверх

TheFeaR, 2008-06-17 в 23:16:31

а зачем таким долгим способом сохранять конфиг?

есть же wri(он-же write)

Rastler, 2008-09-09 в 18:04:19

Хорошая статья, у меня на Debian все сразу заработало.

pavel, 2009-07-23 в 16:11:58

Если логи в созданные самостоятельно файлы не пишутся, можно проверить, например, файл /var/log/messages на наличие логов с cisco. Поэтому, проверьте, чтобы указанные логи (local7.* например)не писались в другие файлы. Желательно, проверить программой tcpdump наличие логов вообще.

vintovkin, 2011-03-20 в 16:24:35

lissyara опять на высоте!!!спасибо Лёша за хорошую статью!
cisco#sh ru | i loggi
logging trap debugging
logging 192.168.200.3
logging synchronous
logging synchronous
cisco#

bsd# cat /etc/syslog.conf | grep cisco
*.*     /var/log/cisco2600
bsd#

rita, 2011-04-19 в 14:14:33

Как ни билась не пишет в лог и все тут. в тисипидумп видно что со свитча что то приходит.
в рц.конф:
syslogd_enable="YES"
syslogd_flags="-a 10.2.1.18/23:*"

в сислог.конф:
# For HP
!
+10.2.1.18
local2.* /var/log/hp.log

бсд7.2 и сервер перезапускала - бестолку :(

raibeh, 2011-04-21 в 11:27:29

!
+10.2.1.18
*.* /var/log/hp.log

Так должно работать

rita, 2011-04-22 в 12:01:50

Спасибо, разобралась.

nitrokamera, 2011-08-09 в 9:19:36

Господа а есть ли возможность просмотра всей этой красоты через WEB? Желательно с возможностью сортировки...

Виктор, 2011-08-17 в 16:26:24

ЕСТЬ!!! гуглите cisco mars ))

Valentin, 2012-09-05 в 22:28:09

После прочтения данной статьи хочется во первых сказать большое спасибо автору! А во вторых у меня все получилось только после редактирования файла

/etc/sysconfig/syslog   в строке  SYSLOG_OPTIONS="-m 0 " дописываем -r   получается SYSLOG_OPTIONS="-m 0 -r"
но у меня CentOs поэтому может быть я не в тему но кому-нибудь может пригодиться!



 

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

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.1367 секунд
Из них PHP: 48%; SQL: 52%; Число SQL-запросов: 77 шт.
Исходный размер: 26799; Сжатая: 8090