ntp服務器搭建
1、准備:一共兩台(centos 7.x),一台服務器,一台客戶端。服務器做本地ntp,不與上層時間服務器同步;機器ip:服務器:10.1.40.232,客戶端:10.1.40.233;兩台機器都安裝ntp服務;yum install ntp。
2、服務端:
修改配置文件:vim /etc/ntp.conf
在restrict ::1下面添加如下幾行
restrict default nomodify
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
logfile /var/log/ntp.log #日志文件
注釋掉下面幾行:
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
接着啟動ntp服務,並且關閉防火牆
#systemctl restart ntpd.service
#systemctl enable ntpd.service
查看狀態:
現在我就來解釋一下其中的含義
remote: 它指的就是本地機器所連接的遠程NTP服務器
refid: 它指的是給遠程服務器(e.g. 193.60.199.75)提供時間同步的服務器
st: 遠程服務器的層級別(stratum). 由於NTP是層型結構,有頂端的服務器,多層的Relay Server再到客戶端. 所以服務器從高到低級別可以設定為1-16. 為了減緩負荷和網絡堵塞,原則上應該避免直接連接到級別為1的服務器的.
t: 這個.....我也不知道啥意思^_^
when: 我個人把它理解為一個計時器用來告訴我們還有多久本地機器就需要和遠程服務器進行一次時間同步
poll: 本地機和遠程服務器多少時間進行一次同步(單位為秒). 在一開始運行NTP的時候這個poll值會比較小,那樣和服務器同步的頻率也就增加了,可以盡快調整到正確的時間范圍.之后poll值會逐漸增大,同步的頻率也就會相應減小
reach: 這是一個八進制值,用來測試能否和服務器連接.每成功連接一次它的值就會增加
delay: 從本地機發送同步要求到服務器的round trip time
offset: 這是個最關鍵的值, 它告訴了我們本地機和服務器之間的時間差別. offset越接近於0,我們就和服務器的時間越接近
jitter: 這是一個用來做統計的值. 它統計了在特定個連續的連接數里offset的分布情況. 簡單地說這個數值的絕對值越小我們和服務器的時間就越精確
* 它告訴我們遠端的服務器已經被確認為我們的主NTP Server,我們系統的時間將由這台機器所提供
+ 它將作為輔助的NTP Server和帶有*號的服務器一起為我們提供同步服務. 當*號服務器不可用時它就可以接管
- 遠程服務器被clustering algorithm認為是不合格的NTP Server
x 遠程服務器不可用
Refid出現LOCL就為正確,一般在服務器啟動3-5分鍾客戶端才能進行同步。
3、客戶端配置
修改配置文件:vim /etc/ntp.conf
在restrict::1添加:
server 10.1.40.232 iburst
fudge 127.127.1.0 stratum 10
logfile /var/log/ntp.conf
接着啟動ntp服務,並且關閉防火牆
#systemctl restart ntpd.service
#systemctl enable ntpd.service
查看狀態:
接下來就可以進行時間同步了。
這種方式是平滑同步,還有一種方式是直接同步:在使用直接同步的時候需要關閉客戶端的ntp服務,執行:ntpdate 服務器IP地址就OK。一般在進行同步的時候,先進行直接同步在進行平滑同步。
4、關於權限設定部分
權限的設定主要以 restrict 這個參數來設定,主要的語法為:
restrict IP地址 mask 子網掩碼 參數
其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP
參數有以下幾個:
ignore :關閉所有的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,但是客戶端可以通過服務端進行網絡校時。
notrust :客戶端除非通過認證,否則該客戶端來源將被視為不信任子網
noquery :不提供客戶端的時間查詢
注意:如果參數沒有設定,那就表示該 IP (或子網)沒有任何限制!
5、查看服務的狀態:
#本ntp服務器層次為12,已經向上級服務器同步過
#時間校正到相差34ms
#每256s會向上級服務器輪詢更新一次
6、常見的錯誤:
(1)、使用ntp Client進行時間同步,報錯信息“no server suitable for synchronization found”
解決:
----.ntp server重啟后3-5分鍾再試
---ntp server配置文件中可能使用了notrust,需將其注釋
---.防火牆udp 123端口沒有打開
---網絡原因,比如路由器,防火牆,公司的上網策略禁止了ntp服務
(2)[root@localhost ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.1.40.232 INIT 11 u 289 256 376 0.220 -0.018 0.043
注意上圖標紅的部分,如果出現這種情況:
-----服務器防火牆沒關
-----服務器ntp的udp123端口沒開
------在服務器端的配置文件restrict設置里面去掉notrust參數。
(3)Server dropped: no data
解決:檢查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定義中使用了notrust的話,會導致以上錯誤
查看ntp版本:# ntp -c version
查看stratum層級
[root@localhost ~]# ntpq -c rv | grep stratum
stratum=12, precision=-24, rootdelay=0.220, rootdisp=47.152,
相關博客(比較詳細):https://blog.csdn.net/gycool21/article/details/51746174