■ログの時刻表記
Ciscoルータで何か障害が発生した場合、大半の人がまず最初に実行するコマンドはshow loggingではないでしょうか?
Cisco機器のデフォルトの設定だとshow loggingで表示されるタイムスタンプは現在の時刻ではありません。そのイベントが発生してからの経過時間が表示されてしまいます。これでは何かあった際などには調査がしづらく今現在の正確な日時を表示したいと思うものです。
このイベント発生からの経過時間を表示する設定は以下の部分が該当します。
service timestamps debug uptime service timestamps log uptime |
これを今現在の日時(もちろん日本時間)を表示するように設定変更すれば良いわけでシスコからも奨励設定が提示されています。
service timestamps log datetime msec localtime show-timezone service timestamps debug datetime msec localtime show-timezone clock timezone JST 9 |
■時刻同期サーバ
NTPは相手サーバとの通信の遅延を計測し、受け取った時間情報を補正する機能です。時刻の同期方法では階層構造を採用しています。そして階層の数も16階層までと制限されています。NTPではこの階層をstratumと呼びます。階層の最上位 ( stratum 0 )は原子時計やGPSのような正確な時間を取得することのできるサーバです。そのサーバから時刻を受け取ったサーバがstratum 1、さらにstratum 1から時刻を受け取ったサーバがstratum 2と呼ばれます。stratum 16のサーバからは時刻を同期することはできません。またNTPでは1対1での時刻同期だけではなくマルチキャストやブロードキャストを使ってネットワーク上のホストに一斉に時刻を伝える方法もサポートしています。NTPではこのように時刻の伝達方法を制御することで大規模なネットワークにも対応できるようになっています。
インターネット上ではいくつかのstratum 1、stratum 2サーバが公開されています。
http://support.ntp.org/bin/view/Servers/WebHome
障害発生時には正確な時間も知りたいと思いますのでntpサーバを指定して常に時刻の同期をとることをオススメします。下記コマンドはサーバ/クライアントモードで同期をとる方法であり上位サーバと同期をとるコマンドになります。
ntp server xx.xx.xx.xx |
複数指定することも可能です。単にntp serverコマンドを繰り返せば良いのですが、優先させたいNTPにpreferオプションをつけることでそのNTPを最優先させることが可能です。
ntp server xx.xx.xx.xx prefer |
同位のストラタム同士で同期をとるコマンドも存在します。お互いに同期をとりあうのが本来の動きのようですが、一方だけでも動作します。但し、ストラタムが高いほうが低いほうに時刻を同期します。
ntp peer xx.xx.xx.xx |
自身をNTPサーバとして稼働するには以下のコマンドを実施します。なお、IOSのデフォルトのストラタムは7です。ntp serverと併用する際には外部NTPのストラタム以下であることが前提となります。但し、原因はよくわからないのですが、IOSのNTPサーバ機能はいつのまにか同期が外れて時刻が狂ってしまってるといったことが過去に何度もあったので、LinuxなどでNTPサーバを構築し、同期をとることをおすすめします。
ntp master [stratum] |
NTPサーバと通信する際の送信元インターフェイスを以下のコマンドで指定可能です。
ntp source <interface> |
時刻同期が有効かどうかは以下のコマンドで確認できます。
# show ntp associations address ref clock st when poll reach delay offset disp *~192.168.1.1 xx.yy.xx.yy 2 180 256 377 3.2 -0.86 0.3 * master (synced), # master (unsynced), + selected, - candidate, ~ configured # show ntp status Clock is synchronized, stratum 3, reference is 192.168.1.1 nominal freq is 119.2092 Hz, actual freq is 119.2084 Hz, precision is 2**18 reference time is D45B1A37.9DCF7F88 (19:04:39.616 JST Sat Nov 24 2012) clock offset is -0.8555 msec, root delay is 24.19 msec root dispersion is 27.76 msec, peer dispersion is 0.31 msec |
show ntp associations で*がついていれば同期がとれています。各項目の意味は次のようになります。
項目名 | 内容 |
address | 相手サーバの名称またはIPアドレス |
ref clock | 相手サーバが同期しているサーバのIPアドレス |
st | 階層 ( stratum ) 数 |
when | 最後の問い合わせからの経過時間 |
poll | 問い合わせ間隔 |
reach | 到達履歴 ( 最近8回分の到着状態を1ビットずつ8進数で表記 ) 。377で全て成功。 |
delay | 遅延時間 ( msec ) |
offset | 時刻サーバとのずれ ( msec ) |
disp | offsetの分散 ( msec ) 。小さい方が安定している。 |
また、show ntp statusでもsynchronizedが表示されていれば同期OKです。
私がシスコ機器を設定する際には必ず上記は入れ動作確認を行っています。でないと障害発生時に調査しづらくなりますので・・・・・・他業者が導入した機器などで上記が設定されておらず保守などがやりにくいという理由から客先から許可をもらって設定を変えたということも過去何度か。