部署ntp服务

编程

私有化平台中,需要部署ntp服务器,由于是两台物理服务器,这里为了避免单点问题,想要部署两台ntp server,其他同网段的客户端通过ntp服务同这两台服务器进行时钟校准,时钟同步。

既然是私有平台,只有在部署实施阶段可以直通外网,后续实际使用过程中可能不通外网。

考虑:在部署实施阶段S1通过ntpdate ip来同步网络时间,并写入硬件时钟,S2的ntp server的上层时间服务器为S1。

#Ubuntu

/sbin/hwclock --systohc

#CentOS

/usr/sbin/hwclock --systohc

服务器1

S1

服务器2  

S2

客户端 

C

1. 防火墙,开放123 udp端口

#关闭iptables规则,或者开放udp 123号端口

#CentOS

firewall-cmd --permanent --add-port=123/udp

firewall-cmd --reload

firewall-cmd --list-all

#Ubuntu

iptables -A INPUT -p udp --dport 123 -j ACCEPT

iptables -A OUTPUT -p udp --sport 123 -j ACCEPT

2. ntp server部署安装

无论是ntp server还是client端,都需要安装ntp服务。

#CentOS

yum -y install ntp

#Ubuntu

apt-get -y install ntp

#也可以直接通过dpkg -i *.deb安装,但是需要先依次安装几个依赖包

dpkg –i libopts25_5.12-0.1ubuntu1_amd64.deb

dpkg –i libcap2_2.22-1ubuntu3_amd64.deb

dpkg –i libssl1.0.0_1.0.1-4ubuntu5.38_amd64.deb

dpkg –i ntp_4.2.6.p3+dfsg-1ubuntu3.11_amd64.deb

3. ntp server配置

#S1

tee /etc/ntp.conf <<-"EOF"

driftfile /var/lib/ntp/ntp.drift

server 120.25.108.11 perfer

server ntp1.aliyun.com

server ntp.ubuntu.com

restrict 127.0.0.1

restrict -6 ::1

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

server 127.127.1.0 iburst

fudge 127.127.1.0 stratum 10

EOF

ntpdate 120.25.108.11

/sbin/hwclock --systohc

service ntp start

#S2中server配置S1的ip

tee /etc/ntp.conf <<-"EOF"

driftfile /var/lib/ntp/ntp.drift

server S1 perfer

restrict 127.0.0.1

restrict -6 ::1

restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap

server 127.127.1.0 iburst

fudge 127.127.1.0 stratum 10

EOF

ntpdate 120.25.108.11

/sbin/hwclock --systohc

service ntp start

restrict 命令的常用参数:

ignore

拒绝所有类型的 NTP 联机

nomodify

客户端不能使用 ntpc 与 ntpq 这两支程序来修改服务器的时间参数, 但客户端仍可透过这部主机来进行网络校时的

noquery

客户端不能够使用 ntpq, ntpc 等指令来查询时间服务器,等于不提供 NTP 的网络校时

notrap

不提供 trap 这个远程事件登录的功能

notrust

 拒绝没有认证的客户端

4. ntp client配置

#C的server配置S1和S2的ip

tee /etc/ntp.conf <<-"EOF"

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

#设置客户端与服务器端时间差距,默认最大为1000,为0为不限制

tinker panic 0

#minpoll表示客户端向服务器端同步的最少时间,单位为2的次幂最小为3,秒

server S1 prefer minpoll 3 maxpoll 3

#maxpoll表示客户端向服务器端同步的最长时间,单位为2的次幂最大为10,秒

server S2 iburst minpoll 3 maxpoll 3

restrict S1

restrict S2

server 127.127.1.0 # local clock

fudge 127.127.1.0 stratum 10

EOF

5. 查看

#查看端口

netstat -ln|grep 123

#查看服务连接和端口

netstat -tlunp | grep ntp

#是否和上层服务器联通

ntpstat

#与上层ntp的状态

nptq -p

#监控状态

watch nptq -p

ntpq -p命令参数详解

remote:NTP 主机的 IP 或主机名,左边的符号

如果有『 * 』代表目前正在作用当中的上层 NTP

如果是『 + 』代表也有连上线,而且可作为下一个提供时间更新的候选者。

如果是『 - 』 表示为不合格的ntp服务器

refid:上一层 NTP 主机的地址

st:远程服务器的层级别,0-16,0为最高层,

when:几秒钟前曾经做过时间同步化更新的动作;

poll:下一次更新在几秒钟之后;

reach:已经向上层 NTP 服务器要求更新的次数

delay:网络传输过程当中延迟的时间,单位为 10^(-6) 秒

offset:时间补偿的结果,单位与 10^(-3) 秒

jitter:Linux 系统时间与 BIOS 硬件时间的差异时间, 单位为 10^(-6) 秒

6. 测试

正常情况下,S1,S2都启动。现通过watch ntpq -p命令查看C状态,并进行如下操作

*S1        120.25.108.11    3 u    6    8  377    0.130   -1.079   0.180

+S2        192.168.0.2    4 u    5    8  377    0.238  -13.534   0.923

 LOCAL(0) .LOCL.

(1)关闭S1

 S1        120.25.108.11    

*S2        192.168.0.2  

 LOCAL(0) .LOCL.

(2)关闭S1,再关闭S2

 S1        .INIT.           

S2        .INIT.    

*LOCAL(0) .LOCL.

(3)从上面S1,S2关闭下,只启动S2

S2上

 S1        .INIT.                      

*LOCAL(0) .LOCL.

C上

 S1        .INIT.           

*S2        LOCAL(0)    

LOCAL(0) .LOCL.

(4)从上面S1,S2关闭下,先启动S2,再启动S1

*S1        120.25.108.11    

+S2        192.168.0.2    

 LOCAL(0) .LOCL.

(5)

以上是 部署ntp服务 的全部内容, 来源链接: utcz.com/z/516271.html

回到顶部