Debian の内部クロックを (NTP サーバーと) 同期させるにはどうすればよいですか?

Debian の内部クロックを (NTP サーバーと) 同期させるにはどうすればよいですか?

私は最新のDebian 7.5(wheezy)をインストールしたホームサーバーを持っています。サーバーの内部時計が±3分に設定されていることに気付きました。将来

NTPを使ってDebian(およびマザーボードの内部時計)をNTPと同期できることはわかっていたので、フランス語のマニュアルに記載されている手順に従ってNTPをインストールしました。Debian ウィキ(の英語ページ詳細は不明です。

内部クロックを同期するには、次のコマンドを使用しました。

ntpdate -B -q 192.168.0.254

時計は正常に調整されました。ただし、これは一時的な解決策なので、NTP デーモンをインストールし、ファイルにローカル サーバーを追加しました/etc/ntp.conf

# pool.ntp.org maps to about 1000 low-stratum NTP servers.  Your server will
# pick a different set every time it starts up.  Please consider joining the
# pool: <http://www.pool.ntp.org/join.html>

# added
server 192.168.0.254

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

これは正しい解決策でしょうか? 実際、デーモンがまだインストールされていないことに驚きましたntp。Debian のデフォルトのインストールでは、内部クロックを同期させるためのデーモンがインストールされるかどうか疑問に思っています。管理者がインストールするまで、すべての Debian インストールは時間シフトされますかntpd?

ntpDebian には同期メカニズムが組み込まれているため、デーモンが役に立たなくなることはないと教えてください。

答え1

Debian では、時計を同期させたい場合、自分で ntp をインストールする必要があります。必要なapt-get install ntp作業は、 だけです。タスクなしのデフォルトのインストールは、非常に最小限です。

少なくとも、GNOME デスクトップ タスクでは、デフォルトでこれがインストールされると思います (他の多くのパッケージも同様)。他のデスクトップでも同様かどうかはわかりません。

デフォルトでは、他の時間同期方法はインストールされ実行されていません。

答え2

Debian GNU/Linux 10 (Buster) および次のメジャーバージョンの場合:

systemd-timesyncd(別名: 、別名: SystemD-TimeSyncD)はtimesyncd、 のより軽量でシンプルな代替手段ですntpd

Debian で TimeSyncD NTP デーモンの実行ステータス情報を表示します:
cmd:情報内の行に " と表示されているsystemctl status systemd-timesyncd
ことに気付くかもしれません。Statusアイドル「行情報が表示されていない
場合は」Activeアクティブランニング)" を開き、起動します:
cmd:systemctl start systemd-timesyncd

「SYSTEMD-TIMESYNCD」をまだ有効にしていない場合は、有効にして起動します:
cmd: systemctl enable systemd-timesyncd.service
cmd:systemctl start systemd-timesyncd.service

SystemD-TimeSyncD が有効になっていない場合は、以前にインストールされていた場合は NTPD を削除する必要がある可能性があります:
cmd:apt purge ntp

この新しいsystemd-timesyncdデーモンは、SNTP クライアント機能も実行できます。

問題:
Debianコンピュータでローカル時間を表示する場合、ローカル時間が正しくありません。cmd
: date
View status ofシステムクロック同期(SCS)、実行:
どちらか、cmd:timedatectl
または、cmd:timedatectl status
上記の出力から以下のことがわかるかもしれません。タイムデートコマンド: SCS が動作していないか、時間が同期されていません。つまり、Debian コンピューターは正しい時間情報を取得、更新、表示していません。

システムクロックが同期されました:いいえ
     NTP サービス:アクティブ

コンピュータの近くにある NTP サーバーを検索します。

NTP サーバーでは時刻情報提供サービスが稼働しています。

Debian コンピュータが米国にある場合、または米国の NTP サーバーを使用する場合は、次のサイトにアクセスしてください。
    https://tf.nist.gov/tf-cgi/servers.cgi
Debian コンピュータの物理的な地理的位置に地理的に近い NTP サーバーを少なくとも 2 つ選択します。IPv4
タイプの IP アドレスを選択します。Debian コンピュータが IPv6 のみを使用する場合、または IPv6 も使用する場合は、IPv6 タイプの IP アドレスを選択します。

「TIMESYNCD.CONF」を更新します:

コマンド:nano /etc/systemd/timesyncd.conf

次に、以下の3行を追加します。タイムシンクド.conf:

[時刻]
NTP=132.163.96.1
フォールバックNTP=132.163.96.2,132.163.96.3,132.163.96.4,132.163.96.6

「NTP=」行には 1 つのサーバーのみを指定します。
「FallbackNTP=」行には複数のサーバーを指定します。
上記では、「米国コロラド州」の NTP サーバーを表示していますが、これは私の Debian コンピューターが米国カリフォルニア州にあり、米国コロラド州に近いためです。

コンピュータ/デバイスのDNSクライアント(またはDNSサーバー/デーモン)が起動した場合TimeSyncD NTPクライアント(またはNTPサーバー/デーモン)の場合は、「NTP =」または「FallbackNTP =」の行にNTPサーバーのIPアドレスを使用する必要があります。
ただし、コンピューター/デバイスのDNSクライアント(またはDNSサーバー/デーモン)が起動する場合は、前にTimeSyncD NTPクライアント(またはNTPサーバー/デーモン)の場合は、「NTP =」または「FallbackNTP =」の行で、time-a-b.nist.govIPアドレスの代わりにNTPサーバーのホスト名(別名:サーバー名)を使用できます132.163.96.1
また、コンピューター/デバイスのDNSクライアント(またはDNSサーバー/デーモン)が起動した場合でも、TimeSyncD NTP クライアント (または NTP サーバー/デーモン) の場合は、"NTP=" または "FallbackNTP=" 行で NTP サーバーのホスト名を使用できます。これは、TimeSyncD NTP クライアントとローカル NTP サーバー/デーモンが再度時刻の取得/同期を試行するため、2 回目以降は成功するからです。Debian
コンピューター/デバイスに DNS クライアント (または DNS サーバー/デーモン) がない場合、NTP サーバーの IP アドレスを使用する必要があります。

上記に表示されているNTPサーバーを変更する必要がありますあなたの Debian コンピュータの実際の場所に基づきます。

たとえば、Debian コンピュータがヨーロッパにある場合は、
次の場所に移動します。
    https://www.pool.ntp.org/zone/europe
上記の Web サイトには、他の場所の NTP サーバーもリストされています。

世界中の多くのサーバー、通常のデスクトップ/ラップトップなどのクライアント コンピューター、ネットワーク デバイス、スマートフォンなどが NTP サーバーを使用しているため、
NTP サーバーは過負荷になることが多く、
NTP サーバーがコンピューター/デバイスのクエリへの応答を完了するまでに遅延が発生したり、時間がかかったりすることがあります。

NTP サーバー オペレーターに寄付/貢献して、より高速で優れたサーバーを構築できるようにしてください。

新しい設定を有効にする:

ファイルを作成または更新した後timesyncd.conf、以下のコマンドを実行します:
cmd: timedatectl show-timesync --all(新しい NTP 構成を確認します)
cmd: systemctl restart systemd-timesyncd (ローカルの TimeSyncD NTP デーモンを再起動します)
cmd: timedatectl set-ntp true(NTP の使用を有効にして開始します)

これで、システム クロックの同期のステータスを表示できます。以下のいずれかのコマンドを実行します:
cmd:timedatectlまたは、timedatectl status
以下の行が表示されます:

システムクロックが同期されました:はい
     NTP サービス:アクティブ

cmd: timedatectl timesync-status(TimeSyncD NTP サービス接続情報を表示)

コマンドを実行するとsystemctl status systemd-timesyncd、「... 初めてタイム サーバーに同期されました...」と表示されます。

コマンドを実行するとdate、正しい時刻が表示されます。今回は、
cmd:date
表示される時刻は正しい時刻と一致し、事前に選択したタイムゾーンに基づきます。

(場合によっては、タイム サーバーが正しい時刻応答の送信を遅らせることがあるため、しばらくお待ちください)。

終わり


その他の設定/情報:

cmd: timedatectl list-timezones(タイムゾーンを表示)
cmd: (タイムゾーンを、つまり UTC-08:00 にtimedatectl set-timezone America/Los_Angeles設定する場合にこれを実行します) cmd: (タイムゾーンを に設定する場合にこれを実行します。この時間は常にすべての場所で同じです。他のすべてのタイムゾーンは、この時間から特定の数値を加算または減算することによって計算されます)。PST
timedatectl set-timezone UTCUTCUTCUTC

NTP サーバー (別名: ホスト名) または NTP プール サーバーによって使用される実際の IP アドレスを表示または取得するにはどうすればよいですか?
cmd:nslookup 1.europe.pool.ntp.org

ファイアウォール (別名: nftables、iptables など) を有効にしている場合は、NTP 経由の不正使用を減らすために、NTP 関連の UDP ルールで NTP サーバーの (複数の) IP アドレスを指定する必要があります。

答え3

どうやら、SystemD では、関連する異なるインフラストラクチャtimedatectlが導入されているようです (ただし、古い方法も引き続き機能します)。

Arch の人たちが何と書いているか見てみましょう:https://wiki.archlinux.org/index.php?title=Systemd-timesyncd&oldid=797636#:~:text=systemd-timesyncd%20is,clock%20to%20it

関連情報