星期四, 2月 15, 2007

How-to Log Cisco Router/Switch with FreeBSD

How-to Log Cisco Router/Switch with FreeBSD

一般來說,安裝完 FreeBSD 之後系統就會有 syslog daemon,不過預設的那個 syslog 功能蠻陽春的,所以我們改用 syslog-ng 來替換原來的 syslog。

Step.1:
在 FreeBSD 上用 ports 安裝 syslog-ng:
cd /usr/ports/sysutils/syslog-ng
make install clean
修改 rc.conf 置換預設的 syslogd:

syslogd_enable="NO"
syslog_ng_enable="YES"
Step.2:
設定 syslog-ng:
cd /usr/local/etc/syslog-ng
cp syslog-ng.conf.sample syslog-ng.conf
vi syslog-ng.conf
基本上前面那堆設定都不用去改,在最後面加上如下設定:
(這個範例是兩台機器,一台叫 core 1 是在 192.168.1.1,另一台叫 core 2 在 192.168.1.2,這個設定是在真正運作中的設定取出兩台當範例的,完整的設定實際上是記錄十幾台機器)
### Cisco Routers, Switches ###

# core 1
destination core1.tpe { file("/var/log/cisco/core1.log"); };
filter f_core1.tpe { host("^192.168.1.1$"); };
log { source(src); filter(f_local7); filter(f_core1.tpe); destination(core1.tpe); };

# core 2
destination core2.tpe { file("/var/log/cisco/core2.log"); };
filter f_core2.tpe { host("^192.168.1.2$"); };
log { source(src); filter(f_local7); filter(f_core2.tpe); destination(core2.tpe); };
然後 touch 空檔案來做記錄,如此例中請用:
touch /var/log/cisco/core1.log
touch /var/log/cisco/core2.log
Step.3:
然後到 Cisco 的 Router 與 Switch 裡設定:
假設 log server 主機在 192.168.2.1 裡,你還必須要有 lv15 的權限:
conf t
logging 192.168.2.1
logging on
end
exit
這樣就可以了。

如果要知道更多詳細的設定請參考:
http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/dbook/dintro.htm
http://www.gentoo.tw/got-doc/syslog-ng.xml
http://www.campin.net/syslog-ng/faq.html

沒有留言: