Cisco IOSでのNTPについて

トポロジ

以下のトポロジで設定を確認していきます。

基本的なNTP設定

clock set/calendar set

同期していることが分かりやすいようにNTPサーバで時刻の設定をします。システムクロックとハードウェアクロックどちらも時刻同期することが出来るので両方とも設定します。
なお、機器とNTPサーバの時刻差があるとうまく同期されないことがあるのですべての機器で設定しています。

NTPサーバの設定

R6をstratum 1のNTPサーバ、R4とR5をstratum 2のNTPサーバとして設定します。また、R4とR5はお互いに時刻同期をするようにpeerコマンドを設定します。
ntp update-calendarコマンドによってハードウェアクロックも同期することが出来ます。

NTPクライアントの設定

NTPサーバのIPアドレス、またはホスト名を指定して設定します。なお、ntp masterコマンドを設定したNTPサーバでntp serverコマンドを使用すると基本はNTPクライアントとして動作をしてNTPサーバと同期がとれないときに自信がNTPサーバになります。
preferコマンドを使用することで、優先してそのサーバで時刻同期をするようにします。
sourceコマンドを使用することでNTP時刻同期の通信に使用するIFを指定することが出来ます。

同期確認

show ntp associationsコマンドで同期状態を確認することが出来ます。設定どおりR1はR4(14.1.1.4)と同期、R4とR5はR6(46.1.1.6,56.1.1.6)、R6は自分自身(127.127.1.1)と同期しています。
また、shoc clockでシステムクロック、show calendarでハードウェアクロックの時間を確認することが出来、R6の設定値と同期されていることが分かります。

NTPサーバ冗長化確認

R4はR6と通信ができなくなったので自信をNTPルータとして動作するようになります。

また、R1はR4と通信できなくなったのでR5と同期をとるようになります。

NTPブロードキャスト

NTPサーバからの通信をブロードキャストに設定することが出来ます。ブロードキャストを送信するIFと受信するIFにコマンドを適応させます。
ntp broadcastdelayコマンドを使用することで、推定ラウンドトリップ遅延を1マイクロ秒に設定します。

同期確認

R2とR3は問題なくR4と同期がとれています。

NTP認証

NTP通信に対して認証の設定をします。

基本設定

R2とR4のNTP通信に対して認証設定を行います。

NTPのアクセス制御

NTPのアクセス制御はquery-only,serve-only,serve,peerと4種類の制御が可能です。
query-onlyは制御クエリのみ許可、serve-onlyは時刻情報の送信のみ許可、serveは時刻情報の送信と制御クエリの応答を許可、peerはpeerとの時刻同期、制御クエリ、時刻情報の送信を許可します。
制御クエリについては調べても具体的にどのような通信なのかわかりにくく、検証環境を用意することが難しそうだったのでpeerとserve-onlyのみ確認します。

基本設定

R4とR5で時刻同期の通信を許可して、R4ではR1のみ時刻情報の送信を許可するように設定します。

参考文献

Chapter: Network Time Protocol