Linux下搭建NTP服务器
背景
当服务器多了,时间准确与否,一致与否是个大问题。虽然这个问题总是被忽略,但是统一一致的时间是很有必要的。下面说一下在局域网内配置Linux时间服务器的方法。
假设在50.50.50.0/24网段内,要以IP50.50.50.14为的Linux机器时间服务器。
50.50.50.14服务器能上外网,能与比较权威的公网时间服务器同步。
同网段内的其他机器每小时自动向50.50.50.14同步时间。
配置方法
一、配置NTP服务器(假定要配置的服务器的IP地址为50.50.50.14)
1.NTP server的主配置文件为/etc/ntp.conf 现对/etc/ntp.conf的各项进行说明
#配置前做好备份
cd /etc/
cp ntp.conf ntp.bak.conf
2.vi /etc/ntp.conf(以下是ntp.conf文件的内容)
#设置默认策略为允许任何主机进行时间同步
restrict default ignore
#开启内部递归网络接口 lo
restrict 127.0.0.1
#开启50.50.50.0/24的网段内的机器,可以使用该服务器进行网络较时,但是不能修改NTP时间参数。
restrict 50.50.50.0 mask 255.255.255.0 nomodify
#设置此服务器同上层服务器做时间同步的IP地址,prefer意味着首选IP地址
下面的几个服务器感觉时间反应速度不错
server 210.72.145.44 prefer
server 218.21.130.42
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
#指定阶层编号为10,降低其优先度。
server 127.127.1.0
fudge 127.127.1.1 stratum 10
#漂移文件
driftfile /var/lib/ntp/drift
3.NTP server的维护
----添加为服务
chkconfig --level 345 ntpd on
----启动
service ntpd start
或
/etc/rc.d/init.d/ntpd start
----停止
service ntpd stop
或
/etc/rc.d/init.d/ntpd stop
#查看本机和上层服务器的时间同步结果
[root@DBServer10414 etc]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
210.72.145.44 .INIT. 16 u - 64 0 0.000 0.000 0.000
218.21.130.42 .INIT. 16 u - 64 0 0.000 0.000 0.000
125.62.193.121 .INIT. 16 u - 64 0 0.000 0.000 0.000
82.200.209.194 .INIT. 16 u - 64 0 0.000 0.000 0.000
218.189.210.4 .INIT. 16 u - 64 0 0.000 0.000 0.000
ntptrace #可以用來追踪某台时间服务器的时间对应关系
ntpdate IP #客户端要和NTP server进行时钟同步。
3.NTP clent 配置
#停用nptd 服务
service ntpd stop
#手动与服务器同步时间
ntpdate 50.50.50.14
24 Feb 18:32:10 ntpdate[7192]: adjust time server 50.50.50.14 offset 0.050908 sec
#建crontab,每天8点半定时把ntp服务器时间写进本机的时钟
crontab -e
30 8 * * * root /usr/sbin/ntpdate 50.50.50.14; /sbin/hwclock -w
#重启crontab
service crontab restart
注意: 主机防火墙要打开udp的123端口,供外网访问。