NATでインターネット上にサーバを公開している場合,ダイヤルアップルータへのアクセス状況はサーバから直接把握することができない。しかし,ダイヤルアップルータにsyslog記録を行える機能が搭載されていれば,次の方法でサーバ上でログを一元管理することが可能だ。
まず最初に,syslogのログ記録内容を設定してファイル名を決める。ここではrouterというファイル名で記録させるようにした。
# vi /etc/syslog.conf user.debug;user.notice;user.info /var/log/router ←追加する |
ログ記録を始めるには,あらかじめログファイル(ここでは,/var/log/router)を0バイトの状態で作成しておかなければならない。さらに,syslogの起動スクリプトを編集して外部(ルータ)からログを受け入れるようにパラメータ(-r)を加える。
# touch /var/log/router # vi /etc/rc.d/init.d/syslog # See how we were called. case "$1" in start) echo -n "Starting system logger: " # we don't want the MARK ticks daemon syslogd -r -m 0 |
設定し終えたらsyslogを再起動させて編集内容を反映させる。
# /etc/rc.d/init.d/syslog restart |
ここまでの設定では,「/var/log/router」ログファイルが容量肥大化の一途をたどってしまう。そこで,ログファイルの分割を行う定義ファイルを編集して,ほかのsyslogログファイル(messagesやmaillogなど)と同じく1週間ごとに切り替えするように設定しよう。次の5行を付け加えればよい。
# vi /etc/logrotate.d/syslog /var/log/router { postrotate /usr/bin/killall -HUP syslogd endscript } |
最後にダイヤルアップルータの設定でsyslogをサーバに転送するようにしよう。ここではMN128での設定画面例だ。
ここでは,syslog転送先のサーバを「SYSLOGホストアドレス」で指定している
以上の操作で,次のようなログがrouterファイルに記録されるようになる。ログファイルの内容を詳しく知りたい人は,Linux How-Toを参考にしてほしい。
Jul4 14:17:01 192.168.0.1 PPP#0: LCP EQ received Jul4 14:17:01 192.168.0.1 PPP#0: LCP EP sent Jul4 14:17:28 192.168.0.1 IP#3: fnum=61 tx passed TCP from 192.168.0.200/80 to 203.139.xxx.xx/55532 Jul4 14:17:28 192.168.0.1 IP#3: fnum=61 tx passed TCP from 192.168.0.200/80 to 203.139.xxx.xx/55533 |
Copyright © ITmedia, Inc. All Rights Reserved.