• 無線LANルーターのログをLinuxのsyslogへ転送し、ログファイルに記録します。

環境

  • 無線ルーター WHR-G300N (ルーターモード)
  • Linux(Fedora 13)

Linux側の設定(rsyslog)

(昔はsyslogでしたが、最近は rsyslogらしい)

  • /etc/sysconfig/rsyslogを編集します。
#SYSLOGD_OPTIONS="-c 4"    元の状態をコメントアウト
SYSLOGD_OPTIONS="-r -m 0"
  • /etc/rsyslog.conf へ下記追記。(UDPの箇所、コメントになっていた箇所を有効にしました。)
$ModLoad imudp.so
$UDPServerRun 514
  • /etc/rsyslog.conf へ下記も追記。このルーターのファシリティ値は local1 です。好きなログファイル名を指定します。
local1.*   /var/log/local1.log
  • /etc/rsyslog.conf の修正。このままだと、/var/log/messagesへも local1の内容が出力されるので、 /var/log/messages行に local1.none を追記。
#*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none;local1.none                /var/log/messages

参考:Syslogサーバにおけるファシリティ値を教えてください。【AirStation】:http://buffalo.jp/php/lqa.php?id=BUF6516

  • 設定できたら、rsyslogをリスタートします。
# /etc/init.d/rsyslog restart

Linux側の設定(iptables)

  • ファイアーウォール(iptables)の設定もUDP 514を受け付けるように設定します。
  • 自分の場合は、下記設定してあります。
/etc/sysconfig/iptables

(snip)
-A INPUT -m state --state NEW -s 192.168.1.0/24 -j ACCEPT
(snip)
  • 設定変更した場合はiptablesを再設定します。
/etc/init.d/iptables restart

ルーター側の設定

  • 設定画面へログインし、管理設定→ログを表示し、「ログ情報転送機能」にチェックします。syslogサーバにLinuxのアドレスを指定。
  • 設定ボタンを押し、画面の指示どおり何秒か待ちます。

うまく通信できない場合の確認

tcpdump -X -vvv -s 1500 port 514

facebook slideshare rubygems github qiita