NTP(Network Time Protocol)の設定 ~NTPサーバ構築~
今回の授業は、「CISCOルータでNTPサーバ構築」をしてみたいと思います。本番環境ではGPSで時刻同期をするのが一般的だと教えましたが、ローカル試験などではそこまで用意できないことが多いです。その場合、CISCOのルータをNTPサーバにして時刻同期させることがあります。今回は、その方法を教えていきたいと思いますので、しっかり学んでもらえればと思います。前回の概要の授業を受けられていない方は、こちらから受けてくださいね。
NTP(Network Time Protocol)の概要
お勉強構成
今回のお勉強構成は以下の通りとします。
また、NTPを導入するときは、階層構造を組むのが一般的と教えましたが、今回は、以下のような階層構造で時刻同期させてみたいと思います。すごくシンプルですが、サーバやネットワーク機器が増えると影響も変わってきますので、覚えておきましょう。
事前設定
それでは、事前設定をしていきたいと思います。今回は、インターフェイス設定と簡単はルーティング設定でそれぞれの機器でリーチャビリティーを確保していきたいと思います。
インターファイス設定
それではお勉強構成を見ながら、各機器のインターフェイス設定をしていきましょう。
【RT1】
RT1(config)#interface Loopback0
RT1(config-if)#ip address 10.1.1.1 255.255.255.255
!
RT1(config-if)#interface FastEthernet0
RT1(config-if)#ip address 10.10.1.1 255.255.255.0
【RT2】
RT2(config)#interface Loopback0
RT2(config-if)#ip address 10.1.1.2 255.255.255.255
!
RT2(config-if)#interface FastEthernet0
RT2(config-if)#ip address 10.10.1.2 255.255.255.0
!
RT2(config-if)#interface FastEthernet1
RT2(config-if)#ip address 10.10.2.2 255.255.255.0
【RT3】
RT3(config)#interface Loopback0
RT3(config-if)#ip address 10.1.1.3 255.255.255.255
!
RT3(config)#interface FastEthernet0/0
RT3(config-if)#ip address 10.10.2.3 255.255.255.0
まずは、このインターフェイス設定ができることは基本ですね。この設定はサラッと出来るようになりましょうね。
ルーティング設定
今回は、全てのインターフェイスをEIGRPのネットワークに含めてしまいましょう。それで全てのセグメントがEIGRPで伝搬されることなります。
【RT1】
RT1(config)#router eigrp 10
RT1(config-router)#no auto-summary
RT1(config-router)#network 10.1.1.1 0.0.0.0
RT1(config-router)#network 10.10.1.0 0.0.0.255
【RT2】
RT2(config)#router eigrp 10
RT2(config-router)#no auto-summary
RT2(config-router)#network 10.1.1.2 0.0.0.0
RT2(config-router)#network 10.10.1.0 0.0.0.255
RT2(config-router)#network 10.10.2.0 0.0.0.255
【RT3】
RT3(config)#router eigrp 10
RT3(config-router)#no auto-summary
RT2(config-router)#network 10.1.1.3 0.0.0.0
RT2(config-router)#network 10.10.2.0 0.0.0.255
これでルーティング設定は完了です。このEIGRPの設定がうまくできなかった方は、過去の授業で設定コマンドを教えていますので、こちらで復習しておいてください。今回は、ルーティングの確認は割愛させていただきます。
EIGRPの概要 ~設定編①~
時刻設定
NTP設定の前に、NTPサーバ自体が時刻が正しくないと同期させても意味がないので、先に時刻設定をしておきましょう。まずは、タイムゾーンを日本時間に合わせるところからになります。
【RT1】
RT1(config)#clock timezone JST 9
タイムゾーンを日本時間に合わせたら、次に時刻を合わせていきます。今回は、『2019年1月1日10:00』にセットしてみたいと思います。
【RT1】
RT1#clock set 10:00:00 1 Jan 2019
この設定は『システムクロック』といい、ルータのメモリ上で動作します。そのため、ルータを再起動するとリセットされてしまいます。もし再起動後も時刻設定を維持したいのであれば、『ハードウェアクロック』に設定を反映させる必要があります。以下のような設定となります。
【RT1】
RT1#clock update-calendar
これでNTPサーバ自体の時刻設定が完了しました。それでは、他のネットワーク機器にNTP同期の設定をしていきたいと思います。
NTP設定
それでは本題のNTP設定に入っていきます。
NTPサーバの構築
まずは、NTPサーバを作っていきます。今回は、ルータ1をNTPサーバにしていくわけですが、ここで指定しておくのが『stratum値』です。今回はStratum値を『3』を指定しておきます。
RT1(config)#ntp master 3
たったこれだけです。これでルータ1がNTPサーバになれました。それでは、階層的に同期させていきたいと思います。
NTP同期
それでは、NTP同期の設定させていきます。ルータ2はルータ1を、ルータ3はルータ2を参照するような階層構造で時刻同期させていきたいと思います。また同期に使用する送信元のIPアドレスを各ルータのLoopbackアドレスを指定してみたいと思います。それ以外にもNTP同期には認証などの設定もできますが、最初なので割愛します。
【RT2】
RT2(config)#ntp server 10.1.1.1 prefer
RT2(config)#ntp source Loopback0
今回、NTPサーバの同期先を1つにしていますが、2つ以上選択する場合は『ntp server address』に続けて『prefer』を付けることで、優先的に同期させることが出来ます。よく使われる設定ですので覚えておきましょう。それでは、ルータ3も同様に設定していきましょう。
【RT3】
RT3(config)#ntp server 10.1.1.2 prefer
RT3(config)#ntp source loopback 0
ここまで出来たらNTPのステータスを確認していきます。
ステータス確認
NTPのステータス確認で使用されるコマンドは以下の2つになります。
まずは、『show ntp associations』で同期先の情報を見てみましょう。今回、ルータ1はマスターとなっているので、同期先が『127.127.1.1』と表示されていればOKです。
【RT1】
RT1#show ntp associations
address ref clock st when poll reach delay offset disp
*~127.127.1.1 .LOCL. 2 4 16 377 0.000 0.000 0.262
* master (synced), # master (unsynced), + selected, – candidate, ~ configured
次にルータ2のステータス確認に入りますが、同期先はルータ1のLoopback0のアドレス(10.1.1.1)が表示されており、その前に『*~』が付いていればOKです。この『*』はマスターとして同期できていること表されています。それ以外にも、多くのステータス情報が記載されていますが、特に注目してみてもらいたいのが以下となります。
この辺を確認しておきたいところですが、NTPの設定は、Config投入したらすぐに同期が出来てるものではありません。『*』が表示されないからと言って、焦って設定をコロコロ変更するのではなく、しばらく同期できるのを信じて待ちましょう。
【RT2】
RT2#show ntp associations
address ref clock st when poll reach delay offset disp
*~10.1.1.1 127.127.1.1 3 32 64 377 0.992 13.496 2.393
* master (synced), # master (unsynced), + selected, – candidate, ~ configured
【RT3】
RT3#show ntp associations
address ref clock st when poll reach delay offset disp
*~10.1.1.2 10.1.1.1 4 39 64 177 1.3 -7.38 127.1
* master (synced), # master (unsynced), + selected, – candidate, ~ configured
このように同期が出来ていたらOKですね。次のコマンド『show ntp status』で確認を進めたいと思います。以下のように表示されているはずですね。
【RT2】
RT2#show ntp status
Clock is synchronized, stratum 4, reference is 10.1.1.1
nominal freq is 250.0000 Hz, actual freq is 249.9995 Hz, precision is 2**15
reference time is DFD55580.F0CD9873 (02:57:04.940 UTC Tue Jan 1 2019)
clock offset is 13.3114 msec, root delay is 1.02 msec
root dispersion is 16.75 msec, peer dispersion is 3.14 msec
loopfilter state is ‘CTRL’ (Normal Controlled Loop), drift is 0.000001940 s/s
system poll interval is 64, last update was 88 sec ago.
ここで表示されている『stratum 4』は、自分自身のStratum値となります。マスターにしたルータ1がStratum3として設定したので、1つ加算されたことがわかりますね。同様にルータ3では、さらに加算した『5』が表示されているはずです。確認してみましょう。
【RT3】
RT3#show ntp status
Clock is synchronized, stratum 5, reference is 10.1.1.2
nominal freq is 250.0000 Hz, actual freq is 250.0069 Hz, precision is 2**18
reference time is DFD557F3.D238E40E (03:07:31.821 UTC Tue Jan 1 2019)
clock offset is -17.4460 msec, root delay is 2.12 msec
root dispersion is 36.03 msec, peer dispersion is 0.23 msec
ここまで確認できたらOKですね!
まとめ
今回の授業はここまでとします。いかがでしたか?実際にNTPサーバを作るコマンドはそれほど多くないですし、難しくないですよね。しかし、なかなか同期してくれなくて不安になることも含めて、自宅ラボで感覚を掴んでおくことをおすすめします。結構、最初は不安になるものですよ。