您的位置:首页 > 运维架构 > Linux

NTP时间服务器实现Linux时间同步

2017-02-03 00:00 295 查看
在linux下,可以通过自带的NTP(Network Time Protocol)协议通过网络使自己的系统保持精确的时间。

什么是NTP?
NTP是用来使系统和一个时间源保持时间同步的协议。
在自己管理的网络中建立至少一台时间服务器来同步本地时间,这样可以使得在不同的系统上处理和收集日志和管理更加容易。

Linux自带了ntp服务
-- /etc/init.d/ntpd,这个服务不仅可以设置让本机和某台/某些机器做时间同步,他本身还可以扮演一个time server的角色,让其他机器和他同步时间。
配置文件就是/etc/ntp.conf。

为了测试,设置让node2 -- 192.168.1.102和node1 -- 192.168.1.101做时间同步。

第一步:
node1做time server,node1本身不和其他机器时间同步,就是取本地时间。
所以,先把node1机器的时间调准了:
[root@node1 ~]date -s 08/03/2011

[root@node1 ~]date -s 11:12:00

[root@node1 ~]clock -w
[root@node1 ~]hwclock --systohc
后两个命令是把设置的时间写到硬件时间中去(也就是CMOS里面的时间)。

第二步:
然后将node1配置成一个time server,修改/etc/ntp.conf,
[root@node1 ~]vi /etc/ntp.conf
其他的配置不怎么需要改,只需要关注restrict的配置:
1. 注释掉下面两行,本身是不响应任何的ntp更新请求,其实也就是禁用了本机的ntp server的功能,所以需要注释掉。 
#restrict default kod nomodify notrap nopeer noquery
#restrict -6 default kod nomodify notrap nopeer noquery
2. 加入:restrict 192.168.1.0 mask 255.255.255.0 -- 让192.168.1.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中可以查到这个端口。

第三步:
这样node1就成为一台time server了,现在我们配置node2这台机器
关闭ntp服务 service ntpd stop
执行: ntpdate 192.168.1.101 即可手工同步!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: