配置NTP时间服务器

时间:2023-03-08 16:42:50
配置NTP时间服务器

一.安装ntp软件

1.检查是否安装了ntp相关包。
rpm -qa | grep ntp
2.安装ntp软件。
yum -y install ntp

二.参数讲解
ignore  :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询ntp服务器
notrap :不提供trap远端登陆:拒绝为匹配的主机提供模式 6 控制消息陷阱服务。陷阱服务是 ntpdq 控制消息协议的子系统,用于远程事件日志记录程序。
nopeer :用于阻止主机尝试与服务器对等,并允许欺诈性服务器控制时钟
kod : 访问违规时发送 KoD 包。

三.修改配置文件
1.查看未修改的配置文件
# grep ^[^#] /etc/ntp.conf   
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
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
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
1.设置允许任何IP的客户机都可以进行时间同步(修改后的配置文件)
# grep ^[^#] /etc/ntp.conf   
driftfile /var/lib/ntp/drift
restrict default nomodify notrap
restrict 127.0.0.1
restrict ::1
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
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor
2.只允许192.168.1.0网段的客户机进行时间同步(修改后的配置文件)
# grep ^[^#] /etc/ntp.conf  
driftfile /var/lib/ntp/drift
restrict default nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict ::1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.ntp.org iburst
server 3.centos.pool.ntp.org iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
disable monitor

四.启动NTP服务和防火墙
systemctl start ntpd
systemctl enable ntpd
iptables -A INPUT -p UDP -i eno16777736 -s 192.168.1.0/24 --dport 123 -j ACCEPT
setsebool -P ntp_disable_trans 1#SELinux设置
vi /etc/sysconfig/ntpd#允许BIOS与系统时间同步,添加下面一行。
SYNC_HWCLOCK=yes

五.检测NTP
1.检测NTP服务是否运行
# netstat -tlunp | grep ntp
udp        0      0 192.168.1.101:123       0.0.0.0:*                           2563/ntpd          
udp        0      0 127.0.0.1:123           0.0.0.0:*                           2563/ntpd          
udp        0      0 0.0.0.0:123             0.0.0.0:*                           2563/ntpd          
udp6       0      0 fe80::20c:29ff:fe7b:123 :::*                                2563/ntpd          
udp6       0      0 ::1:123                 :::*                                2563/ntpd          
udp6       0      0 :::123                  :::*                                2563/ntpd 
2.查看ntp服务器有无和上层ntp连通
# ntpstat
synchronised to NTP server (120.25.108.11) at stratum 3
   time correct to within 99 ms
   polling server every 64 s
3.查看ntp服务器与上层ntp的状态
# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 news.neu.edu.cn .INIT.          16 u    -   64    0    0.000    0.000   0.000
x202.118.1.130   202.118.1.47     2 u    7   64  377  153.659    9.605  19.941
*time4.aliyun.co 10.137.38.86     2 u   10   64  377   39.666  -47.661  15.944

remote   - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先
refid    - 参考上一层ntp主机地址
st       - stratum阶层
when     - 多少秒前曾经同步过时间
poll     - 下次更新在多少秒后
reach    - 已经向上层ntp服务器要求更新的次数
delay    - 网络延迟
offset   - 时间补偿
jitter   - 系统时间与bios时间差

六.配置时间同步客户机
1.执行ntpdate命令:
ntpdate 192.168.1.101 #192.168.1.101为ntp服务器IP地址
2.写入BIOS
hclock -w
3.crond服务
vi /etc/crontab
30 8 * * * root /usr/sbin/ntpdate 192.168.1.101; /sbin/hwclock -w
4.重启crond服务
service crond restart