FortiGate は NTP クライアントとして動作し、既定では FortiGuard の NTP サーバと時刻を同期します。この記事では、タイムゾーンの設定、時刻同期の確認、FortiGuard 以外の NTP サーバを使うカスタム設定を行います。検証時の FortiOS は 6.2.4 です。
ログやスケジュール、証明書の有効期限の確認など、多くの機能が正しい時刻を前提にしています。FortiGate を設置したら、最初に時刻を合わせておきましょう。
- GUI でのタイムゾーンの設定
- diagnose sys ntp status での時刻同期の確認
- CLI での NTP サーバのカスタム設定(time.google.com)
FortiGate の時刻同期
FortiGate は、既定では FortiGuard の NTP サーバ(ntp1.fortiguard.com、ntp2.fortiguard.com)に NTP(UDP 123)で問い合わせて時刻を合わせます。カスタム設定にすると、任意の NTP サーバを指定できます。また、FortiGate 自身をローカルの NTP サーバにして、配下の機器に時刻を配ることもできます。
タイムゾーンの設定
タイムゾーンを GMT+9 にする
日本で使う場合は、タイムゾーンを GMT+9:00 に設定するのが一般的です。システム ›› 設定 の システム時間 で、タイムゾーンを変更できます。
この記事の画面は、実際の画面ではなく、検証時の画面から設定する項目(見るポイント)を抜き出して描いたイメージです。バージョンによって、項目の並びや表記は変わります。
| 現在の時刻 | 2020/10/12 22:25:51 |
| 1タイムゾーン | (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul |
| 時刻設定 | ◉ NTP○ PTP○ マニュアル設定 |
| 2サーバ選択 | ◉ FortiGuard○ カスタム |
| 同期間隔 | 60 分 (1 – 1440) |
| デバイスをローカルNTPサーバとして設定 | ON |
| リッスンするインターフェース | fortilink |
| No. | 項目 | 内容 |
|---|---|---|
| 1 | タイムゾーン | (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul を選びます。 |
| 2 | サーバ選択 | 既定は FortiGuard です。同期間隔は 60 分で、1〜1440 分の範囲で変えられます。 |
この検証環境では デバイスをローカルNTPサーバとして設定 が有効で、fortilink のインターフェースで NTP の問い合わせを受けます。次の出力の server-mode: enabled は、この設定を表しています。
時刻同期の確認
diagnose sys ntp status で確認する
FortiGuard の NTP サーバと時刻を同期できているかは、CLI の diagnose sys ntp status で確認できます。
FortiGate
# diagnose sys ntp status synchronized: yes, ntpsync: enabled, server-mode: enabled ipv4 server(ntp1.fortiguard.com) 208.91.114.98 -- reachable(0xfe) S:0 T:96 server-version=4, stratum=2 reference time is e32ed589.9aed5f1 -- UTC Mon Oct 12 13:15:53 2020 clock offset is 0.000755 sec, root delay is 0.000122 sec root dispersion is 0.011810 sec, peer dispersion is 1 msec ipv4 server(ntp2.fortiguard.com) 208.91.113.71 -- reachable(0xff) S:1 T:93 server-version=4, stratum=2 reference time is e32ed593.84125302 -- UTC Mon Oct 12 13:16:03 2020 clock offset is 0.001936 sec, root delay is 0.000107 sec root dispersion is 0.011612 sec, peer dispersion is 1 msec ipv4 server(ntp2.fortiguard.com) 208.91.114.23 -- reachable(0xfe) S:0 T:96 server-version=4, stratum=2 reference time is e32ed58f.56647aa5 -- UTC Mon Oct 12 13:15:59 2020 clock offset is 0.002084 sec, root delay is 0.000153 sec root dispersion is 0.011948 sec, peer dispersion is 0 msec ipv4 server(ntp1.fortiguard.com) 208.91.113.70 -- reachable(0xff) S:1 T:93 selected server-version=4, stratum=2 reference time is e32ed5a2.d3164092 -- UTC Mon Oct 12 13:16:18 2020 clock offset is 0.001417 sec, root delay is 0.000168 sec root dispersion is 0.012253 sec, peer dispersion is 1 msec
FortiGuard の NTP サーバが 4 つ表示され、どれも到達できる状態(reachable)です。時刻を同期できていれば、1 行目に synchronized: yes と表示されます。
| 表示 | 意味 |
|---|---|
| synchronized: yes | NTP サーバと時刻を同期できています。 |
| ntpsync: enabled | NTP による時刻同期が有効です。 |
| server-mode: enabled | FortiGate がローカルの NTP サーバとしても動作しています(図2 の設定)。 |
| server(…) アドレス | NTP サーバの名前と、その名前を解決したアドレスです。1 つの名前に複数のアドレスがあるため、同じ名前が複数行に表示されます。 |
| reachable | その NTP サーバに到達できる状態です。 |
| selected | 時刻の同期に使っているサーバです。 |
| stratum | 基準となる時計からの階層です。数字が小さいほど基準の時計に近いサーバです。 |
| clock offset | NTP サーバと FortiGate の時計のずれ(秒)です。 |
最後に同期した時刻は、execute time の last ntp sync でも確認できます。
NTP サーバのカスタム設定
CLI で NTP サーバを指定する
FortiGuard ではなく、ほかの NTP サーバを使いたい場合は、カスタム設定にします。GUI の サーバ選択 で カスタム を選べるようにするには、初回は CLI で設定します。今回は、Google の NTP サーバである time.google.com を指定します。
FortiGate
# config system ntp (ntp) # set type custom (ntp) # config ntpserver (ntpserver) # edit 1 (1) # set server time.google.com (1) # end (ntp) # end
NTP サーバを指定する config ntpserver は、set type custom にしてから設定します。type が fortiguard のままでは、config ntpserver は設定できません。
同期できていることを確認する
もう一度 diagnose sys ntp status を実行すると、time.google.com と時刻を同期できていることがわかります。
FortiGate
# diagnose sys ntp status synchronized: yes, ntpsync: enabled, server-mode: enabled ipv4 server(time.google.com) 216.239.35.12 -- reachable(0xff) S:1 T:672 server-version=4, stratum=1 reference time is e32ed9dc.b5e0a32c -- UTC Mon Oct 12 13:34:20 2020 clock offset is 0.011783 sec, root delay is 0.000000 sec root dispersion is 0.000229 sec, peer dispersion is 1 msec ipv4 server(time.google.com) 216.239.35.8 -- reachable(0xff) S:1 T:672 selected server-version=4, stratum=1 reference time is e32ed9dc.b2a074ba -- UTC Mon Oct 12 13:34:20 2020 clock offset is 0.010061 sec, root delay is 0.000000 sec root dispersion is 0.000229 sec, peer dispersion is 0 msec ipv4 server(time.google.com) 216.239.35.0 -- reachable(0xff) S:1 T:672 server-version=4, stratum=1 reference time is e32ed9dc.b8c106e2 -- UTC Mon Oct 12 13:34:20 2020 clock offset is 0.011862 sec, root delay is 0.000000 sec root dispersion is 0.000214 sec, peer dispersion is 3 msec ipv6 server(time.google.com) 2001:4860:4806:4:: -- reachable(0xfe) S:0 T:672 no data ipv6 server(time.google.com) 2001:4860:4806:c:: -- reachable(0xfe) S:0 T:672 no data ipv6 server(time.google.com) 2001:4860:4806:: -- reachable(0xfe) S:0 T:672 no data ipv6 server(time.google.com) 2001:4860:4806:8:: -- reachable(0xfe) S:0 T:672 no data ipv4 server(time.google.com) 216.239.35.4 -- reachable(0xff) S:1 T:672 server-version=4, stratum=1 reference time is e32ed9dc.b2aa83cb -- UTC Mon Oct 12 13:34:20 2020 clock offset is 0.009996 sec, root delay is 0.000000 sec root dispersion is 0.000229 sec, peer dispersion is 1 msec
time.google.com のアドレスが IPv4、IPv6 で複数表示されています。IPv4 のサーバは reachable で、そのうち 216.239.35.8 が selected になっています。IPv6 のアドレスは no data で、同期には IPv4 のサーバが使われています。FortiGuard のサーバ(stratum 2)と違い、time.google.com は stratum 1 のサーバです。
GUI を確認すると、サーバ選択 が カスタム になり、time.google.com が設定されています。
| 現在の時刻 | 2020/10/12 22:44:47 |
| タイムゾーン | (GMT+9:00) Osaka, Sapporo, Tokyo, Seoul |
| 時刻設定 | ◉ NTP○ PTP○ マニュアル設定 |
| 1サーバ選択 | ○ FortiGuard◉ カスタム time.google.com |
| 同期間隔 | 60 分 (1 – 1440) |
| デバイスをローカルNTPサーバとして設定 | ON |
| リッスンするインターフェース | fortilink |
まとめ
| やりたいこと | 設定・コマンド |
|---|---|
| タイムゾーンの設定 | システム ›› 設定 の タイムゾーン(日本は GMT+9:00) |
| 同期の確認 | diagnose sys ntp status(synchronized: yes、selected) |
| 最後に同期した時刻 | execute time の last ntp sync |
| NTP サーバの変更 | CLI の config system ntp で set type custom にし、config ntpserver でサーバを指定 |
コメント