知識庫
對于企業(yè)用戶,在Web服務器安全搭建時,如果您網(wǎng)內所有計算機都通過互聯(lián)網(wǎng)同步時間,在速度和精度上都有一定的折扣,并且對互聯(lián)網(wǎng)出口帶寬也有一定的影響,對于這類用戶,我們建議通過自己搭建ntp服務為內部用戶提供時間同步服務。
它是用來同步網(wǎng)絡中各個計算機的時間的協(xié)議。在計算機的世界里,對時間的統(tǒng)一性和準確性要求就非常地高,是按照A這臺計算機的時間,還是按照B這臺計算機的時間?NTP就是用來解決這個問題的,NTP(Network Time Protocol,網(wǎng)絡時間協(xié)議)是用來使網(wǎng)絡中的各個計算機時間同步的一種協(xié)議。它的用途是把計算機的時鐘同步到世界協(xié)調時UTC,其精度在局域網(wǎng)內可達0.1ms,在互聯(lián)網(wǎng)上絕大多數(shù)的地方其精度可以達到1-50ms。
它可以使計算機對其服務器或時鐘源(如石英鐘,GPS等等)進行時間同步,它可以提供高精準度的時間校正,而且可以使用加密確認的方式來防止惡毒的協(xié)議攻擊。0層的服務器采用的是原子鐘、GPS鐘等物理設備,stratum 1與stratum 0 是直接相連的,往后的stratum與上一層stratum通過網(wǎng)絡相連,同一層的server也可以交互。
在Linux系統(tǒng)下搭建ntp服務是非常簡單的,即便你對Linux不熟悉,只需要簡單的幾個操作就夠用了,下面是幾個必要的步驟:
1、安裝你熟悉的操作系統(tǒng)(這里假設你安裝的是CentOS 6)。
2、查看是否已經(jīng)安裝ntp程序,在終端上運行如下命令:
#rpm -qa | grep ntpntp-4.2.4p8-2.el6.centos.x86_64ntpdate-4.2.4p8-2.el6.centos.x86_64
如果看到這兩個軟件包,說明已經(jīng)安裝好了ntp程序。
否則通過如下命令安裝
yum install ntp
3、修改/etc/ntp.conf文件,增加如下服務器地址:
server ntp.neu.edu.cn maxpoll 6server time.hko.hk maxpoll 6server 133.243.238.163 maxpoll 6server 193.190.230.65 maxpoll 6server 220.231.55.106 maxpoll 6server 210.72.145.44 maxpoll 6server ntp.openxid.com maxpoll 6server ntp.zyhyt.orgmaxpoll 6server time.tju.edu.cn maxpoll 6
啟動ntpd程序,并讓系統(tǒng)下次啟動時默認啟動ntpd程序:
chkconfig ntpd onservice ntpd start
4、修改防火墻規(guī)則
iptables -I INPUT -m udp -p udp --dport 123 -j ACCEPTip6tables -I INPUT -m udp -p udp --dport 123 -j ACCEPTservice iptables saveservice ip6tables save
經(jīng)過一段時間的同步,你就可以通過如下命令來測試你機器是否可以正常服務了
ntpdate -q SERVER_IP
1、no server suitable for synchronization found
原因:ntpd啟動過程需要5分鐘左右!(或者ntpd根本沒有啟動)
在ntp server上重新啟動ntp服務后,ntp server自身或者與其server的同步的需要一個時間段,這個過程可能是5分鐘,在這個時間之內在客戶端運行ntpdate命令時會產生no server suitable for synchronization found的錯誤。
那么如何知道何時ntp server完成了和自身同步的過程呢?
在ntp server上使用命令:
watch ntpq
出現(xiàn)畫面:
**注意**LOCAL的這個就是與自身同步的ntp server,而reach這個值,在啟動ntp server服務后,就從0開始不斷增加,當增加到17的時候,從0到17是5次的變更,每一次是poll的值的秒數(shù),是64秒*5=320秒的時間。
如果之后從ntp客戶端同步ntp server還失敗的話,用ntpdate –d來查詢詳細錯誤信息,再做判斷。
2、Server dropped: strata too high”的錯誤,并且顯示“stratum 16”
修改fudge server的stratum為0~15
3、Server dropped: no data
從客戶端執(zhí)行ntpdate –d server_ip(debug模式)時有錯誤信息: Server dropped: no data.
ntp服務器出現(xiàn)這個問題的原因可能有2種:
(1) 檢查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定義中使用了notrust的話,會導致以上錯誤(版本差異),解決方法是把notrust去掉。
# ntpq -c version
(2) 檢查ntp server的防火墻,可能是server的防火墻屏蔽了upd 123端口。可以用下面命令來關掉iptables服務后再嘗試從ntp客戶端的同步,如果成功,證明是防火墻的問題,需要更改iptables的設置。
#service iptables stop