Router Benri Pack ユーザーズガイド 0.2.3向け - [rlog] Linksys Logger - [time] HTTP時刻調整 - [dydns] 動的DNS(dydns.org)クライアント Linksys Logger ============== Linksysルータ側の管理ページでログをRBPが動作しているマシンに 飛ばすように設定します。 rbp.confの設定ですが、多くの場合デフォルトのパラメータ値で大丈夫です。 詳しくはrbp.confのコメントを参照してください。 version 0.2.3からApacheのrotatelogs.exeを使ってsnmp.logの切り替えが 可能になりました。rotatelogs.exeをディレクトリにコピーし 以下のパラメータをrbp.confに書きます。 # 1週間に1回切り替えを行う場合 rlog_logio = pipe rotatelogs.exe "snmp-%Y%m%d.log" 604800 540 # デフォルト: 単一ファイルを使います。 rlog_logio = single snmp.log 生成されるsnmp.logファイルはUnix形式の改行です。 snmp.log内のIPアドレスを名前解決するPerlスクリプトもあります。 (バグっている可能性がありますのでデバッグしてください) > perl ana.pl snmp.log > ana.txt HTTP時刻調整 ============ インターネット上のWebサーバでUTC時間を提供しているサーバにアクセスし ある程度正確な現在時間を取得してきます。そしてマシンの時計と比較し ある程度差があれば取得してきた時間をマシンの現在時間として設定します。 NTPのような正確に同期が取れた時間ではなく、マシン時間の誤差が1分以内なら 十分だ、という状況でしか使用できないと思ってください。 - UTC時間を取得してくるWebサーバ 現状は以下のURLで固定です: http://tycho.usno.navy.mil/cgi-bin/timer.pl - 現在時間取得間隔 time_detect_intvl = は日数です。3ならば3日に1回だけUTC時間をアクセスしに行きます。 取得間隔を24時間未満に設定することはできません。 (.navy.milは米国海軍関連施設のようなので怒らせてはいけません) - time_update_min_diff = time_update_max_diff = 取得してきた時間とマシンの時間の差が 秒以上でかつ 秒以下の時だけ、マシンの時間を修正します。 デフォルトでは 誤差が60秒以上かつ3000秒(50分)以下の時だけ マシン時間を設定します。 - 動作ログ time_log_level に1以上の値を設定すると、動作ログをevent.logに 書き出します。デフォルト0の場合は、マシンの時間が設定されたときだけ ログを吐きます。 動的DNS(dydns.org)クライアント ============================== www.dydns.org 専用のDDNSクライアントです。 使い勝手はよくないのであまり他の方にお勧めはできません。 パラメータの説明は rbp.conf を参照願います。 - まず WAN側IPアドレスの取得ができるように設定します。 それまではパラメータdydns_update_enableはデフォルトの0にままにしておきます。 ルータがLinksysの場合は以下のURLがつかえます。 dydns_ipdetect_url = http://any:admin@192.168.1.1/Status.htm "WAN:" ルータを介していないのであれば、www.dydns.org提供のサイトを使用します。 dydns_ipdetect_url = http://checkip.dyndns.org/ "IP Address:" IPアドレス取得がうまく出来ているか確認するためログを取ります。 dydns_log_level = 2 dydns_log_file = ddns.log これでrbpサービスを起動して、ddns.logおよびevent.logをチェックします。 - もう一段テスト dydns_update_enable = 1 dydns_update_fake = 1 を設定して、rbpを再起動してログをチェックします。 ddns.logで、正しいIPアドレスが検出されerrmsg=[fake update only]と 書き込まれていればOKです。 - dydns_update_fake = 0にして rbpを再起動 これで実際にdyndns.orgのデータベースに更新をかけに行きます。 EOF