CentOS7安装NTP服务
有时候内网服务器不能访问外网时间同步服务器,内网的机器和设备又需要时间同步,就需要安装NTP服务来同步时间。
启动服务并设置开机启动后,默认需要5-10分钟才会和配置文件里的上层时间源同步
或者安装ntpdate命令工具
ntpdate ntp服务器域名/IP # 服务端域名或IP,同步时间,如果ntp服务器刚启动,有可能会报错,等待5-10分钟后,再重新执行该命令,就不会报错了
环境:CentOS 7
1、安装NTP服务
yum -y install ntp
2、配置文件
服务端:
#添加本节点IP地址 restrict 192.168.0.158 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 #添加节点所在网关和掩码 restrict 192.168.0.1 mask 255.255.0.0 #指定本ntp服务器的上游ntp服务器为阿里云NTP服务器。同步时间为:从上到下,写的越靠上,优先级越高。(此服务器同步不了时间,寻找下一个ntp服务器) #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server ntp.aliyun.com server cn.ntp.org.cn server 127.127.1.0 fudge 127.127.1.0 stratum 10 #local clock 如果上面的服务器都无法同步时间,就和本地系统时间同步。127.127.1.0在这里是一个IP地址,不是网段。 #127.127.1.0 为第10层。ntp 和127.127.1.0同步完后,就变成了11层。 ntp是层次阶级的。同步上层服务器的stratum 大小不能超过或等于16。
客户端配置
vi /etc/ntp.conf #添加本节点IP地址 restrict 192.168.0.160 nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 #添加节点所在网关和掩码 restrict 192.168.0.1 mask 255.255.0.0 #作为客户端,配置同步到内网的NTP服务器 #server 0.centos.pool.ntp.org iburst #server 1.centos.pool.ntp.org iburst #server 2.centos.pool.ntp.org iburst #server 3.centos.pool.ntp.org iburst server 192.168.0.158 fudge 192.168.0.158 stratum 10
3、启动服务
#开启服务 systemctl start ntpd.service #停止服务 systemctl stop ntpd.service #开机启动 systemctl enable ntpd.service
4、查看状态
#查看状态ntpstat ntpstat #查看ntp服务器与上层ntp的状态 ntpq -p remote:本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先 refid:参考上一层ntp主机地址 st:stratum阶层 when:多少秒前曾经同步过时间 poll:下次更新在多少秒后 reach:已经向上层ntp服务器要求更新的次数 delay:网络延迟 offset:时间补偿 jitter:系统时间与bios时间差
5、restrict选项格式
restrict [ 客户端IP ] mask [ IP掩码 ] [参数] “客户端IP” 和 “IP掩码” 指定了对网络中哪些范围的计算机进行控制,如果使用default关键字,则表示对所有的计算机进行控制,参数指定了具体的限制内容,常见的参数如下: ignore:拒绝连接到NTP服务器 nomodiy: 客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。 noquery: 不提供客户端的时间查询 notrap: 不提供trap远程登录功能,trap服务是一种远程时间日志服务。 notrust: 客户端除非通过认证,否则该客户端来源将被视为不信任子网 。 nopeer: 提供时间服务,但不作为对等体。 kod: 向不安全的访问者发送Kiss-Of-Death报文。
6、server选项格式
server host [ key n ] [ version n ] [ prefer ] [ mode n ] [ minpoll n ] [ maxpoll n ] [ iburst ] 其中host是上层NTP服务器的IP地址或域名,随后所跟的参数解释如下所示: key: 表示所有发往服务器的报文包含有秘钥加密的认证信息,n是32位的整数,表示秘钥号。 version: 表示发往上层服务器的报文使用的版本号,n默认是3,可以是1或者2。 prefer: 如果有多个server选项,具有该参数的服务器有限使用。 mode: 指定数据报文mode字段的值。 minpoll: 指定与查询该服务器的最小时间间隔为2的n次方秒,n默认为6,范围为4-14。 maxpoll: 指定与查询该服务器的最大时间间隔为2的n次方秒,n默认为10,范围为4-14。 iburst: 当初始同步请求时,采用突发方式接连发送8个报文,时间间隔为2秒。
网上的一个配置参考:
# 1. 先处理权限方面的问题,包括放行上层服务器以及开放局域网用户来源: restrict default kod nomodify notrap nopeer noquery <==拒绝 IPv4 的用户 restrict -6 default kod nomodify notrap nopeer noquery <==拒绝 IPv6 的用户 restrict 220.130.158.71 <==放行 tock.stdtime.gov.tw 进入本 NTP 的服务器 restrict 59.124.196.83 <==放行 tick.stdtime.gov.tw 进入本 NTP 的服务器 restrict 59.124.196.84 <==放行 time.stdtime.gov.tw 进入本 NTP 的服务器 restrict 127.0.0.1 <==底下两个是默认值,放行本机来源 restrict -6 ::1 restrict 192.168.100.0 mask 255.255.255.0 nomodify <==放行局域网用户来源,或者列出单独IP # 2. 设定主机来源,请先将原本的 [0|1|2].centos.pool.ntp.org 的设定批注掉: server 220.130.158.71 prefer <==以这部主机为最优先的server server 59.124.196.83 server 59.124.196.84 # 3.默认的一个内部时钟数据,用在没有外部 NTP 服务器时,使用它为局域网用户提供服务: # server 127.127.1.0 # local clock # fudge 127.127.1.0 stratum 10 # 4.预设时间差异分析档案与暂不用到的 keys 等,不需要更动它: driftfile /var/lib/ntp/drift keys /etc/ntp/keys