Linux 下的服务器时间同步方案有哪些

Linux 下的服务器时间同步方案有哪些,第1张

大多数应用场景中,使用ntpd的-g参数令其在启动时允许大步长同步就足够了(除此之外还可以在配置中使用 iburst 来让加速同步)。使用 ntpd 唯一需要注意的是在配置时应配置 ACL,以免成为攻击跳板。

在启动 ntpd 之前运行一次ntpdate 的好处是 ntpdate 退出时,系统的时间已经调到了比较接近正确的时间。不过, ntp 作者已经在文档中明确表示未来 ntpdate 会变成一个shell脚本(通过 ntpd -g -q 来实现),事实上,现在也可以在启动时用 ntpq -c rv 来检查 ntpd 的状态了,对于精度要求比较高的应用,系统时间和时钟快慢同等重要,如果不高,也没有太大必要去另外运行 ntpdate 了。

定时运行 ntpdate 的系统很容易受到这样的攻击:如果有人故意调整了某个 ntp 服务器的时间,所有使用 ntpdate 的系统都将跟随其设置。举例来说,假如已知某家公司的系统每天凌晨3点会执行某项非常耗时的任务,同时每4个小时会做一次ntpdate,那么攻陷这台服务器并令其一直返回 凌晨 2:59,就可以很容易地实现四两拨千斤的杠杆式攻击了,而且,由于系统时间也会影响日志,因此观察日志的人员也比较容易受其误导。

与此相反,ntpd 通常会配置为使用多个参考服务器,在运行时会参考多个服务器的时间,并排除明显异常的服务器。而监控多个 ntp 服务器相对来说要容易得多。

用 cron 或类似的任务计划去做 ntpdate 还有个问题是如果系统时间比较准的话,每到某个整点(或者特定的时间)的同步 *** 作就变成了一次对 NTP 服务器的 DDoS。机器多的话,这种放大效应对于集群本身和提供 NTP 服务的机器都是不利的。

ntp用于同步系统时钟,保持时间的正确性,如果是独立的 linux 系统并且设定了正确的时间,只要CMOS电池不失效,影响是不大的,但是如果是在集群中,时间不一致往往导致数据混乱,这时候ntp就很重要了,往往都是自己搭一台ntp服务器来保持整个集群的时间一致性。

配置的时钟服务器的ip地址为192.168.100.116

第一步  为服务器和客户机安装ntp  ntpdate

[root@sql-proxy1 app]#yum install ntp ntpdate -y第二步 查找时间同步服务器

http://www.pool.ntp.org/zone/asia #在里面可以找到中国第三步  编辑 /etc/ntp.conf

[root@sql-proxy1 app]#vim /etc/ntp.conf server 0.cn.pool.ntp.org

server 1.cn.pool.ntp.org

server 2.cn.pool.ntp.org

server 3.cn.pool.ntp.org #以上四个是时间同步服务器server 127.127.1.0 iburst local clock #当外部时间不可用时,使用本地时间restrict 192.168.10.1 mask 255.255.255.0 nomodify #允许更新的IP地址段第四步  启动ntp服务

[root@sql-proxy1 app]#systemctl start ntpd第五步  验证服务

[root@sql-proxy1 app]#ntpq -p    remote          refid      st t when poll reach  delay  offset  jitter

==============================================================================

120.25.115.19  .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp6.flashdance .INIT.          16 u    -  64    0    0.000    0.000  0.000

time5.aliyun.co .INIT.          16 u    -  64    0    0.000    0.000  0.000

85.199.214.101  .INIT.          16 u    -  64    0    0.000    0.000  0.000

biisoni.miuku.n .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp5.flashdance .INIT.          16 u    -  64    0    0.000    0.000  0.000

leontp.ccgs.wa. .INIT.          16 u    -  64    0    0.000    0.000  0.000

ntp1.ams1.nl.le .INIT.          16 u    -  64    0    0.000    0.000  0.000

*LOCAL(0)        .LOCL.          5 l    7  64    1    0.000    0.000  0.000

第六步  远程客户端时间同步测试

[root@sql-mysql2 ~]#ntpdate 192.168.10.116 17 Dec 20:55:08 ntpdate[11904]: adjust time server 172.18.68.31 offset -0.000067 sec

第七步 客户端设置计划任务,每天晚上1点同步时间

crontab -e

00 01 * * * root /usr/sbin/ntpdate 192.168.10.116/usr/sbin/clock -w

EDT 时间即美国东部时间。这里要改为北京时间即可:

命令如下:

root@ubuntu# mv /etc/localtime /etc/localtime.bak 

root@ubuntu# ln -s /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 

root@ubuntu# date 

修改116服务器本机的ntp时间同步

systemctl stop ntpd

ntpdate cn.pool.ntp.org

systemctl start ntpd

rpm -qa |grep ntp     #检查ntp版本

service ntpd status    #查询ntp服务状态

service ntpd start      #启动

service ntpd stop      #停止

service ntpd restart   #重启

ntpq -p   #查看ntp服务器与上层ntp的状态


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7390976.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存