1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

systemd-timesyncdでNTPサーバに接続できない

Posted at

はじめに

LinuxでNTPクライアントの設定をするとき、いろいろなエラーに遭遇してきたので、解決策のメモです。

※この記事はNTPクライアントでのトラブルシューティングです。NTPサーバに問題があるときは、この記事を読んでも解決しません!

ログの確認方法

以下のコマンドを実行してログを確認します。正常な場合は次のようなログが表示されます。

$ sudo journalctl -u systemd-timesyncd
-- Logs begin at Wed 2023-02-01 10:15:00 JST, end at Fri 2024-02-16 12:41:13 JST. --
Feb 16 12:43:01 ntp-cli systemd[1]: Stopping Network Time Synchronization...
Feb 16 12:43:01 ntp-cli systemd[1]: systemd-timesyncd.service: Succeeded.
Feb 16 12:43:01 ntp-cli systemd[1]: Stopped Network Time Synchronization.
Feb 16 12:43:01 ntp-cli systemd[1]: Starting Network Time Synchronization...
Feb 16 12:43:01 ntp-cli systemd[1]: Started Network Time Synchronization.
Feb 16 12:43:01 ntp-cli systemd-timesyncd[10478]: Initial synchronization to time server 192.168.1.2:123 (192.168.1.2).

症状1 Server has too large root distance.

$ sudo journalctl -u systemd-timesyncd
~中略~
Feb 01 01:15:10 ntp-cli systemd-timesyncd[1]: Network configuration changed, trying to establish connection.
Feb 01 01:15:10 ntp-cli systemd-timesyncd[1]: Server has too large root distance. Disconnecting.

設定ファイルのRootDistanceMaxSecを設定すると直ることがあります。初期値は5ですが、この値を増やします。

$ sudo vi /etc/systemd/timesyncd.conf
[Time]
NTP=192.168.1.2
#FallbackNTP=ntp.ubuntu.com
RootDistanceMaxSec=30
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

設定ファイルを更新したら、サービスを再起動します。

$ sudo systemctl restart 
systemd-timesyncd.service

症状2 Failed to run 'start' task: Not a directory

$ sudo journalctl -u systemd-timesyncd
~中略~
Jan 11 01:47:42 ntp-cli systemd[1]: systemd-timesyncd.service: Failed to run 'start' task: Not a directory
Jan 11 01:47:42 ntp-cli systemd[1]: systemd-timesyncd.service: Failed with result 'resources'.
Jan 11 01:47:43 ntp-cli systemd[1]: Failed to start Network Time Synchronization.

tmpがディレクトリではなくファイルになっていました。tmpを再作成したら直りました。
※ファイルを削除してしまうので、実行に注意してください!

$ sudo rm /var/tmp
$ sudo mkdir /var/tmp/
$ sudo chmod 777 /var/tmp/
$ sudo chmod +t /var/tmp/
$ sudo systemctl restart systemd-timesyncd.service

症状3 Timed out waiting for reply from

$ sudo journalctl -u systemd-timesyncd
~中略~
Jan 11 02:45:02 ntp-cli systemd-timesyncd[249]: Timed out waiting for reply from 192.168.1.2:123 (192.168.1.2). 
Jan 11 02:45:12 ntp-cli systemd-timesyncd[249]: Timed out waiting for reply from 192.168.1.2:123 (192.168.1.2).

時刻設定を確認します。

$ date

表示された時刻が実際の時刻より大幅にずれている場合は、現在時刻に手動で合わせます。
※ 大幅に時間がずれていると、NTPサーバとの接続に失敗します。

$ date -s "2024-2-13 00:17:38"

時刻を更新したら、サービスを再起動します。

$ sudo systemctl restart 
systemd-timesyncd.service

最後に

この記事が何かの役に立てれば幸いです。
またエラーに遭遇したら、記事を更新しようと思います。

謝辞

以下の投稿には大変お世話になりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?