syslogによるルータの管理
今回購入したルータ(NTT-ME BA8000 Pro)にはsyslog機能があるため、
こちらを参考にサーバで共通管理できるようにしてみました。
今までのルータではわからなかったのですがログを見てみると、1時間に4〜5回、インターネット側からUDPの137ポートからアクセスがあり、ブロックしていることがわかりました。ルータでプライベートIPアドレスの偽装とファイル共有関係(TCP&UDP
137〜139番ポート)のフィルタが設定できない場合、あるいは設定する自信のない方は、ファイル共有サービスは絶対に使用しないことを薦めます。おやじはフィルタの設定はしていますが、ファイル共有は使用していません。
syslogを取るようにする設定は、いとも簡単でした。他のデストリビューションでも同様の方法で対応は可能かと思います。
■サーバの設定
まず、ログファイルを0バイトの状態で作成しておかなければならないので、他のログと同じように
/var/log 配下に router というファイルを作成する。
syslogのログ記録内容を全て(debug、notice、info)とし、上記ファイル名で記録するよう、下記の1行を追加する。infoと/varの間は「Tab」である。
# vi /etc/syslog.conf
user.debug;user.notice;user.info /var/log/router |
次にsyslogの起動スクリプトを編集して、ルータからのログを受信するようにパラメータ(-r)を追加する。(下記の青字)
# vi /etc/rc.d/init.d/syslog
(snip)
start() {
echo -n $"Starting system logger: "
daemon syslogd -r $SYSLOGD_OPTIONS
RETVAL=$?
echo
echo -n $"Starting kernel logger: "
daemon klogd $KLOGD_OPTIONS
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/syslog
return $RETVAL
} |
このままではログが肥大化するので、他のログと同様にlotateするように、/etc/logrotate.d/syslogを編集し、1行目に他のファイルに続けて /var/log/routerファイル(下記の青字)を追加する。
# vi /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/router {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2>
/dev/null || true
endscript
} |
設定が終わったら、sysylogを下記で再起動し、ルータからの情報を受信できるようにする。
# /etc/rc.d/init.d/syslog restart
|
以上で、サーバ側の設定は終了であり、続いてルータ側の設定を行う。
■BA8000 Proの設定
ルータ(BA8000 Pro)側の設定は、メンテナンス->ログで行う。下記に示すように、ログ方法の「syslog」にチェックマークを入れ、syslogレベルの「info」と「notice」にチェックマークを入れる。「Debug」をチェックすると全てのログを収集するので、ログが膨大になるので、トラブル解析以外ではチェックしないほうが良い。更に、syslogサーバIPアドレスとして、サーバのIPアドレスを入力し設定すれば、完了である。
Top Pageへ