我正在运行安装了 ntp 的 Ubuntu 18.04 服务器。我需要 NTP 来同步时间,以便让 Munge 服务正常工作。
我的防火墙未启用,但是我添加了允许 ntp 的规则。服务器和客户端都表明 udp 端口 123 已打开。因此在实例上运行以下命令: 服务器:sudo nmap -sU -p123 192.168.1.1
客户:sudo nmap -sU -p123 192.168.1.1
导致 udp 端口 123 被“打开|过滤”并由 ntp 服务使用的响应。
我有以下设置:
ntp.conf @ NTP 服务器:
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited
restrict 127.0.0.1
restrict ::1
restrict source notrap nomodify noquery
restrict 192.168.1.0 mask 255.255.255.0 notrust
broadcast 192.168.1.1
disable auth
ntp.conf @ 客户:
# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help
driftfile /var/lib/ntp/ntp.drift
leapfile /usr/share/zoneinfo/leap-seconds.list
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
server 192.168.1.1 prefer
restrict default notrust nomodify nopeer
restrict 192.168.1.1
停止并启动 ntp-service(在服务器上)后,在客户端输入以下 tcpdump 命令:
sudo tcpdump -i enp5s0f1 udp port 123 -vvv
(作为旁注,如果有人遇到同样的问题,我注意到 tcpdump 命令首先在接收的 udp 包中产生了错误的校验和,但是在将 rx 和 tx 的卸载(用于校验和)设置为之后off
,连接以太网设备,(通过ethtool
),错误校验和错误已纠正)。
导致输出(在相当长的一段时间后收到)表明时钟不同步。运行(@客户端)ntpdate -u 192.168.1.1
会产生“找不到适合同步的服务器”。
在服务器上运行会ntpq -pn
产生
refid
状态.BCST
,但在客户端它被标记为.INIT.
并且不会被更改(经过几个小时的等待)。
我错过了什么?任何帮助深表感谢。问候,P。
要完全支持 >=18.04,您应该使用chrony而不是 ntpd。
切换它解决了记者的问题,记录为答案比仅在评论中更容易找到。