linux下搭建ntp服务,Linux 下快速搭建ntp 时间同步服务器
一、搭建時間同步服務器
1、編譯安裝ntp server
tar zxvf ntp-4.2.4p5.tar.gz
cd ntp-4.2.4p5
./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make
make install
注: ntp 官方下載網http://www.ntp.org/downloads.html
2、修改ntp.conf 配置文件
vi /etc/ntp.conf
①、第一種配置:允許任何IP 的客戶機都可以進行時間同步
將“restrict default nomodify notrap noquery”這行修改成:
restrict default nomodify
②、第二種配置:只允許192.168.18.***網段的客戶機進行時間同步
在restrict default nomodify notrap noquery(表示默認拒絕所有IP 的時間同步)之
后增加一行:
restrict 192.168.18.0 mask 255.255.255.0 nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 8
3、以守護進程啟動ntpd
/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid
4、ntpd 啟動后,客戶機要等幾分鐘再與其進行時間同步,否則會提示“no server
suitable for synchronization found”錯誤。
二、配置時間同步客戶機
vi /var/spool/cron/root
增加一行,在每天的5 點13 分、9 點13 分、14 點13 分、19 點13 分與時間同
步服務器進行同步
13 5,9,14,19 * * * /usr/sbin/ntpdate 192.168.18.2? >> /root/ntpdate.log 2>&1
備注:如果客戶機沒有ntpdate,可以下載ntpdate.tar.gz 到/usr/sbin/目錄,然后解
壓:
wgethttp://blog.s135.com/attachment/200708/ntdate.tar.gz
cd /usr/sbin/
tar zxvf ntpdate.tar.gz
三、同步
在ntp server 上重新啟動ntp 服務后,ntp server 自身或者與其server 的同步的需
要一個時間段,這個過程可能是5 分鐘,在這個時間之內在客戶端運行ntpdate
命令時會產生no server suitable for synchronization found 的錯誤。
那么如何知道何時ntp server 完成了和自身同步的過程呢?
在ntp server 上使用命令:
# watch ntpq –p
出現如下結果:
Every 2.0s: ntpq
-p Thu Jul 10
02:28:32 2008
remote refid st t when poll reach delay offset jitter
============================================================
192.168.30.22 LOCAL(0) 8 u 22 64 1 2.113 179133. 0.001
LOCAL(0) LOCAL(0) 10 l 21 64 1 0.000 0.000 0.001
四、ntp.conf 文件
restrict default kod nomodify notrap nopeer noquery
restrict 10.10.0.0 mask 255.255.0.0 nomodify notrap
server 10.10.7.141
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 8
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
authenticate no
keys /etc/ntp/keys
五、參考網址:
http://www.itlearner.com/article/2008/4234.shtml
http://linux.chinaunix.net/bbs/viewthread.php?tid=708915&page=1
http://www.blogjava.net/spray/archive/2008/07/10/213964.html
_______________________________________________________________________
解決ntp的錯誤 no server suitable for synchronization found
當用ntpdate -d 來查詢時會發現導致 no server suitable for synchronization found 的錯誤的信息有以下2個:
錯誤1.Server dropped: Strata too high
在ntp客戶端運行ntpdate serverIP,出現no server suitable for synchronization found的錯誤。
在ntp客戶端用ntpdate –d serverIP查看,發現有“Server dropped: strata too high”的錯誤,并且顯示“stratum 16”。而正常情況下stratum這個值得范圍是“0~15”。
這是因為NTP server還沒有和其自身或者它的server同步上。
以下的定義是讓NTP Server和其自身保持同步,如果在/ntp.conf中定義的server都不可用時,將使用local時間作為ntp服務提供給ntp客戶端。
server 127.127.1.0
fudge 127.127.1.0 stratum 8
在ntp server上重新啟動ntp服務后,ntp server自身或者與其server的同步的需要一個時間段,這個過程可能是5分鐘,在這個時間之內在客戶端運行ntpdate命令時會產生no server suitable for synchronization found的錯誤。
那么如何知道何時ntp server完成了和自身同步的過程呢?
在ntp server上使用命令:
# watch ntpq -p
出現畫面:
Every 2.0s: ntpq -p???????????????????????????????????????????????????????????????????????????????????????????????????????????? Thu Jul 10 02:28:32 2008
remote?????????? refid????? st t when poll reach?? delay?? offset jitter
==============================================================================
192.168.30.22?? LOCAL(0)???????? 8 u?? 22?? 64??? 1??? 2.113 179133.?? 0.001
LOCAL(0)??????? LOCAL(0)??????? 10 l?? 21?? 64??? 1??? 0.000?? 0.000? 0.001
注意LOCAL的這個就是與自身同步的ntp server。
注意reach這個值,在啟動ntp server服務后,這個值就從0開始不斷增加,當增加到17的時候,從0到17是5次的變更,每一次是poll的值的秒數,是64秒*5=320秒的時間。
如果之后從ntp客戶端同步ntp server還失敗的話,用ntpdate –d來查詢詳細錯誤信息,再做判斷。
錯誤2.Server dropped: no data
從客戶端執行netdate –d時有錯誤信息如下:
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
transmit(192.168.30.22)
192.168.30.22: Server dropped: no data
server 192.168.30.22, port 123
.....
28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found
出現這個問題的原因可能有2:
1。檢查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定義中使用了notrust的話,會導致以上錯誤。
使用以下命令檢查ntp的版本:
# ntpq -c version
下面是來自ntp官方網站的說明:
The behavior. of notrust changed between versions 4.1 and 4.2.
In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".
In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to authenticate themselves to your (client) ntpd
解決:
把notrust去掉。
2。檢查ntp server的防火墻。可能是server的防火墻屏蔽了upd 123端口。
可以用命令
#service iptables stop
來關掉iptables服務后再嘗試從ntp客戶端的同步,如果成功,證明是防火墻的問題,需要更改iptables的設置。
________________________________________________________________________
1. 與一個已知的時間服務器同步
2. 配置網絡時間協議(ntp)
1. 讓linux自動同步時間
vi /etc/crontab
加上一句:
00 0 1 * * root rdate -s time.nist.gov
time.nist.gov 是一個時間服務器.
2. 時間服務器配置(192.168.10.1)
1). # rpm -ivh ntp-4.1.2-4.EL3.1.i386.rpm 2). # vi /etc/ntp.conf 注釋一行 restrict default ignore 加入一行 restrict 192.168.10.0 mask 255.255.255.0 notrust nomodify notrap 3). # vi /etc/ntp/step-tickers 加入一行 pool.ntp.org 這樣每次ntpd啟動時,會自動連接該國際標準時間服務器; 4). # service ntpd start 5). # netstat -an |grep 123 確保該端口以udp方式開放 時間客戶端配置(192.168.10.2) 1). # ntpdate 192.168.10.2 應該顯示同步成功 2). # crond -e 加入 0-59/10 * * * * /usr/sbin/ntpdate 192.168.10.1 >> /root/ntpdate.log 2>&1 表示每隔10分鐘同步一次時間
總結
以上是生活随笔為你收集整理的linux下搭建ntp服务,Linux 下快速搭建ntp 时间同步服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux io端口复用,Linux系统
- 下一篇: 嵌入式linux mono,嵌入式lin