Linux下配置NTP服務器 centos
1、前言: 安全
Network Time Protocol(NTP)是用來使計算機時間同步化的一種協議,它可使計算機對其服務器或時鐘源(如石英鐘,GPS等等)作同步化,它能夠提供高精準度的時間校訂(LAN上與標準間差小於1毫秒,WAN上幾十毫秒),且可介由加密確認的方式來防止惡毒的協議攻擊。 服務器
中國大概能用的NTP服務器地址 http://www.pool.ntp.org 是NTP的官方網站,在這上面咱們能夠找到離咱們城市最近的NTP Server. NTP建議咱們爲了保障時間的準確性,最少找兩個個NTP Server 網絡
默認NTP服務端口: ide
UDP/123 測試
本文配置的NTP工做模式: 網站
使用client/server方式,該方式適用於一臺時間服務器接收上層時間服務器的時間信息,並提供時間信息給下層用戶。 加密
2、配置方法: spa
設置時區 rest
根據不一樣系統有所不一樣,centos裏面只有上海,設置以下:
cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime #設置時區爲重慶
1、ntp服務安裝
NTP服務在CentOS6.x中式默認安裝的軟件包,可用rpm -qa |grep ntp檢查是否安裝,若是未安裝可以使用以下命令安裝與刪除NTP服務器軟件包
# rpm -qa|grep ntp
ntpdate-4.2.6p5-1.el6.centos.x86_64
ntp-4.2.6p5-1.el6.centos.x86_64
確認是否安裝NTP軟件包,若是沒有請使用
#yum -y install ntp
2、ntp服務配置
ntp服務安裝完成後,須要修改ntp服務配置文件/etc/ntp.conf
2.1 ntp服務的啓動、暫停
NTP屬於system V服務,其啓動、暫停相關命令以下:
#啓動
service ntpd start
#中止
Service ntpd stop
#從新加載
service ntpd reload
#查看當前啓動狀態
service ntpd status
2.2 ntp服務自動加載
設置ntp服務下一次開機運行狀態可經過命令配置
#在運行級別2、3、4、5上設置爲自動運行
chkconfig ntpd on
#在運行級別2、3、4、5上設置爲不自動運行
chkconfig ntpd off
#在運行級別3、5上設置爲自動運行
chkconfig ntpd --level 35 on
#在運行級別3、5上設置爲不自動運行
chkconfig ntpd --level 35 off
2.3 配置信息
運行一個NTP Server不須要佔用不少的系統資源,因此也不用專門配置獨立的服務器,就能夠給許多client提供時間同步服務, 可是一些基本的安全設置仍是頗有必要的
那麼這裏一個很簡單的思路就是第一咱們只容許局域網內一部分的用戶鏈接到咱們的服務器. 第二個就是這些client不能修改咱們服務器上的時間。
關於權限設定部分
權限的設定主要以 restrict 這個參數來設定,主要的語法爲:
restrict IP地址 mask 子網掩碼 參數
其中 IP 能夠是IP地址,也能夠是 default ,default 就是指全部的IP
參數有如下幾個:
ignore :關閉全部的 NTP 聯機服務
nomodify:客戶端不能更改服務端的時間參數,可是客戶端能夠經過服務端進行網絡校時。
notrust :客戶端除非經過認證,不然該客戶端來源將被視爲不信任子網
noquery :不提供客戶端的時間查詢
注意:若是參數沒有設定,那就表示該 IP (或子網)沒有任何限制!
在/etc/ntp.conf文件中咱們能夠用restrict關鍵字來配置上面的要求
# cat /etc/ntp.conf //查看ntp.conf配置文件以下:
1) 修改/etc/ntp.conf文件
系統默認去掉#號配置/etc/ntp.conf以下:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 202.120.2.101 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
自行設置權限
restrict default kod nomodify notrap nopeer noquery //首先咱們對於默認的client拒絕全部的操做
restrict default ignore //設置默認策略爲不容許任何主機進行時間同步
restrict 127.0.0.1 //而後容許本機地址一切的操做
restrict 192.168.108.0 mask 255.255.255.0 nomodify //最後咱們容許局域網內全部client鏈接到這臺服務器同步時間.可是拒絕讓他們修改服務器上的時間
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap //容許任何主機跟進行時間同步
restrict 202.120.2.101 //容許202.120.2.101主機跟進行時間同步
ntp.conf設置例子
#設置訪問權限
driftfile /etc/ntp/drift //記錄上次的NTP server與上層NTP server聯接所花費的時間
restrict 192.168.108.31 mask 255.255.255.0 nomodify
restrict 192.168.108.32 mask 255.255.255.0 nomodify
restrict 192.168.108.33 mask 255.255.255.0 nomodify
restrict 192.168.108.36 mask 255.255.255.0 nomodify
#Internet上的時間服務器做爲內部標準時間來源
restrict 202.112.31.197 nomodify notrap noquery
server dns.sjtu.edu.cn prefer //設置此服務器同上層服務器作時間同步的IP地址,prefer意味着首選IP地址
server 202.112.31.197 //設置上層服務器作同步ip地址
server 127.0.0.1 local clock //local地址
fudge 127.0.0.1 stratum 10 //這行是時間服務器的層次。設爲0則爲頂級,若是要向別的NTP服務器更新時間,請不要把它設爲0
keys /etc/ntp/keys
#指定NTP服務器日誌文件
設置ntp日誌的path
statsdir /var/log
logfile /var/log/ntp.log
2)修改/etc/ntp/step-tickers文件,內容以下(當ntpd服務啓動時,會自動與該文件中記錄的上層NTP服務進行時間校對)
202.112.31.197
3)修改/etc/sysconfig/ntpd文件,內容以下:
#容許BIOS與系統時間同步,也能夠經過hwclock -w 命令
SYNC_HWCLOCK=yes
4)在配置完成並從新啓動服務後,可經過ntpstat 命令顯示本機上一次與上層ntp服務器同步時間的狀況,也可使用ntpq -p 查看本機與上層ntp服務器通訊狀況
2.4 圖形界面配置NTP
圖形界面下直接用system-config-date, 在「Network Time Protocol」選項頁指定NTP服務器後勾選「Synchronize system clock before starting service」,將ntpd服務設置爲自動運行便可。
2.5 客戶端訪問
1)Linux客戶端可經過圖形界面進行配置,也能夠經過ntpdate命令當即與NTP服務器及你行時間校對,或者配置ntp.conf
ntpdate 192.168.0.10
2)Windows客戶端,只需雙擊任務欄右下角的時鐘,選擇「Internet時間」選項頁,輸入NTP服務IP地址或FQDN,並勾選「自動與Internet時間服務器同步」便可。
Windows默認7天自動更新一次,可經過修改註冊表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time\TimeProviders\NtpClient\SpecialPollInterval 默認單位爲妙,修改後從新啓動便可生效
----管理命令
ntpq –p #查看本機和上層服務器的時間同步結果
ntptrace #能夠用來追蹤某臺時間服務器的時間對應關係
ntpdate IP #客戶端要和NTP server進行時鐘同步。
/var/log/ntp/ntp.log #查看ntp日誌
ntpstat # 也能夠查看一些同步狀態
watch ntpq -p #監測服務器的運行查NTP源
# watch ntpq -p //監測服務器的運行查NTP源
Every 2.0s: ntpq -p Sun Dec 2 00:05:31 2012
remote refid st t when poll reach delay offset jitter
dns.sjtu.edu.cn 202.112.31.197 3 u 4 64 77 14.668 1907019 8528448
dns2.synet.edu. .INIT. 16 u - 64 0 0.000 0.000 0.000
如今我就來解釋一下其中的含義
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的分佈狀況. 簡單地說這個數值的絕對值越小咱們和服務器的時間就越精確
4.配置客戶端
1.LINUX客戶端: (局域網內對時間有要求的機器)
echo 「00 */1 * * * root /usr/sbin/ntpdate 192.168.200.240;/sbin/hwclock -w」>>/etc/crontab
每小時同NTP server進行一次時鐘同步,並寫入本機BIOS