利用internetNTP服務器同步Linux虛擬機-NTP服務器,而後再使用Linux虛擬機-NTP服務器同步物理主機-NTP客戶端。Linux虛擬機既充當internet-NTP的客戶端,又充當物理主機-NTP的服務端。html
環境概述:Vmworkstation12數據庫
Linux虛擬機 vim
# 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/Linuxdom
操做步驟:socket
(1)確保Linux虛擬機能夠鏈接上internet。ide
# 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相關包,使用rpm或yum安裝。
# 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.org是internet上的公共時間服務器池中的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 本機和上層NTP的IP或主機名,「+」表明優先,「*」嗲表次優先
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虛擬機同步(服務器ip爲Linux虛擬機的ip地址)
使用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
123是 keyid,設置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 server的192.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.128的keyid,key(server),要和192.168.202.131(client)的keyid,key 相同,不然會同步失敗。
ntpd、ntpdate的區別
ntpdate : 用來同步ntp server 服務器上的時間。
ntp server : 提供ntp服務,同時也向上級ntp server 去同步本身的時間。
下面是網上關於ntpd與ntpdate區別的相關資料。以下所示所示:
使用以前得弄清楚一個問題,ntpd與ntpdate在更新時間時有什麼區別。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