CentOS 7 搭建内网ntp时间服务器

  • 2019-09-02
  • 0
  • 0

[toc]

测试环境说明:
内网环境:172.16.1.0/24

  • 172.16.1.61 有公网环境的ntp服务端
  • 172.16.1.99 只有内网环境

配置时间源时候建议多选不同区域的
一些可用的NTP服务时间源

Name IP Location
210.72.145.44 210.72.145.44 中国(国家授时中心)
ntp1.aliyun.com 120.25.115.20 阿里云
ntp2.aliyun.com 203.107.6.88 阿里云
time.nist.gov 192.43.244.18 NCAR,Boulder,Colorado
time-a.nist.gov 129.6.15.28 NIST,Gaithersburg,Maryland
time-c.timefreq.bldrdoc.gov 132.163.4.103 NIST,Boulder,Colorado
nist1-sj.glassey.com 207.126.98.204 Abovenet,SanJose,California

一、服务端操作

1.安装ntp时间服务

[root@ntp-server etc]# yum install -y ntp
[root@ntp-server etc]# rpm -qa ntp        #下载后验证
ntp-4.2.6p5-28.el7.centos.x86_64

2.修改配置文件

默认配置文件为/etc/ntp.conf,先备份下

#备份配置文件
[root@ntp-server ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

#去掉配置文件注释行
[root@ntp-server etc]# grep  "^[a-z]" /etc/ntp.conf.bak >/etc/ntp.conf

#修改配置文件
[root@ntp-server etc]# vim /etc/ntp.conf
driftfile /var/lib/ntp/drift        #默认的
restrict 172.16.1.0 mask 255.255.255.0   #允许172.16.1.0网段来同步此服务器时间
restrict 127.0.0.1                  #默认的
restrict ::1                        #默认的
server ntp1.aliyun.com              #添加时间源
server time.nist.gov                #添加时间源
includefile /etc/ntp/crypto/pw      #默认
keys /etc/ntp/keys                  #默认
disable monitor                     #默认  

pidfile    /var/run/ntpd.pid    #ntp的pid文件位置
logfile    /var/log/ntp.log       #需要手动建立日志文件位置          
# 关于/etc/ntp.conf的配置文件参数说明
> 利用restrict来实现权限控制
> restrict [IP] [mask] [netmask_IP] [patameter]

> patameter支持的参数:
>     igonre:拒绝所有类型的`NTP`连接
>     nomodify:Client不能够使用命令ntpc以及ntpdq来修改修改服务器的时间参数,但是可以进行网络校时;
>     noquery:表示不提供NTP网络校时;
>     notrap:表示不提供远程事件登陆的功能;
>     notrust:表示不接受没有认证的Clent;
>     如果没有任何参数,表示不接受任何的限制;

> server [IP or hostname] [prefer]
>     用于设置上层提供NTP服务的服务器;
>     prefer:表示优先使用

> driftfile [可以被ntpd写入的进程或者文件]
>     NTP Server计算时间是通过本机的时钟振荡来记录的,这个时间和上层Time Server的时钟振荡频率不一定是一致的,需要将这个振荡差异记录下来;

3.启动时间服务器并加入开机自启

[root@ntp-server ~]# systemctl start ntpd
[root@ntp-server ~]# systemctl enable ntpd
[root@ntp-server ~]# netstat -lnuto|grep 123       #查看端口,默认监听为123
udp        0      0 10.8.0.1:123            0.0.0.0:*                           off (0.00/0/0)
udp        0      0 172.16.1.61:123         0.0.0.0:*                           off (0.00/0/0)
udp        0      0 10.0.0.61:123           0.0.0.0:*                           off (0.00/0/0)
udp        0      0 127.0.0.1:123           0.0.0.0:*                           off (0.00/0/0)
udp        0      0 0.0.0.0:123             0.0.0.0:*                           off (0.00/0/0)
udp6       0      0 fe80::990b:4542:518:123 :::*                                off (0.00/0/0)
udp6       0      0 fe80::20c:29ff:fead:123 :::*                                off (0.00/0/0)
udp6       0      0 fe80::20c:29ff:fead:123 :::*                                off (0.00/0/0)
udp6       0      0 ::1:123                 :::*                                off (0.00/0/0)
udp6       0      0 :::123                  :::*                                off (0.00/0/0)

4.启动后确认,可看到可用的时间源

#启动ntp服务后可能要稍等好几分钟才会出现
[root@ntp-server ~]# ntpstat 
synchronised to NTP server (129.6.15.30) at stratum 2 
   time correct to within 1076 ms
   polling server every 64 s

#带*为当前可用时间源,同步状态
[root@ntp-server ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+120.25.115.20   10.137.53.7      2 u   44   64   77   30.095    4.687   1.974
*time-c-g.nist.g .NIST.           1 u   44   64   77  266.244    2.343   1.830
#ntpq -p状态参数说明:
remote :表示NTP主机的IP或者是主机名,最左边的
     *  表示目前正在作用当中的上层NTP服务器;
     +  表示已经连接成功,并且可以作为下一个提供时间更新的候选者;
refid:表示参考的上一层NTP主机的地址;
st:表示的含义是startnum,一般范围是从0-->15;
when:表示几秒前做过时间同步化更新操作;
poll:表示下一次更新在几秒钟之后;
reach:表示已经向上一层服务器要求更新的次数;
delay: 表示数据在传输过程中延迟的时间;
offset:表示时间补偿的结果;
jitter:Linux系统时间和BIOS硬件时间的差异;

Client仅仅需要使用简单的命令就可以完成时间和NTP的同步操作
#若出现以下情况,原因是没有设置上层服务器,导致和上层时间源服务器的同步没有办法完成,或者是因为上层服务器设置错误
[root@ntp-server ~]# ntpstat 
unsynchronised
   polling server every 8 s

二、客户端操作:

1.安装ntp时间服务

[root@web etc]# yum install -y ntp
[root@web etc]# rpm -qa ntp        #下载后验证
ntp-4.2.6p5-28.el7.centos.x86_64

2.修改配置文件

默认配置文件为/etc/ntp.conf,先备份下

#备份配置文件
[root@web ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

#去掉配置文件注释行
[root@web etc]# grep  "^[a-z]" /etc/ntp.conf.bak >/etc/ntp.conf

#修改配置文件
[root@web etc]# vim /etc/ntp.conf
driftfile /var/lib/ntp/drift        #默认的
server 172.16.1.51                  #配置上游时间服务器为本地的ntpd Server服务器
restrict 127.0.0.1                  #默认的
restrict ::1                        #默认的
includefile /etc/ntp/crypto/pw      #默认
keys /etc/ntp/keys                  #默认
disable monitor                     #默认

pidfile    /var/run/ntpd.pid    #ntp的pid文件位置
logfile    /var/log/ntp.log       #需要手动建立日志文件位置   

3.启动时间服务器并加入开机自启

[root@web ~]# systemctl start ntpd
[root@web ~]# systemctl enable ntpd
[root@web ~]# netstat -lnuto|grep 123          #查看端口,默认监听为123
udp        0      0 10.8.0.1:123            0.0.0.0:*                   off (0.00/0/0)
udp        0      0 172.16.1.61:123         0.0.0.0:*                   off (0.00/0/0)
udp        0      0 10.0.0.61:123           0.0.0.0:*                   off (0.00/0/0)
udp        0      0 127.0.0.1:123           0.0.0.0:*                   off (0.00/0/0)
udp        0      0 0.0.0.0:123             0.0.0.0:*                   off (0.00/0/0)
udp6       0      0 fe80::990b:4542:518:123 :::*                        off (0.00/0/0)
udp6       0      0 fe80::20c:29ff:fead:123 :::*                        off (0.00/0/0)
udp6       0      0 fe80::20c:29ff:fead:123 :::*                        off (0.00/0/0)
udp6       0      0 ::1:123                 :::*                        off (0.00/0/0)
udp6       0      0 :::123                  :::*                        off (0.00/0/0)

4.确认,查看可用时间源

# 带*表示在用的时间源
[root@web ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*172.16.1.51     129.6.15.30      2 u   26   64   17    0.544   29.208  86.019

[root@web ~]# ntpstat
synchronised to NTP server (172.16.1.51) at stratum 3 
   time correct to within 1116 ms
   polling server every 64 s

5.测试

 #修改本地时间
[root@web ~]#  date -s 08/07/18
Tue Aug  7 00:00:00 CST 2018
[root@web ~]# date
Tue Aug  7 00:00:04 CST 2018

#等一小会 再次去查看,发现时间已同步
[root@ntp-server ~]# date
Thu Jun 27 10:59:59 CST 2019   #时间服务器

[root@web ~]# date
Thu Jun 27 11:00:00 CST 2019    #本地

至此,内网的时间服务器就安装完成了,所有的内网服务器都可以到时间服务器来同步时间,不需要到公网上去同步时间了。

评论

还没有任何评论,你来说两句吧

提供支持 - 友情链接 - 衫小寨