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專欄
訊息中介軟體專欄
併發程式設計專欄