CentOS7使用NTP搭建時間同步服務器

前言

爲什麼要搭建時間同步服務器呢?場景是這樣的。

我們有兩臺CentOS服務器,其中一臺是可以連接外網的,下文中我們稱它爲A服務器,另一臺不能連接外網,但是與A服務器在同一局域網中,下文中我們稱它爲服務器B。

現在我們需要將A服務器的時間進行網絡校準,這部分操作還是比較容易的,按照下面的步驟操作即可。

1、yum進行ntp的安裝:

yum -y install ntp

2、執行同步命令:

ntpdate time1.aliyun.com

3、查看當前系統時間: 

date

這樣我們A服務器的時間就通過阿里提供的時間服務器進行了時間的校準工作。

那麼問題來了,我們的B服務器也是需要校準時間的,但又沒有外網,所以無法使用相同的步驟來進行時間同步,所以王子就想到了在A服務器上搭建時間同步服務器,B服務器通過A服務器進行時間校準工作。

接下來就是去網上查閱資料實現了,但是網絡上大部分人的文章寫的都很不完善,導致實踐出現了各種問題。

本文就是爲了記錄下正確的搭建流程而編寫的,相信會對小夥伴們有所幫助。

時間服務器搭建流程

首先我們要清楚,NTP服務器默認是會使用udp的123端口的,所以我們的第一步就是開放123端口,命令如下:

firewall-cmd --permanent --zone=public --add-port=123/udp

增加端口後當然要重新加載防火牆,讓配置生效了

firewall-cmd --state

當然,如果小夥伴們用不到防火牆,直接關閉防火牆即可。

Centos7默認通過chronyd服務實現時鐘同步,我們需要關閉chronyd服務並使其開機不自啓,同時啓動ntpd並將其加入開機自啓:

systemctl stop chronyd
systemctl disable chronyd 
systemctl enable ntpd
systemctl start ntpd

接下來就是去修改ntp的配置文件了:

vi /etc/ntp.conf

這個配置文件中的內容我們主要修改如下內容:

#1 把下邊這行註釋掉
# restrict default nomodify notrap nopeer noquery
#2 刪除掉原有的4行server,增加下邊的兩行,127.127.1.0代表把本機作爲時間服務器
server 127.127.1.0
fudge   127.127.1.0 stratum 10

你去看其他的文章,會讓你修改很多東西,其實完全沒有必要,只要修改上邊這兩部分就可以了。

修改後重新啓動NTP服務即可。

systemctl restart ntpd

到這裏其實我們的時間服務器就搭建完成了,現在我們只要在B服務器上執行下邊的命令就可以進行時間同步了。

ntpdate A服務器的IP地址

寫在後邊

實際的情況,我們不應該去手動執行時間同步命令,應該設置一個定時任務,每隔多長時間就自動去進行一次時間校對工作。

我們可以直接執行如下命令:

crontab -e

進入定時任務的vim界面,在其中設置定時任務執行同步時間的命令就可以了,比如下邊的內容,就是每隔1個小時執行一次同步命令:

0 */1 * * * ntpdate 192.160.99.201

 保存後,可以通過下邊的命令查看已經存在的任務:

crontab -l

 

往期文章推薦:

JVM專欄

消息中間件專欄

併發編程專欄

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