(1)NTP服务器是用于局域网服务器时间同步使用的,可以保证局域网所有的服务器与时间服务器的时间保持一致,某些应用对时间实时性要求高,必须保证时间的统一性
(2)在互联网中的时间服务器也有很多,
例如: 复旦大学免费NTP:"ntp.fudan.edu.cn
阿里云免费NTP:"ntp1.aliyun.com"
NTP服务器的监听端口为UDP
的123端口
,如果防火墙开启的话就需要在本地防火墙开启运行客户端访问123端口
实验系统环境
root@rsync[15:33:47]:~#cat /etc/redhat-release
CentOS release 6.9 (Final)
在iptables配置文件中添加如下规则:
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
第一步:yum安装NTP
yum install ntp ntpdate -y
第二步:配置ntp.conf
配置文件
#备份源配置文件
cp /etc/ntp.conf{,.bak}
#清空原有文件中的配置内容
> /etc/ntp.conf
#编辑ntp.conf配置文件
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server 127.127.1.0 # local clock
server ntp3.aliyun.com #阿里云时间服务器
fudge 127.127.1.0 stratum 10
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
参数 | 说明 |
---|---|
restrict default ignore | # 关闭所有的 NTP 要求封包 |
restrict 127.0.0.1 | # 开启内部递归网络接口 lo |
restrict 192.168.0.0 mask 255.255.255.0 nomodify | #在内部子网里面的客户端可以进行网络校时,但不能修改NTP服务器的时间参数。 |
server 198.123.30.132 | #198.123.30.132作为上级时间服务器参考 |
restrict 198.123.30.132 | #开放server 访问我们ntp服务的权限 |
driftfile /var/lib/ntp/drift | 在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内 |
broadcastdelay 0.008 | #广播延迟时间 |
说明
一般情况下,下载下来后不需要修改配置文件,启动ntp服务
即可
第三步:启动/关闭/重启-ntp服务
#以守护进程启动ntpd服务
#关闭ntp服务
root@rsync[15:41:36]:~#/etc/init.d/ntpd stop
Shutting down ntpd: [ OK ]
#启动ntp服务
root@rsync[15:45:24]:~#/etc/init.d/ntpd start
Starting ntpd: [ OK ]
#重启ntp服务
root@rsync[15:45:27]:~#/etc/init.d/ntpd restart
Shutting down ntpd: [ OK ]
Starting ntpd: [ OK
#查看ntp服务状态
root@rsync[15:41:26]:~#ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*cn.ntp.faelix.n 185.134.196.169 2 u 1 64 1 173.221 -0.756 1.068
ntp5.flashdance 194.58.202.20 2 u 1 64 1 384.297 0.655 1.245
119.28.183.184 100.122.36.4 2 u 1 64 1 50.899 11.596 0.778
static-5-103-13 .GPS. 1 u 1 64 1 349.924 6.084 0.371
注意
ntpd启动后,客户端
要等待几分钟
再与服务端进行时间同步,否则会报错提示"no server suitable for synchronization found"
##部署客户端
第一步:安装ntp服务
因为需要用到ntpdate
这个命令所以要安装一下ntp服务
yum install ntp ntpdate -y
第二步:命令行测试是否可用
#修改时间为2012年
root@db01[16:22:29]:~#date -s "20120523 01:01:01"
Wed May 23 01:01:01 CST 2012
root@db01[01:01:01]:~#date
Wed May 23 01:01:03 CST 2012
#时间同步测试,把服务端上的时间同步到客户端上来
root@db01[01:01:50]:~#ntpdate 10.0.0.31
5 Jan 16:24:28 ntpdate[36173]: step time server 10.0.0.31 offset 208970553.688881 sec
root@db01[16:24:28]:~#date
Sat Jan 5 16:24:46 CST 2019
第三步:添加配置crontab
定时任务
#编辑定时任务
crontab -e
#添加定时任务
0 0 * * * /usr/sbin/ntpdate 10.0.0.31>>/data/logs/ntp.log 2>&1
#上面的IP地址是服务端的IP地址
前面五个*
号表示
前5个*字段分别表示:
分钟:0-59
小时:1-23
日期:1-31
月份:1-12
星期:0-6(0表示周日)
一些特殊符号:
*: 表示任何时刻
,: 表示分割
-:表示一个段,如第二端里: 1-5,就表示1到5点
/n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
例如:
0,10,20,30,40,50 * * * * 每隔10分 执行
*/10 * * * * 每隔10分 执行
* 1 * * * 从1:0到1:59 每隔1分钟 执行
0 1 * * * 1:00 执行
0 */1 * * * 毎时0分 每隔1小时 执行
0 * * * * 毎时0分 每隔1小时 执行
2 8-20/3 * * * 8:02,11:02,14:02,17:02,20:02 执行
30 5 1,15 * * 1日 和 15日的 5:30 执行
至此ntp服务已经配置完成