1.前期準備
系統(tǒng)版本 |
ip地址 |
Ubuntu20.04鏡像 |
|
服務端 |
Ubuntu20.04 |
10.1.0.55 |
ubuntu-20.04.5-live-server-amd64 |
客戶端 |
Ubuntu20.04 |
10.1.0.56 |
ubuntu-20.04.5-live-server-amd64 |
ntp服務安裝包:
ntp_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb
ntpdate安裝包:
ntpdate_4.2.8p12+dfsg-3ubuntu4.20.04.1_amd64.deb
Ubuntu下載地址:
https://ubuntu.com/download/server
ntp安裝包下載地址:
https://packages.ubuntu.com/focal/amd64/ntp/download
ntpdate安裝包下載地址:
https://packages.ubuntu.com/focal/amd64/ntpdate/download
1.1修改時區(qū)
查看服務器時區(qū),執(zhí)行如下命令:
timedatectl

修改時區(qū),執(zhí)行如下命令:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
查看時區(qū)是否修改成功,執(zhí)行如下命令:
date
1.2關閉systemd-timesyncd
如果不關閉systemd-timesyncd服務可能會在安裝ntp服務的時候發(fā)生沖突
停止systemd-timesyncd服務
systemctl stop systemd-timesyncd.service
防止systemd-timesyncd服務開機自啟
systemctl disable systemd-timesyncd.service
2.NTP部署
2.1服務端部署NTP服務
2.1.1上傳安裝包
將安裝包上傳至 /var/cache/apt/archives目錄下
獲取最新軟件包源,執(zhí)行如下命令:
apt-get update
安裝ntp服務,執(zhí)行如下命令:
apt-get install -y ntp
安裝ntpdate,執(zhí)行如下命令:
apt-get install -y ntpdate
2.1.2修改ntp服務配置文件
執(zhí)行如下命令:
vim /etc/ntpconf
按i鍵進入編輯模式,進行修改文件。
服務端修改配置文件內(nèi)容如下:
driftfile /var/lib/ntp/ntp.drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
#限制只允許10.1.0.0網(wǎng)段的主機訪問本服務器
restrict 10.1.0.0 mask 255.255.255.0 nomodify notrap
#能聯(lián)網(wǎng)的情況下設置上層服務器
server cn.pool.ntp.org prefer
#不能聯(lián)網(wǎng)情況下的設置
#server 127.127.1.0
#當沒有時間同步源的時候會以自身硬件時間為準
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
注意:
driftfile:用來規(guī)定服務器與上層時間服務器溝通時所花費的時間,并記錄在文件中。
server:設置上層時間服務器,語法為:server ip|域名。server后面接的就是上層的時間服務器,如果server參數(shù)后面加prefer,表示我們的ntp服務主要以該上層主機進行時間校對。
restrict:進行權(quán)限設定。
ignore:關閉所有的NTP 連線服務
nomodify:客戶端不能更改服務端的時間參數(shù),不過客戶端仍然可以透過服務端來進行網(wǎng)絡較時
noquery:不提供客戶端的時間查詢
notrap: 不提供trap遠程登錄功能,trap服務是一種遠程時間日志服務
nopeer: 提供時間服務,但不作為對等體。
kod: 向不安全的訪問者發(fā)送Kiss-Of-Death報文
2.2放開防火墻
如果有防火墻設置,必須設置防火墻放開對ntp的限制
查看防火強端口啟用狀態(tài),命令如下:
ufw status #active是已啟動,inactive是未啟動
放開ntp,命令如下:
ufw ntp
重啟防火墻,命令如下:
ufw reload
2.3查看NTP服務
通過運行 "ntpq -p" 命令,可以快速查看當前系統(tǒng)與遠程 NTP 服務器之間的時間同步情況,以及遠程 NTP 服務器的健康狀況。

以下是每列數(shù)據(jù)的含義:
remote:遠程服務器的地址或DNS名稱。
refid:遠程服務器所同步的參考服務器。
st:遠程服務器的層次(stratum),即該服務器與官方時間源的距離。
t:表示遠程服務器所需的時間以及該時間的偏移量(時間戳)。
when:表示最后一次收到遠程服務器時間戳的時間。
poll:表示與遠程服務器同步的時間間隔。
reach:表示在最近的8個時間間隔中與遠程服務器通信的情況。
delay:表示往返時間(Round-trip time,RTT),即從本地計算機發(fā)送請求到遠程服務器并返回請求的時間。
offset:表示遠程服務器時間戳與本地計算機時間戳之間的差異。
jitter:表示與遠程服務器同步的偏差的變化率。
第一列的符號代表服務器狀態(tài)參數(shù):
* : 表示的是該服務器已經(jīng)被確認為我們的主NTP服務器,系統(tǒng)的時間將由這臺機器所提供。
+ : 表示的是該服務器將作為輔助的NTP服務器和帶有*號的服務器?起為我們提供同步服務.當帶有*號的服務器不可用時它就可以提供時間。
-: 不合格的NTP服務器。
x : 遠程服務器不可用。
2.4使用ntpdate更新時間
ntp服務是一點一點的自動時間同步,比較柔和,同步時間較慢,具有高精度和高可靠性。
ntpdate是一個命令行實用程序,用于手動同步系統(tǒng)時間。它從指定的時間服務器獲取時間信息,并將系統(tǒng)時間設置為與服務器時間同步。ntpdate通常是作為ntp客戶端的一部分安裝的,但它不能像ntp那樣自動同步時間,并且可能存在時間同步錯誤的情況。
這里使用ntpdate主要是節(jié)省時間,執(zhí)行情況如下:
執(zhí)行ntpdate命令需要停止ntp服務,命令如下:
systemctl stop ntp
手動同步時間,命令如下:
服務端:
ntpdate cn.pool.ntp.org文章來源地址http://www.zghlxwxcb.cn/news/detail-466777.html
客戶端:
ntpdate 10.1.0.55 #客戶端在手動同步時間時 ntpdate后接服務端ip地址
系統(tǒng)時間同步后需要將系統(tǒng)時間寫入硬件中,命令如下:
hwclock -w
重啟NTP服務器,命令如下:
systemctl restart ntp
設置NTP服務自啟
ssystemctl enable ntp
2.5制作離線包(只在服務端操作)
跳轉(zhuǎn)到/opt目錄下
cd /opt
創(chuàng)建目錄ntp
mkdir ntp
進入ntp目錄
cd ntp
列出ntp軟件包所依賴的其他軟件包和依賴關系鏈的層次結(jié)構(gòu)
apt-cache depends coturn
將安裝包和依賴下載搭配ntp目錄中
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends ntp:amd64 | grep -v i386 | grep "^\w")
創(chuàng)建Debian軟件包索引文件
dpkg-scanpackages . | gzip -9c > Packages.gz
壓縮文件軟件包和依賴
tar -zcf packages.tar.gz ./*
packages.tar.gz就是制作好的離線包
2.6客戶端部署ntp服務
上傳之前制作的離線包packages.tar.gz 到/opt目錄下
創(chuàng)建離線文件存放目錄
mkdir -p /offline/packages
解壓離線包文件
tar -zxvf packages.tar.gz -C /offline/packages/
備份apt-get源文件
mv /etc/apt/sources.list /etc/apt/sources.list.bak
映射本地源
cat >>/etc/apt/sources.list <<EOF
deb [trusted=yes] file:///offline/packages/ ./
EOF
更新源
apt-get update
安裝ntp服務和ntpdate
apt-get install -y ntp
apt-get install -y ntpdate
修改客戶端ntp服務配置文件:
執(zhí)行如下命令:
vim /etc/ntpconf
按i鍵進入編輯模式,進行修改文件。
driftfile /var/lib/ntp/ntp.drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
#限制只允許10.1.0.0網(wǎng)段的主機訪問本服務器
restrict 10.1.0.0 mask 255.255.255.0 nomodify notrap
#設置上層服務器
server 10.1.0.55
#當沒有時間同步源的時候會以自身硬件時間為準
server 127.127.1.0
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
注意:客戶端配置ntp服務其它的操作和服務端一致
FQA
1.執(zhí)行ntpdate手動同步時間時出現(xiàn)錯誤

在Ubuntu系統(tǒng)下出現(xiàn) "the NTP socket is in use, exiting" 的錯誤通常表示NTP服務已經(jīng)在運行,無法啟動新的實例。要解決此問題,可以嘗試以下步驟:
停止NTP服務
systemctl stop ntp
再次執(zhí)行ntpdate
ntpdate cn.pool.ntp.org
2.系統(tǒng)無法解析NTP服務器的主機名,導致NTP同步失敗。

出現(xiàn)這種情況可以嘗試以下步驟:
檢查您的網(wǎng)絡連接,確保您可以訪問互聯(lián)網(wǎng)和NTP服務器。您可以嘗試使用ping命令來測試網(wǎng)絡連接,例如:
ping cn.pool.ntp.org
如果ping成功,表示您的網(wǎng)絡連接正常
確認您的DNS配置是否正確。您可以嘗試使用dig命令來查找NTP服務器的IP地址。命令如下:
dig cn.pool.ntp.org
如果dig成功,并返回一個IP地址,則表示您的DNS配置正確。
如果您的DNS配置不正確,您可以嘗試更改DNS配置,例如更改/etc/resolv.conf文件中的DNS服務器。命令如下:
vim /etc/resolv.conf
在nameserver后面接正確的DNS地址,例如4.2.2.1
nameserver 4.2.2.1
保存文件并退出。
再次嘗試使用ntpdate命令手動同步NTP服務器,命令如下:文章來源:http://www.zghlxwxcb.cn/news/detail-466777.html
ntpdate cn.pool.ntp.org
到了這里,關于Ubuntu20.04部署ntp服務的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!