シンプル systemd-timesyncdを使う~ntpq: read: Connection refused される時

ntp が動いていない

時刻同期しているかな?と確認してみたら、

root@webarena01:/etc# ntpq -pn
ntpq: read: Connection refused

Connection refuseされた。

この時、動いているのか、許可の書き方が何か悪いのかと思ったのですが、

root@webarena01:/etc# /etc/init.d/ntp start
[ ok ] Starting ntp (via systemctl): ntp.service.

試しにstart してみたら、スタートした。単に動いていなかっただけみたいです。

ちゃんと動くようになりました。

webarena01:/etc# ntpq -pn
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 ntp.nict.jp     .POOL.          16 p    -   64    0    0.000    0.000   0.000
 ntp.ubuntu.com  .POOL.          16 p    -   64    0    0.000    0.000   0.000

Rebootで動かない

再起動したら動いていません。

webarena01:/home/ubuntu# ntpq -pn
ntpq: read: Connection refused

起動してないので、

ps -aux

してみても、ntpが動いていないのが分かる

そこで、/etc/init.d/ntp start すると、

Stopping Network Time Synchronization..

が見える。一度何か停めているようで、そこからまた稼働する感じ。

Nov 17 20:47:03 webarena01 systemd[1]: Stopping Network Time Synchronization...
Nov 17 20:47:03 webarena01 systemd[1]: Starting Network Time Service...
Nov 17 20:47:03 webarena01 systemd[1]: Stopped Network Time Synchronization.
Nov 17 20:47:03 webarena01 ntpd[1378]: ntpd 4.2.8p10@1.3728-o (1): Starting
Nov 17 20:47:03 webarena01 ntpd[1378]: Command line: /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 111:115
Nov 17 20:47:03 webarena01 systemd[1]: Started Network Time Service.
Nov 17 20:47:03 webarena01 ntpd[1382]: proto: precision = 0.079 usec (-24)
Nov 17 20:47:03 webarena01 ntpd[1382]: leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'): good hash signature
Nov 17 20:47:03 webarena01 ntpd[1382]: leapsecond file ('/usr/share/zoneinfo/leap-seconds.list'): loaded, expire=2022-06-28T00:00:00Z last=2017-01-01T00:00:00Z ofs=37
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen and drop on 0 v6wildcard [::]:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen and drop on 1 v4wildcard 0.0.0.0:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 2 lo 127.0.0.1:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 3 ens10 164.70.71.45:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 4 tap_vpn01 10.4.1.1:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 5 lo [::1]:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 6 ens10 [fe80::213:5dff:fe13:2475%2]:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listen normally on 7 tap_vpn01 [fe80::5cc3:5eff:fe6d:3d37%3]:123
Nov 17 20:47:03 webarena01 ntpd[1382]: Listening on routing socket on fd #24 for interface updates
Nov 17 20:47:04 webarena01 ntpd[1382]: Soliciting pool server 133.243.238.163
Nov 17 20:47:05 webarena01 ntpd[1382]: Soliciting pool server 133.243.238.243
Nov 17 20:47:05 webarena01 ntpd[1382]: Soliciting pool server 91.189.89.199
Nov 17 20:47:06 webarena01 ntpd[1382]: Soliciting pool server 91.189.94.4
Nov 17 20:47:06 webarena01 ntpd[1382]: Soliciting pool server 133.243.238.164
Nov 17 20:47:07 webarena01 ntpd[1382]: Soliciting pool server 91.189.91.157
Nov 17 20:47:07 webarena01 ntpd[1382]: Soliciting pool server 61.205.120.130
Nov 17 20:47:08 webarena01 ntpd[1382]: Soliciting pool server 91.189.89.198
Nov 17 20:47:08 webarena01 ntpd[1382]: Soliciting pool server 133.243.238.244
Nov 17 20:47:09 webarena01 ntpd[1382]: Soliciting pool server 2001:67c:1560:8003::c8
Nov 17 20:47:09 webarena01 ntpd[1382]: Soliciting pool server 2001:df0:232:eea0::fff4

自動起動

# systemctl enable ntp.service
Synchronizing state of ntp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable ntp

NTPはクライアントとして動かしたいだけ

NTPはクライアントとして動かしたいだけ。ntpは外部からの問い合わせに答えられるようになっている。

systemd-timesyncd はネットワークを介してシステム時刻を同期させるために追加されたデーモンです。SNTP クライアントが実装されています。chrony や NTP リファレンスサーバーなどの NTP 実装とは対照的に、timesyncd はクライアント側しか実装しておらず、完全な NTP の複雑性に悩むことなく、リモートサーバーに時刻を問い合わせてそれにローカルクロックを同期させることだけに焦点を置いています。

systemd-timesyncd

なんだ、これでいいじゃん

systemd-timesyncd

こちらのサービスが動いているからntpがうまく起動しなかったのかな。

webarena01:~$ timedatectl status
                      Local time: Wed 2021-11-17 21:02:03 JST
                  Universal time: Wed 2021-11-17 12:02:03 UTC
                        RTC time: Wed 2021-11-17 12:02:04
                       Time zone: Asia/Tokyo (JST, +0900)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

ntpサービスを無効に

# systemctl disable ntp.service
Synchronizing state of ntp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install disable ntp
Unit /etc/systemd/system/ntp.service is masked, ignoring.

ntp を削除する

# apt-get remove ntp
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libopts25 sntp
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  ntp
0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
After this operation, 1952 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 135345 files and directories currently installed.)
Removing ntp (1:4.2.8p10+dfsg-5ubuntu7.3) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

systemd-timesyncd の設定ファイルは、

/etc/systemd/timesyncd.conf

これ。ntpだけ設定しとく

[Time]
NTP=ntp.nict.jp

systemd-timesyncdをリスタートする

root@webarena01:/etc/systemd# systemctl restart systemd-timesyncd

ステータスを確認する


root@webarena01:/etc/systemd# systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2021-11-17 21:26:00 JST; 10s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 2169 (systemd-timesyn)
   Status: "Synchronized to time server 133.243.238.163:123 (ntp.nict.jp)."
    Tasks: 2 (limit: 1150)
   CGroup: /system.slice/systemd-timesyncd.service
           └─2169 /lib/systemd/systemd-timesyncd

Nov 17 21:26:00 webarena01 systemd[1]: Starting Network Time Synchronization...
Nov 17 21:26:00 webarena01 systemd[1]: Started Network Time Synchronization.
Nov 17 21:26:00 webarena01 systemd-timesyncd[2169]: Synchronized to time server 133.243.238.163:123 (ntp.nict.jp).