syslogによるルータの管理(CentOS編)


おやじが所有しているルータ ( NTT-ME BA8000 Pro / MN8300W ) には syslog 機能があるため、従来どおりサーバで共通管理できるようにしてみました。
基本的には RedHat の時と何も変わりはありませんが、今回は、syslog でルータからのログを受信するように設定するところが異なります。
ルータで検出した不正アクセスの状況を、グラフ化してみました。

■サーバの設定

以下の順番で設定を行っていきます。

  1. まず、ログファイルを0バイトの状態で作成しておかなければならないので、他のログと同じように /var/log 配下に router というファイルを作成する。

    # touch /var/log/router

  2. syslogのログ記録内容を全て(debug、notice、info)とし、上記ファイル名で記録するよう、下記の1行を追加する。infoと/varの間は「Tab」である。

    # vi /etc/syslog.conf
    user.debug;user.notice;user.info /var/log/router 

  3. 次に/etc/sysconfig/syslogを編集して、ルータからのログを受信するようにパラメータ(-r)を追加する。(下記の青字

    # vi /etc/sysconfig/syslog

    # Options to syslogd
    # -m 0 disables 'MARK' messages.
    # -r enables logging from remote machines
    # -x disables DNS lookups on messages recieved with -r
    # See syslogd(8) for more details
    SYSLOGD_OPTIONS="-m 0
    -r"
    # Options to klogd
    # -2 prints all kernel oops messages twice; once for klogd to decode, and
    # once for processing with 'ksymoops'
    # -x disables all klogd processing of oops messages entirely
    # See klogd(8) for more details
    KLOGD_OPTIONS="-x"

    [Esc]、[:]、[w]、[q]で保存。

  4. このままではログが肥大化するので、他のログと同様にrotateするように、/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
    }


    [Esc]、[:]、[w]、[q]で保存。

  5. 設定が終わったら、sysylogを下記で再起動し、ルータからの情報を受信できるようにする。

    # /etc/rc.d/init.d/syslog restart

    以上で、サーバ側の設定は終了であり、続いてルータ側の設定を行う。

■ルータの設定

BA8000Pro と MN8300W の設定例を示します。

  1. ルータ(BA8000 Pro)側の設定は、メンテナンス->ログで行う。下記に示すように、ログ方法の「syslog」にチェックマークを入れ、syslogレベルの「info」と「notice」にチェックマークを入れる。「Debug」をチェックすると全てのログを収集するので、ログが膨大になるので、トラブル解析以外ではチェックしないほうが良い。更に、syslogサーバIPアドレスとして、サーバのIPアドレスを入力し設定すれば、完了である。

  2. MN8300W では、詳細設定 -> オプション設定 -> syslog で行う。「syslogサーバ名」にサーバの IP アドレス( DNS が使用できるなら名前でも可) を指定し、「イベントログの通知」は「使用しない」、「セキュリティログの通知」は「使用する」を選択して、「設定」ボタンを押せば完了である。


Top Pageへ