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

Linux

本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^

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).

同期してない? Status: “Idle.”

しばらくして、ステータスを見てみると、Idle.になってる。これってちゃんと同期してるのかな?

結論  Status: “Idle.” は同期してない

# systemctl -l status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
     Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; preset: enabled)
     Active: active (running) since Wed 2023-12-13 17:05:11 JST; 14h ago
       Docs: man:systemd-timesyncd.service(8)
   Main PID: 362 (systemd-timesyn)
     Status: "Idle."
      Tasks: 2 (limit: 76956)
     Memory: 1.4M
        CPU: 1.670s
     CGroup: /system.slice/systemd-timesyncd.service
             mq362 /lib/systemd/systemd-timesyncd

12月 13 17:05:11 MainDB systemd[1]: Starting systemd-timesyncd.service - Network Time Synchronization...
12月 13 17:05:11 MainDB systemd[1]: Started systemd-timesyncd.service - Network Time Synchronization.

やっぱり同期してないみたい

System clock synchronized: no

と表示される

# timedatectl status
               Local time: 木 2023-12-14 07:15:31 JST
           Universal time: 水 2023-12-13 22:15:31 UTC
                 RTC time: 水 2023-12-13 22:15:30
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: no
              NTP service: active
          RTC in local TZ: no

解決  Status: “Idle.”

自分の環境の場合、単にサーバがインターネットアクセスできていないだけでした。セグメントを変え、固定IPアドレスで運営を始めたところで問題発生です。DHCPサーバで取得していたDNSサーバの値がそのままになっていたためにドメイン解決ができずにインターネットアクセスができていませんでした。

/etc/resolve.conf

の値を変更したところ同期するようになりました。

 timedatectl status
               Local time: 木 2023-12-14 07:41:23 JST
           Universal time: 水 2023-12-13 22:41:23 UTC
                 RTC time: 水 2023-12-13 22:41:23
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no
タイトルとURLをコピーしました