Linux下的時間同步-----NTP服務搭建

NTP協議

網絡時間協議,英文名稱:Network Time Protocol(NTP)是用來使計算機時間同步化的一種協議,它可以使計算機對其服務器或時鐘源(如石英鐘,GPS等等)做同步化,它可以提供高精準度的時間校正(LAN上與標準間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。NTP的目的是在無序的Internet環境中提供精確和健壯的時間服務。

NTP服務器可以使局域網中主機的時間同步,應用於對實時性要求非常高的環境中。

需求

聯網的服務器搭建NTP服務,其餘兩臺局域網服務器通過NTP服務器實現時間同步。

環境:
NTP服務器兩塊網卡,因此兩個地址:192.168.254.129,192.168.1.125
客戶端:與NTP服務器局域網地址能通信

NTP服務安裝

服務採用C/S模式,運行時監聽UDP的123端口。

服務安裝程序有兩個,分別是ntp(服務器端)和ntpdate(客戶端)。除最小化安裝系統外,ntp程序默認已經安裝到系統中。

yum install -y ntp ntpdate

配置文件位於:/etc/ntp.conf,在編輯之前,可以對其做一下備份

cp /etc/ntp.conf /etc/ntp.conf.bak

服務控制使用systemctl即可,start啓動,stop關閉等等。

systemctl start ntpd

查看端口是否存在

netstat -anpu4 | grep 123
udp        0      0 192.168.122.1:123       0.0.0.0:*                           4711/ntpd
udp        0      0 192.168.254.128:123     0.0.0.0:*                           4711/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           4711/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           4711/ntpd

NTP服務器搭建

ntp.conf配置文件說明

配置項 作用
notrust 不接受沒有經過認證的客戶端的請求
ignore 忽略所有類型的NTP連接請求
noquery 不提供NTP網絡校時服務
nomodify 限制客戶端不能使用命令ntpc和ntpq來修改服務器端的時間
notrap 不接受遠程登錄請求
fudge 設置時間服務器的層級
server 指定其他NTP服務器的地址
restrict 允許上層時間服務器修改本機時間

將過濾後的配置文件覆蓋源文件

grep -v '^$' /etc/ntp.conf | grep -v '^#' > ntp.conf
cat ntp.conf > /etc/ntp.conf

接下來,開始對配置文件進行修改,通過http://www.ntp.org.cn/pool.phphttps://www.ntppool.org/zone/cn來指定中國權威NTP服務器域名。

driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery	#禁止遠程主機修改本機
restrict 127.0.0.1	#允許本機修改時間
restrict ::1
server 0.cn.pool.ntp.org	#四個均爲權威NTP服務器域名
server 1.cn.pool.ntp.org	
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
server 127.127.1.0			#權威NTP不可用時,本機時間作爲時間服務
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

之後將服務暫時關閉,將時間修改爲錯誤時間,然後通過ntpdate命令同步權威NTP服務器,因爲本機是服務器端,不將其服務關閉無法使用客戶端工具進行時間同步。

命令語法:ntpdate 域名或IP

date -s '2020-1-1 5:55:55'
20200101日 星期三 05:55:55 CST
systemctl stop ntpd

現在已經將本機時間修改爲錯誤時間了,然後通過ntpdate命令進行時間同步,同步的服務器爲配置文件中權威服務器任意一個即可。

ntpdate 3.cn.pool.ntp.org
4 May 13:47:44 ntpdate[5925]: adjust time server 94.130.49.186 offset 0.017917 sec
date
20200504日 星期一 13:49:11 CST

同步完成後,時間恢復正確,之後把NTP服務啓動

systemctl start ntpd

客戶端測試

局域網測試機進行時間同步,若沒有ntpdate命令,安裝一下ntpdate即可。

date -s '2000-1-1 4:44:44'
20000101日 星期六 04:44:44 CST
ntpdate 192.168.1.125
4 May 14:02:44 ntpdate[2864]: step time server 192.168.1.125 offset 641899072.284345 sec
date
20200504日 星期一 14:03:02 CST

以上NTP時間同步服務器搭建完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章