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
往期文章推薦: