您好,登录后才能下订单哦!
服务器怎么同步网络时间,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
网络时间同步协议(NTP)是时间同步的技术基础。Linux操作系统都默认安装了ntp组件。如果服务器能访问外网并且配置了DNS服务器地址,直接ntpdate 0.cn.pool.ntp.org就可以同步外网时间。但很多服务器出于安全考虑,虽然通外网,但没有配置DNS,这时需要直接从时间服务器的ip地址同步时间了。可以使用阿里云(ntp1.aliyun.com)的时间服务器ip直接同步,ntpdate 120.24.81.91,或者清华的时间服务器84.16.73.33。
服务器第一次同步时间显示如下
[root@localhost ~]# ntpdate 120.24.81.9110 Aug 09:46:07 ntpdate[15071]: step time server 120.24.81.91 offset 1.423469 sec
之后每次执行同步时间命令显示和第一次是不一样的
[root@localhost ~]# ntpdate 120.24.81.9110 Aug 14:16:14 ntpdate[12150]: adjust time server 120.24.81.91 offset -0.030012 sec
假设A B两台Linux服务器。
A是开通了外网的,虽然没配置DNS服务器,但能ping通120.24.81.91。
B没开通外网,ping 120.24.81.91会报connect: Network is unreachable,这种肯定无法从外网服务器同步时间。如果执行ntpdate 120.24.81.91,会报no server suitable for synchronization found,或者no servers can be used, exiting。
最简单的办法是A从外网校正过时间后,把A配置成ntp服务器(NTP server),B从A同步时间。配置ntp服务器首先修改配置文件ntp.conf确保各项正确,然后执行# /etc/init.d/ntpd start启动ntp服务器,等待5分钟后,在B上执行# ntpdate AIP (AIP是A的内网IP地址),就可以同步A的系统时间到B,间接同步了外网时间。
配置A为NTP server,首先修改配置文件,配置文件/etc/ntp.conf修改完成后执行如下指令,除了192.168.2.0改成你自己局域网的网段,其余要求必须和下面一样,有比下面多出的语句就注释掉,没有的语句就加上。
#cat /etc/ntp.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}'
restrict default ignore //#设置默认策略为允许任何主机进行时间同步
restrict 127.0.0.1 //给于本机所有权限
restrict 192.168.2.0 mask 255.255.255.0 nomodify notrap //给于局域网机的机器有同步时间的权限
server 0.127.127.1.0 //设置时间服务器为本机,可以设为120.24.81.91外网服务器
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
driftfile /var/lib/ntp/drift
broadcastdelay 0.008
keys /etc/ntp/keys
然后执行/etc/init.d/ntpd start,会显示OK,表示成功。如果配置文件反复修改,执行/etc/init.d/ntpd restart更方便重新加载配置文件。
等待5分钟,这个时间是给NTP server同步本机时间用的。然后再2.13上执行ntpdate 192.168.2.10
[root@DB1 ~]# ntpdate 192.168.2.10
10 Aug 13:35:59 ntpdate[10737]: adjust time server 192.168.2.10 offset 0.004937 sec
表示同步时间成功,多次执行offset会变小,要求不高的话,执行一次误差就已经在千分之几秒范围内了。
如果ntpdate 192.168.2.10返回错误no server suitable for synchronization found,可能是NTP server本身时间还没同步好。可以使用ntpdate –d serverIP指令查看。
[root@DB1 ~]# ntpdate -d 192.168.2.1010 Aug 13:28:07 ntpdate[10719]: ntpdate 4.2.0a@1.1190-r Thu Oct 5 04:11:32 EDT 2006 (1)Looking for host 192.168.2.10 and service ntphost found : 192.168.2.10transmit(192.168.2.10)receive(192.168.2.10)省略192.168.2.10: Server dropped: strata too highserver 192.168.2.10, port 123stratum 16, precision -20, leap 11, trust 000refid [192.168.2.10], delay 0.02573, dispersion 0.00000省略
有“Server dropped: strata too high”的提示,并且“stratum 16”。stratum的正常范围是“0~15”。这是我们什么都不用做,等一段时间再执行指令试试,就会变成stratum 11, precision -20, leap 00, trust 000。stratum 11是正常范围,此时执行ntpdate 192.168.2.10就成功校正时间了。
另外,A和B的防火墙都关闭,整个过程用root账号操作。没有配置A自动同步外网时间是出于安全考虑,B需要频繁校正时间的话,crontab配置ntpdate指令可以达到目的。
crontab -e
9 7 * * * /usr/sbin/ntpdate 192.168.2.10
系统时间同步到硬件时间也都可以根据需要设定。硬件时间保持和系统时间一致的好处是可以避免重启服务器后硬件时间覆盖系统时间导致误差。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。