需求说明:因为项目是独立托管在机房的服务器,为了所有服务器时间统一,需要从所有服务器中选择一台做时间服务器(管理端),其他机器是客户端。具体搭建过程如下
管理端:ip是10.10.10.25
1.开放ntp默认端口123,设置UDP端口123的完全双向访问:
iptables -A INPUT -p udp --dport 123 -j ACCEPT
iptables -A OUTPUT -p udp --sport 123 -j ACCEPT
或者是直接关闭防火墙(不推荐)
[root@localhost ~]# firewall-cmd --state #查看防火墙状态
running
[root@localhost ~]# systemctl stop firewalld #停止防火墙的服务
[root@localhost ~]# systemctl disable firewalld #禁止开机启动
2.下载和安装:因为centos7默认是么有安装过ntp的,客户端也需要执行安装(如果找不到配置文件就执行下面命令安装)
yum –y install ntp
3.检查安装是否成功:
rpm –qa | grep ntp
安装完成之后,再检查,会出现如下两个文件:
ntp-4.2.6p5-29.el7.centos.2.x86_64
ntpdate-4.2.6p5-29.el7.centos.2.x86_64
4.更新时间服务器时间为最新时间:
a.服务器可以连接外网:
ntpdate cn.pool.ntp.org
b.服务器不可联网:手动设置为当前时间
date –s "2019-02-19 16:00:00"
c.关键操作,设置时间后,需要把时间更新到BIOS,执行如下命令:
hwclock -w
5.修改配置文件:
修改之前先备份,要时刻养成备份的好习惯,以防万一,有备无患!!!
cp /etc/ntp.conf /etc/ntp.back.conf
进行修改操作:
vi /etc/ntp.conf
将下面原有的四行注释掉:
#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
fudge 127.127.1.0 stratum 10
修改完毕,按ESC键,然后输入下面内容保存并退出(记得先输入冒号:) :wq
6.配置完毕之后,启动服务:
service ntpd start
或者使用下面命令也可以:
systemctl start ntpd
启动会看到如下内容:
Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Thu 2021-01-28 04:48:53 EST; 12s ago
Process: 46144 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 46145 (ntpd)
CGroup: /system.slice/ntpd.service
└─46145 /usr/sbin/ntpd -u ntp:ntp -g
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listen and drop on 1 v6wildcard :: UDP 123
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listen normally on 2 lo 127.0.0.1 UDP 123
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listen normally on 3 bond0 10.10.10.25 UDP 123
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listen normally on 4 lo ::1 UDP 123
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: Listening on routing socket on fd #21 for interface updates
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: 0.0.0.0 c016 06 restart
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Jan 28 04:48:53 localhost.localdomain ntpd[46145]: 0.0.0.0 c011 01 freq_not_set
Jan 28 04:49:00 localhost.localdomain ntpd[46145]: 0.0.0.0 c614 04 freq_mode
命令扩展:
第一套命令如下:
service ntpd start #启动
service ntpd restart #重启
service ntpd status #查看状态
service ntpd stop #关闭
第二套命令如下:
systemctl start ntpd
systemctl restart ntpd
systemctl starus ntpd
systemctl stop ntpd
7.启动完毕,检查服务是否可用:
ntpq –p
出现如下内容,则启动成功:
remote refid st t when poll reach delay offset jitter
==============================================================================
*time.cloudflare 10.4.1.175 3 u 12 64 1 195.903 -0.804 0.209
203.107.6.88 10.137.38.86 2 u 11 64 1 20.907 -3.916 0.116
119.28.183.184 100.122.36.4 2 u 10 64 1 50.081 1.703 0.217
说明:可以看到offset和jitter都有对应的值,remote中带星号(*)的为ntp挡圈选中的授时服务点,LOCAL表示本机,所以可以看到当前选择的授时服务点即为本机。如果是没有联网的配置只会显示LOCAL这一项。
客户端:ip是10.10.10.1-10 在1-10所有客户端执行如下命令:
1.更新时间:
[root@node4 ~]# ntpdate 10.10.10.25
28 Jan 04:53:11 ntpdate[105509]: no server suitable for synchronization found
出现失败
[root@node4 ~]# ntpdate 10.10.10.25
28 Jan 21:21:52 ntpdate[174442]: adjust time server 10.10.10.25 offset 0.001747 sec
表示成功
2.修改配置文件:
同样先备份:
cp /etc/ntp.conf /etc/ntp.back.conf
执行修改:
vi /etc/ntp.conf
修改如下,将以下四行注释掉:
#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
添加如下内容:
# add by JavaAlpha ntp server
server 10.10.10.25 iburst
添加完成之后保存退出。切记1-10服务器都要配置。
3.启动检查:
service ntpd start
检查:
[root@node4 ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
*10.10.10.25 203.107.6.88 3 u 5 64 1 0.139 -0.826 0.088
remote带*号,表示选择的授权服务器。到此所有配置完毕。如果没有看见*号出现,过几秒再看下就出现了。