搭建背景
如果有很多台服务器,并且因为业务需要,导致服务器的时间必须一致时。这时就需要有一台 NTP 服务器来实现这个需求,下面三哥就讲一下如何在服务器上配置 NTP 时间服务。
战前准备
- 一台 CentOS 7 64位的服务器(这里是因为我只有这个设备所以用这个为例子)
- 服务器需要放通 NTP 默认的 UDP 123 端口
- 充满智慧的大脑
战斗开始
1、先检查一下服务器是否已经安装了 ntp 包:
1
|
rpm –q ntp
|
如果回显类似下面的内容,则证明服务器已经安装了 ntp 包:
1
2
|
[root@hufflepuff ~]# rpm -q ntp
ntp–4.2.6p5–25.el7.centos.2.x86_64
|
如果没有安装 ntp 包,则使用下面的命令进行安装:
1
|
yum install ntp ntpdate –y
|
2、编辑 NTP 守护进程的主配置文件 /etc/ntp.conf
:
1
|
vi /etc/ntp.conf
|
3、找到并注释 pool.ntp.org 项目的公共服务器默认列表(在需要注释的条目前加 # ):
1
2
3
4
|
# 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
|
在 NTP Public Pool Time Servers 选择你所在国家位置,然后将 NTP 服务器地址添加到配置中(这里我选择的中国):
1
2
3
4
|
server 0.cn.pool.ntp.org
server 1.cn.pool.ntp.org
server 2.cn.pool.ntp.org
server 3.cn.pool.ntp.org
|
如果所配置的 NTP 服务器在使用过程中出现宕机的情况,这时候我们可以把时间同步为为本机时间,添加如下内容:
1
|
server 127.127.1.0 iburst local clock
|
最终 /etc/ntp.conf 配置的 NTP 服务器列表如下:
1
2
3
4
5
6
7
8
9
10
11
|
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 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 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst
server 127.127.1.0 iburst local clock
|
4、找到 restrict 语句,并配置允许使用 NTP 服务器的 IP :
1
2
|
#Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
|
这里三哥配置的是允许所有 IP 使用,所以 IP 和子网掩码都使用 0.0.0.0
:
1
|
restrict 0.0.0.0 mask 0.0.0.0 nomodify notrap
|
这里可以配置仅允许某个 IP 使用,例如:
1
|
restrict 10.0.0.0
|
也可以配置允许 10.0.0.0/8 子网内所有 IP 使用,例如:
1
|
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap
|
5、添加一个 logfile 语句,来记录 NTP 服务器在运行中遇到的问题,并指定到一个日志文件(在配置文件的空白出新增一行即可):
1
|
logfile /var/log/ntp.log
|
6、保存 /etc/ntp.conf 的配置,并且设置 NTP 开机启动
1
2
|
systemctl start ntpd
systemctl enable ntpd
|
分享战果
1、验证 NTP 节点同步状态和你的系统时间:
1
2
|
ntpq –p
date –R
|
回显类似以下内容:
1
2
3
4
5
6
7
8
9
10
|
[root@hufflepuff ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
61–216–153–106. .INIT. 16 u – 64 0 0.000 0.000 0.000
61–216–153–104. 62.161.56.158 3 u 40 64 1 79.066 –2.241 0.000
*212.47.249.141 5.103.128.88 3 u 26 64 77 235.565 13.264 5.392
61–216–153–105. 62.161.56.158 3 u 233 64 10 84.121 –2.473 0.000
LOCAL(0) .LOCL. 5 l 363 64 40 0.000 0.000 0.000
[root@hufflepuff ~]# date -R
Wed, 22 Nov 2017 16:00:51 +0800
|
2、Linux 系统同步时间:
1
|
ntpdate –u ntp.vtrois.com
|
3、Windows 系统同步时间:
1
2
3
|
w32tm /config /syncfromflags:manual /manualpeerlist:“ntp.vtrois.com”
net stop w32time
net start w32time
|
也可以打开 控制面板 -> 时钟、语言和区域 找到 Internet 时间 选项,将 NTP 服务器地址填写进去点击 立即更新 即可。
windows服务器 安装ntp
方法/步骤
-
进入到服务器,依次点击:开始—运行—regedit
然后点击确定。
-
依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、TimeProviders、NtpServer
在NtpServer项的右侧键值ENablied,将默认的0
改为1,1为启用NTP服务器。
-
依次展开:HKEY_LOCAL_MACHINE、SYSTEM、CurrentControlSet、Services、W32Time、Config
找到Config项右侧的AnnounceFlags。
把默认的10改为5
5的意思就是自身为可靠的时间源
-
修改完以上之后关闭注册表编辑器
再:开始—运行—cmd—确定
-
在命令提示符中输入:net stop w32Time回车
等待NTP服务停止
然后再输入:net start w32Time回车
启动NTP服务
-
测试,同步成功!
END