现在的位置: 首页 > Linux > CentOS > Linux > 正文

Linux时间同步配置方法

2012年12月28日 CentOS, Linux ⁄ 共 1936字 ⁄ 字号 暂无评论 ⁄ 阅读 3,092 次

本文主要介绍Linux系统上使用ntp服务配置时间同步的方法,需要安装ntp服务并对服务器与客户端进行相应配置。

1.查询是否安装ntp,若没有安装的话使用yum进行安装

rpm -q ntp

yum –y install ntp

2.服务器端配置

服务器端需要修改配置文件/etc/ntp.conf

vi /etc/ntp.conf

2.1以互联网的时间服务器为时间服务器的时钟

设置要求:以time.nist.gov 为时间服务器,在ntp.conf中增加或修改以下内容:

restrict default ignore # 关闭所有的 NTP 要求封包

restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify

server time.nist.gov #设置时间服务器

server 127.127.1.1 #开启内部递归网络接口

fudge 127.127.1.1 stratum 10 refid NIST # LCL 不同步

driftfile /etc/ntp.drift

logfile /var/log/ntp.log

Broadcastdelay 0.008 #广播延迟时间#

2.2以内部ntp服务器为数据服务器时钟

设置要求:不对 Internet 提供服务,仅对内部子网提供服务,内部子网的客户端不能修改NTP服务器的时间参数。

在ntp.conf中增加或修改以下内容:

restrict default ignore # 关闭所有的 NTP 要求封包

restrict 127.0.0.1   # 开启内部递归网络接口 lo

restrict 192.168.0.0 mask 255.255.255.0 nomodify #在内部子网里面的客户端可以 进行网络校时,但不能修改NTP服务器的时间参数。

server 198.168.77.170 #198.123.30.132作为上级时间服务器参考

driftfile /var/lib/ntp/drift

broadcastdelay 0.008 #广播延迟时间#

3.启动服务

启动NTP服务

service ntpd start

如果想每次系统启动,NTP服务自动启动,请输入下面命令:

/sbin/chkconfig --add ntpd

/sbin/chkconfig --level 234 ntpd on //配置在开机时运行

打开iptables防火墙123端口

NTP服务的端口是123,使用的是udp协议,所以NTP服务器的防火墙必须对外开放udp 123这个端口。方法如下,使用以下规则:

/sbin/iptables -A INPUT -p UDP -i eth0 -s 192.168.0.0/24 \

> --dport 123 -j ACCEPT

查看ntp服务器工作情况

通常我们使用命令查看123端口和ntp系统进程判断ntp服务器是否工作正常。命令如下:

netstat -unl | grep 123 #查看123端口

ps -ef|grep ntp #查看ntp进程是否启动

4.监控ntp服务器

ntpq用来监视ntpd操作,使用标准的NTP模式6控制消息模式,并与NTP服务器通信。

ntpq -p查询网络中的NTP服务器,同时显示客户端和每个服务器的关系。

"* ":响应的NTP服务器和最精确的服务器。

"+":响应这个查询请求的NTP服务器。

"blank(空格)":没有响应的NTP服务器。

"remote" :响应这个请求的NTP服务器的名称。

"refid ":NTP服务器使用的更高一级服务器的名称。

"st":正在响应请求的NTP服务器的级别。

"when":上一次成功请求之后到现在的秒数。

"poll":当前的请求的时钟间隔的秒数。

"offset":主机通过NTP时钟同步与所同步时间源的时间偏移量,单位为毫秒(ms)。

5.客户端的配置

Linux 上面进行网络校时非常简单,执行 ntpdate 即可:

ntpdate 192.168.77.170 #192.168.77.170是NTP服务器的IP

注意:Ntpd启动的时候通常需要一段时间大概5分钟进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,报错"no server suitable for synchronization found"。启动时候需要等待5分钟。

如果想定时进行时间校准,可以使用crond服务来定时执行。

编辑 /etc/crontab 文件

vi /etc/crontab

加入下面一行:

00 7 * * * root /usr/sbin/ntpdate 192.168.77.170
>> /root/ntpdate.log 2>&1 #192.168.77.170是NTP服务器的IP地址

然后重启crond服务

service crond restart

这样,每天 7:00 Linux 系统就会自动的进行网络时间校准。