ホーム » 「ntp」タグがついた投稿
タグアーカイブ: ntp
chronyからntpd-rsに変更&断念
タイムサーバーを ntpsec から chrony に変更したけど、最近は Rust で作られた ntpd-rs がある。
ただし、現時点では正式の time-daemon のパッケージではないため、Gemini の指示にしたがいインストール後に ntpd-rs を正式 time-daemon に見せるダミーパッケージをインストール。
ntpd-rs の設定
設定ファイルは、ntpsec や chrony に比べてシンプル。
$ cat /etc/ntpd-rs/ntp.toml
[observability]
log-level = "info"
observation-path = "/var/run/ntpd-rs/observe"
# 近い信頼できるNTPサーバ (通常のUDP NTP)
[[source]]
mode = "server"
address = "ntp.ttn.ne.jp"
[[source]]
mode = "server"
address = "ntp.nict.jp"
[[source]]
mode = "pool"
address = "jp.pool.ntp.org"
count = 2
# Use NTS by default (セキュアなNTSサーバー)
[[source]]
mode = "nts"
address = "1.ntp.ubuntu.com"
[[source]]
mode = "nts"
address = "2.ntp.ubuntu.com"
[[source]]
mode = "nts"
address = "ntp-bootstrap.ubuntu.com"
[[source]]
mode = "nts"
address = "time.cloudflare.com"
[[server]]
listen = "[::]:123"
[[server]]
listen = "0.0.0.0:123"
[synchronization]
single-step-panic-threshold = 1800
startup-step-panic-threshold = { forward="inf", backward = 86400 }
$ ntp-ctl status
Synchronization status:
Dispersion: 0.000082s, Delay: 0.015811s
Stratum: 2
Sources:
1.ntp.ubuntu.com:4460/185.125.190.122:123 [NTS] (8): -0.009390±0.497491(±0.247497)s
poll interval: 16s, missing polls: 1
root dispersion: 0.000626s, root delay:0.005386s
NTS cookies: 7/8 available
2.ntp.ubuntu.com:4460/185.125.190.123:123 [NTS] (9): -0.007995±0.005547(±0.232832)s
poll interval: 16s, missing polls: 0
root dispersion: 0.000717s, root delay:0.005508s
NTS cookies: 8/8 available
:
ntpd-rs のサーバ化で断念
ntpd-rs は正しく動いているけど、自宅内ネットワークで動機させるためのサーバ機能が動いていない。
Servers:
0.0.0.0:123: received 0, accepted 0, errors 0
denied 0, nts nak 0, rate limited 0, ignored 0
[::]:123: received 0, accepted 0, errors 0
denied 0, nts nak 0, rate limited 0, ignored 0
“$ sudo ss -anup | grep :123″などを実行したけど、0.0.0.0:123 などが見えない。ntpd-rs がサーバ機能を動かしていないみたい。現時点では ntpd-rs ダメだな。今回は 断念。chrony に戻す。
ntpsec を chrony に移行
Ubuntu 25.10 への移行の記事をみていたら、ntp サーバ ntpsec が chrony になるとのことなので、先んじて chrony に移行しておく。chrony の設定記事を探すと、/etc/chrony/chrony.conf に設定を記載する話になっているけど、Debian だと設定ファイルを細かく分けて、デフォルト設定ファイルは触らないで、個人設定は別に記載するのが流儀。
$ sudo apt install chrony ### ntpsec がアンインストールされる。 $ sudo vi /etc/chrony/sources.d/local-ntp-server.sources # 自宅ネットワーク環境にあわせて server を追加 server ntp.ttn.ne.jp iburst ipv4 server ntp.nict.jp iburst ipv4 prefer pool jp.pool.ntp.org iburst ipv4 $ sudo vi /etc/chrony/conf.d/allow.conf # 自宅ネットワークからntpを参照できるように allow 127.0.0.1 allow 192.168.11.0/24 $ sudo systemctl restart chrony $ chronyc sources MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^+ ntp-nts-2.ps5.canonical.> 2 6 17 22 +5775us[+5775us] +/- 124ms ^- ntp-nts-3.ps5.canonical.> 2 6 17 23 +5795us[+5795us] +/- 124ms ^* ntp-nts-2.ps6.canonical.> 2 6 17 24 -8694us[-9701us] +/- 88ms ^+ ntp-nts-3.ps6.canonical.> 2 6 17 23 +6458us[+6458us] +/- 104ms ^- 103.131.151.30 3 6 17 24 -8991us[-8991us] +/- 35ms ^- ntp-nts-1.ps6.canonical.> 2 6 17 24 -21ms[ -21ms] +/- 103ms ^- ntp-k1.nict.jp 1 6 17 23 -7807us[-7807us] +/- 13ms ^- ntp.ttn.ne.jp 2 6 17 24 -7393us[-7393us] +/- 40ms
これにあわせて、自宅内の raspberry-pi の端末の確認をしていたら、サーバ1台の ntp しか参照していない。せめて 直の上位のプロバイダの ntp.ttn.ne.jp も参照してほしい。確認すると、DHCP で接続したサーバだけに問い合わせるようになっている。/etc/default/ntpsec を修正して DHCP サーバではなく /etc/ntpsec/ntp.conf を見るように設定する。
((( /etc/default/ntpsec ))) IGNORE_DHCP="yes"
((( 追記 2026/04/26 )))
chronyc sources を実行した結果を Gemini にかけたら、国内の nict.jp が優先されていないとのアドバイス。
server ntp.nict.jp iburst ipv4 prefer
~~~~~~ 追記
ntpが正しく動かなくなった
ntp サーバが正しく動かない
NTPが正しく動いていない。nagios で、check_ntp_peer コマンドにて、NTP サーバの動作を検証しているが、
# /usr/lib/nagios/plugins/check_ntp_peer -H 127.0.0.1 NTP CRITICAL: Server not synchronized, Offset unknown|offset=0.000000s;60.000000;120.000000;
にて、同期がとれていないとのメッセージ。いろいろと、/etc/ntp.conf を触ってみるが、うまく動いていない。
ntp プロセスを確認すると、
# ps ax | grep ntp 9999 ? Ssl 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -c /run/ntp.conf.dhcp -u 122:130
となっていて、設定ファイル /etc/ntp.conf を参照せずに、/run/ntp.conf.dhcp を読み込んでいる。この設定ファイルでは、dhclient で DHCP にて IP アドレスをもらう際に、ntp-server が指定されていたら、それを使うための設定らしい。じゃあ、この /run/ntp.conf.dhcp を作っているのはだれ?となる。
NetworkManager が原因
色々と確認したら、NetworkManager が原因のようだ。NetworkManager が管理しているデバイスだと、上記の余計な設定をしてくれるらしい。時期的には、Debian/bookworm に切り替えて、普通に upgrade したら、NetworkManager の機能が増えたんだろう。
eth0 を NetworkManager の管理から外すと無事に動き出す
ということで、NetworkManager が eth0 の設定を触らないようにさせる。
((( /etc/systemd/network/eth0.network で固定アドレスを割振る設定 ))) [Match] Name=eth0 [Network] Address=192.168.xx.2/24 Gateway=192.168.xx.1 ((( /etc/NetworkManager/conf.d/99-unmanaged-devices.conf ))) [keyfile] unmanaged-devices=interface-name:eth0 ((( NetworkMangaerを再起動 ))) # systemctl reload NetworkManager ((( NetworkManagerの確認 ))) # nmcli device status DEVICE TYPE STATE CONNECTION eth0 ethernet 管理無し -- lo loopback 管理無し -- ((( ntpの起動状態を確認 ))) # ps ax | grep ntp 9999 ? Ssl 0:00 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 122:130
ということで、無事に eth0 が NetworkManager の管理から外れ、ntp が正しい設定ファイル /etc/ntp.conf を読むようになった。
でも、”ps ax” を試すと、”dhclient eth0″ が動いている。どうも、IPアドレスの設定がおかしい。以前に、nmcli コマンドを試したときのゴミが残っているのかな。設定情報のファイルを編集。
((( /etc/NetworkManager/system-connections/eth0.nmconnection ))) [connection] id=static <-- ここが eth0 と書かれていた。ここは、dhcp か static になるべき。 uuid=xxxxxxxxxxx type=ethernet interface-name=eth0 :

