ネットワーク構築後、通信が正常に行えないという場合にどこに原因があるのかを探すため、ログを調査することがあります。
ここでは、ログを取得するための設定を説明します。
当方の環境は YAMAHA RTX1000
を例にとって手順を説明していますが、RT57i
, RT58i
,
RTX1100
,
RTX1200 ,
RTX810 ,
RTX1210
でも設定は同じだと思います。
ネットワーク構築後、通信が正常に行えないという場合にどこに原因があるのかを探すため、ログを調査することがあります。
ここでは、ログを取得するための設定を説明します。
当方の環境は YAMAHA RTX1000
を例にとって手順を説明していますが、RT57i
, RT58i
,
RTX1100
,
RTX1200 ,
RTX810 ,
RTX1210
でも設定は同じだと思います。
ログはshow log コマンドで閲覧ができます。
# show log
2004/09/11 21:15:09: [INSPECT] LAN2[out][xxxx] TCP xx.xx.xx.xx:1808
> xx.xx.xx.xx:80 (2004/09/11 21:15:04)
2004/09/11 21:15:09: [INSPECT] LAN2[out][xxxx] TCP xx.xx.xx.xx:1809
> xx.xx.xx.xx:80 (2004/09/11 21:15:04)
表示できるログの種類は以下の3種類あります。
ログのタイプ | 説明 |
---|---|
NOTICE | パケットフィルタリングで、落としたパケットの情報 |
INFO | 通常の情報 |
DEBUG | 障害解析などの為に、ISDNやPPPのデバッグ情報 |
があり、RTX1000ではデフォルトでINFOのみ有効になっています。
ログのタイプの追加は以下の通りです。
【書式】
syslog notice on/off
syslog info on/off
syslog debug on/off
個人的には問題となるのは自分で設定したフィルタルールによる意図せぬ動きだと思いますのでNOTICEタイプのログは残した方がよいかと思います。また、ログの量は多くなりますがDEBUGタイプも残してもよいと思います。
# syslog notice on # syslog debug on
NOTICEタイプを有効にすることでフィルタルールのログが残るようになります。
passのルールではデフォルトではログが残りませんので必要に応じて
ip filter 100099 pass-log * * * * *
に変更してログを残してもよいかも知れません。
ここでは、フィルタ設定については説明しませんので詳しくは ヤマハルータの基本的なフィルタ設定 を参照下さい。
RTX1000で、show log として表示できるログは500行分のみでこれでは調査したいログを全てみることができまん。
そこで、YAMAHAルータのログをLinuxサーバへ転送する方法を説明します。
ここでは以下の構成として説明します。
インターネット | LAN2 | 61.YY.YY.YY +---------+ | RTX1000 | +---------+ LAN1 | .1 | 192.168.1.0/24 -------+--+------------------ | | .100 +------------+ |syslogサーバ| | Linux | +------------+
(1) ヤマハルータの設定
まず、syslogを受け取るサーバ(Linux)のIPアドレスを設定します。
# syslog host 192.168.1.100
SYSLOGファシリティを設定します。デフォルトでは user となっていますが user は既にLinux上では利用されていたりと面倒ですので local0 ~ local7 で定義します。
【書式】
syslog facility user/local0..local7
※今回はlocal7を選択しました。
# syslog facility local7
(2) Linuxサーバの設定
まず、local7のファシリティで送り出されるログを別ファイルとして保存するように設定します。
設定は /etc/syslog.conf を編集します。最後に以下の記述を追加すればOKです。
local7.* /var/log/rtx.log
この設定は /var/log/rtx.log に残るという意味です。
/var/log/rtx.log は存在しませんので空ファイルを用意しましょう。
# touch /var/log/rtx.log
続いてLinux標準のsyslogはサーバはデフォルトでは外部から受けることが出来ません。
syslogの起動オプションに -r を追加して起動するようにします。
起動スクリプトの /etc/rc.d/init.d/syslog を編集します。
daemon syslogd -r -m 0
変更後、syslogサーバを再起動します。
# /etc/rc.d/init.d/syslog restart
これでログが /var/log/rtx.log に残るようになりました。
ログの残る制限もありませんし便利ですよね?
しかし、実は /var/log/messages にも同じログが残ってしまいます。
これでは、かっこわるいので /etc/syslog.conf を再度編集します。
*.info;mail.none;authpriv.none;local7.none /var/log/messages
これでlocal7.noneは除外されます。もちろんsyslogサーバの再起動を行って下さい。
かなり、Linuxよりの話になりますが、syslog経由のログになりますのでログのローテーションにも追加しましょう。
追加場所は /etc/logrotate.d/syslog です。
/var/log/rtx.log { postrotate /usr/bin/killall -HUP syslogd endscript }
これでログはsyslogのローテーションと一緒になります。(^^;
かなり、Linuxよりの話になりましたがログの取得方法についての説明はこれで終わりです。
ヤマハルーター運用設定マニュアル RTX1200/ SRT100のGUI&コマンドラインの実践
住商情報システム株式会社 協力 (監修), ネットワークマガジン編集部 (編集) |
|
ヤマハルータコマンドリファレンス 毎日コミュニケーションズ / 井上 孝司 ¥ 2,940 |
|
ヤマハルータでつくるインターネットVPN 毎日コミュニケーションズ / 井上 孝司 |
|
ヤマハルータでつくるインターネットVPN 毎日コミュニケーションズ / 井上 孝司 |