ホーム » 「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
:

Google 検索

My Google   Yahoo

Microsoft

ファンサイト

メタ情報