linux設置時間服務器

周海漢 /文

2010.3.30

 

對多個linux服務器,時間保持一致是很必要的。根據精確度要求,應該有相應的時間間隔進行時間同步。如果不進行時間同步,時間久了就會差別很大,遇到問題時定位就很困難。因爲多臺設備的配合,log之間可能有前因後果,時間是同步事件的先後的重要依據。

 

一般來說,對一個機房內的設備,可以設置一臺時間服務器,由它定期從一個標準的時間服務器上獲取時間。其他的服務器可以通過內網的連接從這臺服務器進行同步。這樣不僅時間會一致,而且照顧到一些沒有公網的設備。

 

本文測試系統:

[root@test ~]# cat /etc/*release
CentOS release 5.2 (Final)

 

[root@test ~]# rpm -qf /usr/sbin/ntpd
ntp-4.2.2p1-8.el5.centos.1

在安裝時應該確定ntp包已經安裝。

 

啓動服務器

如果ntpd已經安裝,則可以直接啓動:

[root@test ~]# service ntpd start
Starting ntpd:                                             [  OK  ]

 

同時,也需要檢查一下配置文件,centos缺省都配置好了。

[root@test ~]# vi /etc/ntp.conf

server 0.centos.pool.ntp.org

driftfile /var/lib/ntp/drift

keys /etc/ntp/keys

 

檢查一下時間服務器是否可用:

[root@test ~]# ping 0.centos.pool.ntp.org
PING 0.centos.pool.ntp.org (74.88.39.232) 56(84) bytes of data.
64 bytes from ool-4a5827e8.dyn.optonline.net (74.88.39.232): icmp_seq=1 ttl=54 time=251 ms
如果不可用,則確定一下網絡是否能連接到外網。檢查一下域名解析是否配置。

[root@test ~]# cat /etc/resolv.conf
nameserver 8.8.8.8

 

設置ntpd自啓動

[root@test ~]# find  /etc/rc.d/ -name "*ntpd"
/etc/rc.d/rc6.d/K74ntpd
/etc/rc.d/init.d/ntpd
/etc/rc.d/rc3.d/K74ntpd
/etc/rc.d/rc4.d/K74ntpd
/etc/rc.d/rc5.d/K74ntpd
/etc/rc.d/rc2.d/K74ntpd
/etc/rc.d/rc1.d/K74ntpd
/etc/rc.d/rc0.d/K74ntpd
[root@test ~]# /sbin/chkconfig --level 345 ntpd on
[root@test ~]# !find
find  /etc/rc.d/ -name "*ntpd"
/etc/rc.d/rc6.d/K74ntpd
/etc/rc.d/init.d/ntpd
/etc/rc.d/rc3.d/S58ntpd
/etc/rc.d/rc4.d/S58ntpd
/etc/rc.d/rc5.d/S58ntpd
/etc/rc.d/rc2.d/K74ntpd
/etc/rc.d/rc1.d/K74ntpd
/etc/rc.d/rc0.d/K74ntpd
說明在3,4,5三個級別已經可以自啓動。

 

檢查防火牆

[root@test ~]# iptables -L

對比較嚴格的防火牆,應該對ntp端口123進行配置:

[root@test ~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT
[root@test ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ntp

 

客戶端配置

客戶端採用ntpdate來更新,配置在crontab中。根據需要決定頻率。在每一臺需要同步時間的設備上設置crontab

[root@test1 ~]# crontab -e

 

00 00 * * * /usr/sbin/ntpdate 192.168.12.31

 

192.168.12.31是test服務器的內網地址。

crontab 設置的是每天0點同步時間。

爲了保證時間服務器可用,將命令先在命令行下執行一下。

[root@test1 ~]# ntpdate 192.168.12.31
30 Mar 17:45:24 ntpdate[16495]: step time server 192.168.12.31 offset 0.694312 sec
[root@test1 ~]# date
Tue Mar 30 17:45:37 CST 2010

說明同步時間成功。

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