Debian12設定NTP時間同步

2023-07-21 15:01:36

環境

檢視系統版本:lsb_release -a

設定NTP時間同步

下面的設定需要用到管理員許可權,可以使用su切換到管理員許可權。

檢視/修正 時區

檢視系統時區:timedatectl

如果時區不是Asia/Shanghai需要修改時區為東八區

root@debian:/home/test# timedatectl set-timezone "Asia/Shanghai"

檢視本地時間

如果本地時間與NTP伺服器時間誤差太大(1000s以上),需要先手動校正本地系統時間,手動校正可以使用ntpdate命令強制修正本地時間

ntpdate NTPServerIP後面跟NTP伺服器的IP地址

root@debian:/home/test# ntpdate -d ntp.ntsc.ac.cn
ntpdig: querying 114.118.7.163 (ntp.ntsc.ac.cn)
ntpdig: querying 114.118.7.161 (ntp.ntsc.ac.cn)
org t1: e86314a0.b6c0a000 rec t2: e8646973.584fce78
xmt t3: e8646973.58e812a7 dst t4: e86314a1.c05f7000
org t1: 1689818656.713877 rec t2: 1689905907.344968
xmt t3: 1689905907.347291 dst t4: 1689818657.751456
rec-org t21: 87250.631091  xmt-dst t34: 87249.595835
2023-07-21 10:18:27.347291 (+0800) +87250.113463 +/- 0.517644 ntp.ntsc.ac.cn 114.118.7.161 s1 no-leap
CLOCK: time stepped by 87250.113463
CLOCK: time changed from 2023-07-20 to 2023-07-21
root@debian:/home/test# date
2023年 07月 21日 星期五 10:18:44 CST

如果沒有ntpdate命令,可以使用date -s "YYYY-MM-DD HH:MM:SS"手動修改本地時間

root@debian:/home/test# date -s "2023-7-20 10:00:00"
2023年 07月 20日 星期四 10:00:00 CST

設定NTP自動校時

編輯/etc/ntpsec/ntp.conf設定NTP伺服器地址,將預設的pool設定註釋掉(前面加#號代表註釋),新增新的設定,下面是ntp.conf檔案的所有設定

root@debian:/home/test# cat /etc/ntpsec/ntp.conf 
# /etc/ntpsec/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

driftfile /var/lib/ntpsec/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list

# To enable Network Time Security support as a server, obtain a certificate
# (e.g. with Let's Encrypt), configure the paths below, and uncomment:
# nts cert CERT_FILE
# nts key KEY_FILE
# nts enable

# You must create /var/log/ntpsec (owned by ntpsec:ntpsec) to enable logging.
#statsdir /var/log/ntpsec/
#statistics loopstats peerstats clockstats
#filegen loopstats file loopstats type day enable
#filegen peerstats file peerstats type day enable
#filegen clockstats file clockstats type day enable

# This should be maxclock 7, but the pool entries count towards maxclock.
tos maxclock 11

# Comment this out if you have a refclock and want it to be able to discipline
# the clock by itself (e.g. if the system is not connected to the network).
tos minclock 4 minsane 3

# Specify one or more NTP servers.

# Public NTP servers supporting Network Time Security:
# server time.cloudflare.com nts
server 192.168.6.200                 #新增NTP伺服器地址


# 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: <https://www.pool.ntp.org/join.html>
#pool 0.debian.pool.ntp.org iburst    #註釋
#pool 1.debian.pool.ntp.org iburst    #註釋
#pool 2.debian.pool.ntp.org iburst    #註釋
#pool 3.debian.pool.ntp.org iburst    #註釋


# Access control configuration; see /usr/share/doc/ntpsec-doc/html/accopt.html
# for details.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict default kod nomodify nopeer noquery limited

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

重啟ntpd服務

service ntpd restart

檢視同步狀態

ntpq -pn

 等待系統識別並選擇後,在IP前面會標*/+如下圖所示

伺服器主機名前符號的含義

-意味著本地NTP服務不太喜歡此伺服器
+表示本地 NTP 服務喜歡此伺服器
x標記錯誤的主機
*指示當前收藏夾

附:每列的含義

remote
遠端 NTP 伺服器的名稱。如果使用 -n 開關,您將看到這些伺服器的 IP 地址,而不是它們的主機名。
refid
指示每個伺服器現在從何處獲取時間。它可以是伺服器主機名或類似 .全球定位系統。 ,表示全球定位系統源。
st
tratum 是一個介於 1 到 16 之間的數位,表示遠端伺服器的精度。 1 表示最準確,16 表示「伺服器無法存取」。您的層將等於精確的遠端伺服器加 1。切勿連線到第 1 層伺服器,請使用第 2 層伺服器!第 2 層伺服器也適合我們的目的,此策略適用於減少第 1 層伺服器的流量。
poll
時間請求之間的輪詢間隔(以秒為單位)。該值的範圍介於允許的最小和最大輪詢值之間。最初,該值將較小,以便快速進行同步。時鐘「同步」後,輪詢值將增加,以減少網路流量和常用時間伺服器上的負載。
reach
這是 8 位陣列的八進位製表示形式,表示本地計算機嘗試到達伺服器的最後 8 次。如果到達遠端伺服器,則設定該位。
delay
接收「現在幾點了」請求的響應所需的時間(秒)。
offset
最重要的價值。本地伺服器和遠端伺服器之間的時間差。在同步過程中,偏移時間降低,表明本地機器時間越來越準確。
jitter
離散(也稱為抖動)是幾個連續請求/響應對之間偏移的統計方差的度量。較低的色散值優於較高的色散值。較低的色散可實現更精確的時間同步。

ntpd服務加入開機啟動

使用下面命令將ntpd服務加入開機啟動

chkconfig --level 2345 ntpd on 

end。