RHEL7同步ntp时间

RHEL7同步ntp时间

  • RHEL7同步ntp时间
    • 测试ntp服务器是否可用
      • 抓包分析ntp
    • 查看NTP同步情况
    • ntp服务器配置文件
    • 将ntp配置迁移到chrony
    • timedatectl设置时区和时间
      • 设置UTC或RTC时间
      • 查看所有可用时区
      • 查看当前时区
      • 设置系统时区
      • 启用夏令时
      • timedatectl时间同步
      • timedatectl修改当前日期时间
  • 通用设置时区方法
      • 使用tzselect设置时区

RHEL7同步ntp时间

参考: http://cn.linux.vbird.org/linux_server/0440ntp/0440ntp-centos4.php#client_systime


测试ntp服务器是否可用

NTP客户端机器上执行以下命令:

# 查看ntp服务器地址
cat /etc/ntp.conf

# 测试ntp服务器是否可用
ntpdate -d ntp1.aliyun.com

RHEL7同步ntp时间_第1张图片

# 检查系统时间同步状态
timedatectl timesync-status

抓包分析ntp

时间客户端机器上执行

tcpdump -nni eth0 udp port 123 and host NTP服务器ip

NTP服务器上执行

tcpdump -nni eth0 udp port 123 and host 时间客户端IP

查看NTP同步情况

# 查看NTP同步情况
## -p:表示显示当前系统与NTP服务器之间的连接状态和同步情况。
### 列出所连服务器IP地址、参考时钟、当前时间、延迟、偏差等信息。
ntpq -p

## -n:表示不进行DNS解析,直接显示IP地址。
ntpq –np

*:表示当前正在使用的。
+:表示候选的,备用的。

ntpq -p参数说明:
remote:NTP服务器的地址。
refid:给该NTP服务器提供时间的上层NTP服务器地址。
st:当前NTP服务器的Stratum。如果显示的值是16,则表示当前NTP服务器不可用。
t:表示ntp server的类型。有4种:b(broadcast),u(unicast),l(local)、m(multicast)
when:最近一次与NTP服务器进行时间同步已经过去了多长时间。
poll:多长时间进行一次同步。可以通过minpoll和maxpoll进行修改。minpoll和maxpoll后面的数值为2的多少次方,minpoll默认为6,maxpoll默认为10.
reach:一个8进制,已经成功同步的次数。
offset:时间补偿值。越小越好。此处显示值单位是毫秒。


ntp服务器配置文件

# cat  /etc/ntp.conf

# restrict参数
# ignore:拒绝所有类型的NTP的连线
# nomodfiy:用户端不能使用NTPC与ntpq这两支程式来修改伺服器的时间参数,但使用者端仍可透过这部主机来进行网路校时的 
# noquery:用户端不能够使用ntpq,NTPC等指令来查询发表伺服器,等于不提供的NTP的网路校时幂
# notrap:不提供陷阱这个远端事件邮箱(远程事件日志)的功能
# notrust:拒绝没有认证的用户端。

# 限制默认的访问权限,禁止修改、禁止trap、禁止peer、禁止查询
restrict default kod nomodify notrap nopeer noquery
# 同上,限制IPv6的默认访问权限。
restrict -6 default kod nomodify notrap nopeer noquery 
# 允许IP地址为11.107.13.100的NTP服务器进入。
restrict 11.107.13.100
# 允许IP地址为11.80.81.1的NTP客户端访问,没有任何限制
# 没有任何何參數的話,這表示『该IP或网段不受任何限制』
restrict 11.80.81.1
# 允许IP地址为202.112.1.199的NTP客户端访问,没有任何限制。
restrict 202.112.1.199 
# 允许本地主机访问NTP服务。
restrict 127.0.0.1  
# 同上,允许IPv6的本地主机访问NTP服务。
restrict -6 ::1
# 允许IP地址为192.168.0.0/16的NTP客户端访问,但不能修改配置
## 该网段可以进行校时
restrict 192.168.0.0 mask 255.255.0.0 nomodify
# 拒绝没有认证的NTP用户端
restrict 0.0.0.0 mask 0.0.0.0 notrust
# 使用time-nw.nist.gov作为首选的NTP服务器。
## prefer 该服务器优先
server time-nw.nist.gov prefer
## iburst 进行快速同步
server 0.rhel.pool.ntp.org  iburst
server 1.rhel.pool.ntp.org  iburst
server 2.rhel.pool.ntp.org  iburst
# 指定本地时钟的stratum为6
fudge   127.127.1.0 stratum 6
# 指定时钟漂移文件的路径
driftfile /var/lib/ntp/drift
# 指定认证密钥文件的路径
keys /etc/ntp/keys
# 指定广播延迟时间
broadcastdelay 0.008

将ntp配置迁移到chrony

红帽官方方案: https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/proc_migrating-to-chrony_using-chrony-to-configure-ntp


timedatectl设置时区和时间

timedatectl是一个系统工具,用于管理系统时钟和时区设置。它提供了设置时区、启用/禁用夏令时、手动设置系统时间等功能。它还可以显示系统时间和时区设置,以及NTP服务器的同步状态。timedatectl是一个简单的工具,适用于快速检查和更改系统的基本时间设置。

相比之下,chronyc是一个更强大和复杂的工具,用于管理和监视NTP服务器和客户端之间的时间同步。它提供了更详细的时间同步状态信息,例如时钟偏移量、延迟、精度等指标。它还提供了更高级的功能,例如在多个NTP服务器之间进行切换、设置NTP服务器的优先级等。chronyc主要用于管理NTP时间同步,在需要更详细的时间同步状态信息和更高级的NTP管理功能时非常有用。

综上所述,timedatectl适用于快速检查和更改系统的基本时间设置,而chronyc适用于更高级的NTP管理和监视。两者都是Linux系统中非常有用的时间管理工具,可以根据需要选择使用。


设置UTC或RTC时间

# 将硬件时钟调整为与本地时钟一致
## 0 为设置为 UTC(协调世界时) 时间
## 1 为设置为 RTC(时钟芯片) 时间
timedatectl set-local-rtc 1

# 将时间写入到硬件
hwclock -w

查看所有可用时区

查看所有的时区

# 查看所有可用时区
timedatectl list-timezones

在这里插入图片描述

# 过滤时区
timedatectl list-timezones | egrep -o "Asia/H.*"

在这里插入图片描述


查看当前时区

# 查看系统的当前时区
timedatectl

在这里插入图片描述

# 查看时区
date -R

在这里插入图片描述


设置系统时区

# 设置系统时区为 Asia/Shanghai
timedatectl set-timezone Asia/Hong_Kong

# 再次查看当前时区
timedatectl

在这里插入图片描述

启用夏令时

# 将系统时区设置为美国东部时间
timedatectl set-timezone America/New_York

# 启用夏令时
timedatectl set-ntp true

timedatectl时间同步

# 启用/仅用时间同步
## 启动ntp时间同步
timedatectl set-ntp yes

## 禁用ntp时间同步
timedatectl set-ntp no

timedatectl修改当前日期时间

# 修改当前日期时间
timedatectl set-time "2019-10-31 15:50:00"

通用设置时区方法

# 不考虑各个发行版的差异化, 从更底层出发的话, 修改时间时区比想象中要简单:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

使用tzselect设置时区

# 使用伪图形化设置时区
tzselect

在这里插入图片描述

你可能感兴趣的:(RHEL7,NTP时间服务,linux,服务器,ntp,时间服务器)