在启动 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的状态
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)