配置Linux下的时间服务器,让一批机器和一台机器时间同步

来源:互联网 发布:淘宝关键词修改不见 编辑:程序博客网 时间:2024/05/02 02:01
Linux自带了ntp服务 -- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。配置文件就是/etc/ntp.conf。 

为了测试,在公司设置让sales -- 192.168.0.3和router -- 192.168.0.1做时间同步。router做time server,router本身不和其他机器时间同步,就是取本地时间。所以,我先把router机器的时间调准了: 

date "2008-05-15 cst" 
date "09:59" 
clock -w 
hwclock --systohc 

后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。然后将router配置成一个time server,修改/etc/ntp.conf,其他的配置不怎么需要改,只需要关注restrict的配置: 

1. 注释掉原来的restrict default ignore这一行,这一行本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。 

2. 加入:restrict 192.168.0.0 mask 255.255.255.0 -- 让192.168.0.0/24网段上的机器能和本机做时间同步 

3. 这样就可以了,记得下面的: 

server 127.127.1.0 # local clock 
fudge 127.127.1.0 stratum 10 

这两行需要,这是让本机的ntpd和本地硬件时间同步。 

当然,我们也可以添加server xxx.xxx.xxx.xxx,让他和其他的time server时间同步。 

4. /etc/init.d/ntpd restart 

5. chkconfig ntpd on 

6. 修改iptables配置,将tcp和udp 123端口开放,这是ntp需要的端口,在/etc/services中可以查到这个端口。 


这样router就成为一台time server了,现在我们配置sales这台机器,也是修改/etc/ntp.conf 

1. restrict default ignore这行保留为非注释状态,因为sales不需要做time server 

2. 注释掉server 127.127.1.0, fudge 127.127.1.0 stratum 10这两行,因为这台机器不需要和本地硬件时钟同步了。 

3. 加入server 192.168.0.1这行,和router机器同步。 

4. /etc/init.d/ntpd restart 

5. chkconfig ntpd on 

这样就OK了。看看时间,已经和router同步了。往后默认配置好像是5分钟和time server同步一次。ntpupdate命令是显式的和某台机器做时间同步,以前将ntpupdate放到crontab中定期同步也是可以的,但是既然ntpd本身就可以做这个时间,所以现在看来使用ntpupdate就有点太土了。 


附上参考资料: 
复制代码
linux下ntpd安装配置笔记
概述: ntp能与互联网上的时钟保持同步,而且本身也是一台NTP服务器,可以为局域网电脑提供校对时间服务
安装: redhat自带
配置文件: 
/etc/ntp.conf

附:我的配置文件
#restrict 
default ignore
restrict 
127.0.0.1
restrict 
192.168.3.20
restrict 
192.168.0.0 mask 255.255.255.0
restrict 
192.168.2.0 mask 255.255.255.0
restrict 
192.168.4.0 mask 255.255.255.0
server 
210.72.145.44  prefer       #National Time Service Center
server 
195.13.1.153
server 
194.137.39.67
server  
127.127.1.0     # local clock
restrict 
210.72.145.44
restrict 
195.13.1.153
restrict 
194.137.39.67
driftfile 
/var/lib/ntp/drift

附:相关配置参数说明
#  restrict权限控制语法为:
#  restrict IP mask netmask_IP parameter
#  其中 IP 可以是软件地址,也可以是 
default ,default 就类似 0.0.0.0 咯!
#  至于 paramter 则有:
#   ignore :关闭所有的 NTP 联机服务
#   nomodify:表示 Client 端不能更改 Server 端的时间参数,不过,
#        Client 端仍然可以透过 Server 端来进行网络校时。
#   notrust :该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域
#   noquery :不提供 Client 端的时间查询
#  如果 paramter 完全没有设定,那就表示该 IP (或网域) 『没有任何限制!』

#   设定上层主机主要以 server这个参数来设定,语法为:
#  server [IP
|FQDN] [prefer]
#  Server 后面接的就是我们上层 Time Server 
???绻 Server 参数
#  后面加上 perfer 的话,那表示我们的 NTP 主机主要以该部主机来作为
#  时间校正的对应。另外,为了解决更新时间封包的传送延迟动作,
复制代码

 

0 0