配置NTP服務器

利用internetNTP服務器同步Linux虛擬機-NTP服務器,然後再使用Linux虛擬機-NTP服務器同步物理主機-NTP客戶端。Linux虛擬機既充當internet-NTP的客戶端,又充當物理主機-NTP的服務端。

 

環境概述:Vmworkstation12

Linux虛擬機          

# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.2 (Maipo)

# uname -a

Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Oct 29 17:29:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux

 

操作步驟:

(1)確保Linux虛擬機可以連接上internet

# ping www.baidu.com

PING www.baidu.com (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121: icmp_seq=1 ttl=54 time=33.2 ms

64 bytes from 61.135.169.121: icmp_seq=2 ttl=54 time=15.2 ms

2)安裝NTP包,並且編輯/etc/ntp.conf文件。

# rpm -qa | grep ntp    //檢查是否安裝了ntp相關包。

# yum install -y ntp    //如果沒有安裝ntp相關包,使用rpmyum安裝。

# vim /etc/ntp.conf

restrict 192.168.202.0 mask 255.255.255.0 nomodify notrap

添加控管權限:

設置允許訪問該ntp服務器的IP地址(這裏指的是物理主機的IP段)。在上例中,掩碼地址擴展爲255,表示192.168.202.1-192.168.202.254都可以使用Linux虛擬機上的NTP服務器來同步時間。

Nomodify notrap表示不允許客戶端配置爲時間服務器或者作爲時間的節點,這樣可以有效控制服務器的性能。

server cn.pool.ntp.org prefer  

指定上層NTP服務器(上層NTP服務器地址,因爲是通過interne-NTP同步Linux虛擬機,所以需要填寫internet上的NTP服務器),在上例中,cn.pool.ntp.orginternet上的公共時間服務器池中的NTP服務器,China----cn.pool.ntp.org

prefer代表優先主機。

(2)添加防火牆規則

由於NTP服務需要使用到UDP端口號123,所以在系統的防火牆啓動的情況下,必須開放UDP端口號123

# firewall-cmd --add--service=ntp --permanent

# firewall-cmd --reload

4)啓動NTP服務,並且配置NTP開機自啓

#systemctl start ntpd  啓動NTP服務

#systemctl enable ntpd 配置NTP開機自啓

#systemctl status ntpd  查看NTP服務的狀態

ntpd.service - Network Time Service

   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; enabled; vendor preset: disabled)

   Active: active (running) since Mon 2019-01-07 09:28:41 CST; 4s ago

  Process: 3250 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)

 Main PID: 3252 (ntpd)

   CGroup: /system.slice/ntpd.service

           └─3252 /usr/sbin/ntpd -u ntp:ntp -g

 

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 5 eth3 192.168.100.113 UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 6 virbr0 192.168.122.1 UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 7 eth2 fe80::20c:29ff:fe1d:8d5f UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 8 eth1 fe80::20c:29ff:fe1d:8d55 UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 9 lo ::1 UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listen normally on 10 eth3 fe80::20c:29ff:fe1d:8d69 UDP 123

Jan 07 09:28:42 localhost.localdomain ntpd[3252]: Listening on routing socket on fd #27 for interface updates

Jan 07 09:28:44 localhost.localdomain ntpd[3252]: 0.0.0.0 c016 06 restart

Jan 07 09:28:44 localhost.localdomain ntpd[3252]: 0.0.0.0 c012 02 freq_set kernel 14.230 PPM

Jan 07 09:28:44 localhost.localdomain ntpd[3252]: 0.0.0.0 c615 05 clock_sync

注意:必須開啓ntp功能

#timedatectl set-ntp yes

5)檢查是否同步

Linux虛擬機上檢查,時鐘是否和internet-NTP同步。

# ntpstat -p    查看NTP服務器有無和上層NTP連通

synchronised to NTP server (193.228.143.12) at stratum 3

   time correct to within 246 ms

   polling server every 256 s

# ntpq -p       查看NTP服務器與上層NTP的狀態

     remote           refid      st t when poll reach   delay   offset  jitter

==============================================================================

+cn.ntp.faelix.n 185.134.196.169  2 u   73   64    2  267.589   -0.818   8.186

+ntp.wdc1.us.lea 130.133.1.10     2 u   15   64    3  236.361    4.704  18.434

+ntp2.flashdance 192.36.143.150   2 u   72   64    2  199.253   -1.115   2.915

+li461-162.membe 103.1.106.69     2 u   13   64    3   83.849    6.663   4.146

*ntp8.flashdance 194.58.202.148   2 u   81   64    2  220.509   -2.216   0.000

remote 本機和上層NTPIP或主機名,“+”代表優先,“*”嗲表次優先

refid 參考上一層的NTP主機地址

st stratum階層

when 多少秒前曾經同步過時間

pool 下次更新在多少秒之後

reach已經向上層NTP服務器要求更新的次數

delay 網絡延遲

jitter 源時鐘和本地時鐘的時間差

# timedatectl   查看時鐘是否和上層NTP服務器同步

Local time: Sun 2019-01-06 13:05:52 CST

Universal time: Sun 2019-01-06 05:05:52 UTC

RTC time: Sun 2019-01-06 05:05:52

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: yes

NTP synchronized: yes

RTC in local TZ: no

DST active: n/a

在物理機上檢查,時鐘是否和Linux虛擬機同步(服務器ipLinux虛擬機的ip地址)

 圖片1.png

使用MD5來驗證ntp時間同步

ntp server   192.168.202.128   Linux虛擬機RHEL7.2

ntp client    192.168.202.131   Linux虛擬機RHEL7.2

 

server

(1)ntpserver端修改/etc/ntp.conf

#允許192.168.202.1-192.168.202.254同步並需要驗證MD5

restrict 192.168.202.0 mask 255.255.255.0 notrust vim /etc/ntp.conf

 

123keyid,設置123是信任的

keys /etc/ntp/keys

trustedkey 123

enable auth

 

2)編輯/etc/ntp/keys文件

123 keyid, M MD5, china 就是密鑰key

# vim /etc/ntp/keys

123 M china

 

3)啓動ntp服務

# systemctl start ntpd

注意:防火牆的設置以及開啓NTP功能

做爲ntp server192.168.202.128 將無法使用ntpdate命令來校對時間,因爲ntpdate ntp server 都綁定udp port 123

client

1)在ntp client端修改/etc/ntp.conf

#vim /etc/ntp.conf

server 192.168.202.128 iburst   指定ntp server

 

2)編輯/etc/ntp/keys

client端的/etcntp/keys文件格式和ntp serve/etc/ntp/keys文件是一樣的。

123 keyid, M MD5, china 就是密鑰key

# cat /etc/ntp/keys

123 M china

 

3)啓動ntp服務

# systemctl  start ntpd

 

驗證

-a 123表示發送驗證,密鑰序號爲123

-k /etc/ntp/keys表示序號123的密鑰在/etc/ntp/keys文件裏。

# ntpdate -a 123 -k /etc/ntp/keys 192.168.202.128       測試環境使用,生產環境慎用

 7 Jan 10:48:26 ntpdate[6679]: adjust time server 192.168.202.128 offset 0.004077 sec

注意:192.168.202.128keyid,keyserver),要和192.168.202.131client)的keyid,key 相同,否則會同步失敗。

 

ntpdntpdate的區別

ntpdate : 用來同步ntp server 服務器上的時間。

ntp server : 提供ntp服務,同時也向上級ntp server 去同步自己的時間。

下面是網上關於ntpdntpdate區別的相關資料。如下所示所示:

使用之前得弄清楚一個問題,ntpdntpdate在更新時間時有什麼區別。ntpd不僅僅是時間同步服務器,它還可以做客戶端與標準時間服務器進行同步時間,而且是平滑同步,並非ntpdate立即同步, 在生產環境中慎用ntpdate,也正如此兩者不可同時運行

時鐘的躍變,對於某些程序會導致很嚴重的問題。許多應用程序依賴連續的時鐘——畢竟,這是一項常見的假定,即,取得的時間是線性的,一些操作,例如數據庫事務,通常會地依賴這樣的事實:時間不會往回跳躍。不幸的是,ntpdate調整時間的方式就是我們所說的”躍變“:在獲得一個時間之後,ntpdate使用settimeofday(2)設置系統時間,這有幾個非常明顯的問題:

第一,這樣做不安全。ntpdate的設置依賴於ntp服務器的安全性,***者可以利用一些軟件設計上的缺陷,拿下ntp服務器並令與其同步的服務器執行某些消耗性的任務。由於ntpdate採用的方式是跳變,跟隨它的服務器無法知道是否發生了異常(時間不一樣的時候,唯一的辦法是以服務器爲準)。

第二,這樣做不精確。一旦ntp服務器宕機,跟隨它的服務器也就會無法同步時間。與此不同,ntpd不僅能夠校準計算機的時間,而且能夠校準計算機的時鐘。

第三,這樣做不夠優雅。由於是跳變,而不是使時間變快或變慢,依賴時序的程序會出錯(例如,如果ntpdate發現你的時間快了,則可能會經歷兩個相同的時刻,對某些應用而言,這是致命的)。因而,唯一一個可以令時間發生跳變的點,是計算機剛剛啓動,但還沒有啓動很多服務的那個時候。其餘的時候,理想的做法是使用ntpd來校準時鐘,而不是調整計算機時鐘上的時間。

NTPD 在和時間服務器的同步過程中,會把 BIOS 計時器的振盪頻率偏差——或者說 Local Clock 的自然漂移(drift)——記錄下來。這樣即使網絡有問題,本機仍然能維持一個相當精確的走時。

參考資料:

https://www.cnblogs.com/kerrycode/archive/2015/08/20/4744804.html

http://www.cnblogs.com/alfred0311/p/7873980.html

https://blog.csdn.net/u010603298/article/details/75042989?utm_source=blogxgwz6

https://blog.csdn.net/boy198332/article/details/28637227

https://blog.csdn.net/finnson/article/details/83111063


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