ラズパイ4にChronyでNTPサーバを立てる
目次
- NTPサーバとは
- インストール
- 補足
- 参考文献
NTPサーバとは
NTPサーバ(Network Time Protocol server)とは,ネットワーク上で正確な時刻情報を提供をするためのサーバである.
NTPは,RFC1305とRFC4330で決められている.
本記事ではNICTの公開NTPサーバにあわせている.
環境
機能 | 説明 |
---|---|
PC | RaspberryPi 4 |
OS | Ubuntu24.04 LTS |
インストール
OSのアプデートを行う
この行為を飛ばしていきなりインストールから始める人をたまに見かけるけどよっぽどのことがない限り,アップデートはこまめにやるべし.
$ sudo apt update | sudo apt upgrade -y
Chronyをインストール
$ sudo apt install chrony
設定ファイルの変更
$ sudo vim /etc/chrony/chrony.conf
もともと設定されているNTPサーバをコメントアウトして,server ntp.nict.jp iburst
を追加.
また,同一LANからアクセスでききるようにallow 192.168.1.0/24
を追加.
- pool ntp.ubuntu.com iburst maxsources 4
- pool 0.ubuntu.pool.ntp.org iburst maxsources 1
- pool 1.ubuntu.pool.ntp.org iburst maxsources 1
- pool 2.ubuntu.pool.ntp.org iburst maxsources 2
+ # pool ntp.ubuntu.com iburst maxsources 4
+ # pool 0.ubuntu.pool.ntp.org iburst maxsources 1
+ # pool 1.ubuntu.pool.ntp.org iburst maxsources 1
+ # pool 2.ubuntu.pool.ntp.org iburst maxsources 2
+ server ntp.nict.jp iburst
+ allow 192.168.1.0/24
動作しているか確認
$ systemctl restart chrony # 再起動
$ chronyc sources -v
ntp-b2.nict.go.jp
の前に^*
が表示されていれば設定完了.
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current best, '+' = combined, '-' = not combined,
| / 'x' = may be in error, '~' = too variable, '?' = unusable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b2.nict.go.jp 1 6 17 35 -1223ns[ +597us] +/- 9632us
補足
タイムゾーンの設定
date
コマンドを使って時刻を確かめたら,かなりずれていたので原因を探ったところタイムゾーン設定が間違っていることに気づいた.
初期状態ではUCT()になっていたため9時間の時差が生まれていた.
タイムゾーン設定の変更を備忘録として書いておく.
タイムゾーンとして設定できる地域のリストがあるのでAsia/Tokyoがあることを確認
$ timedatectl list-timezone
正しいタイムーゾンを設定する
$ sudo timedatectl set-timezone Asia/Tokyo
$ timedatectl # 確認
タームゾーン設定前
Local time: Thu 2024-06-06 03:18:44 UTC
Universal time: Thu 2024-06-06 03:18:44 UTC
RTC time: n/a
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
タイムゾーン設定後
Local time: Thu 2024-06-06 12:33:39 JST
Universal time: Thu 2024-06-06 03:33:39 UTC
RTC time: n/a
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
chronyの同期確認と再起動を行う
$ chronyc tracking
$ chronyc sources -v
$ sudo systemctl restart chrony
外部NTPサーバへのアクセス間隔
同期するために設定したNICTの公開NTPサーバでは無料で使えますが,アクセス間隔(ポーリング間隔)が決まっている.
[Q. 1-4] ポーリング間隔(アクセス回数)に制限はありますか?
[A. 1-4] 1時間平均で20回(1日の合計が480回)を超えないようにしてください。 それ以上が必要な場合は事前にご連絡ください。
何も設定していない場合だと,最小の間隔は
設定
もし設定するなら次のようにする.
ただし,maxpoll
の設定値は
server ntp.nict.jp iburst minpoll 6 maxpoll 11
Discussion