如何通过交叉电缆配置 NTP?

如何通过交叉电缆配置 NTP?

我对 NTP 还不太熟悉。我有两台运行 Lubuntu 17.04 的计算机,我想用最少的硬件保持它们的时间同步。无需同步到实时,只需让两台计算机之间的系统时间尽可能接近即可。

NTP 似​​乎是一个合适的解决方案。我成功地让两台计算机之间的 NTP 工作起来,当配置了 DHCP 地址时(来自路由器的 DHCP,一台 PC 是 NTP 广播服务器,另一台是客户端,两台 PC 相互同步并获得约 1ms 或更短的紧密同步)。

为了减少硬件数量,我移除路由器并将每台计算机上的 IP 设置为静态,然后通过交叉电缆连接:

  • 10.1.1.50 255.255.255.0(NTP“客户端”PC)
  • 10.1.1.51 255.255.255.0(NTP“服务器”PC)

(两种情况下网关都留空。)

PC 可以成功 ping 通对方(延迟小于 1ms,大约 0.3ms-0.4ms)。但是,我似乎无法获得配置ntp.conf;NTP 客户端计算机只是停留在 INIT 状态,所有测量结果均为 0。请问我该如何调试 NTP 配置以找出问题所在?

没有/var/lib/ntp/ntp.conf.dhcp文件。两台电脑的防火墙均已关闭。

输出ntpq -pn

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 10.1.1.51       .INIT.          16 u    - 1024    0    0.000    0.000   0.000

ntp.conf与客户端相关的行是(即所有没有注释的行)

driftfile /var/lib/ntp/ntp.drift
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 10.1.1.51
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 10.1.1.0 mask 255.255.255.0
disable auth
broadcastclient

ntp.conf 中与服务器 NTP PC 相关的行是(即所有没有注释的行)

driftfile /var/lib/ntp/ntp.drift
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 127.127.2.1 # local clock
fudge  127.127.2.1 stratum 10
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 10.1.1.0 mask 255.255.255.0
broadcast 10.1.1.255

使用命令 ntpdate -d 10.1.1.51 的问题似乎是 NTP 服务器 10.1.1.51 的层数太高(因为它当前与互联网断开连接,因此,根据 NTP,它不是一个值得信赖的时间源)。

研究表明,无法伪造我的独立 NTP 服务器的层级。因此,我在 NTP 服务器上启用了 wifi,并尝试允许它同步到标准的 Ubuntu 时间服务器池,但是插入交叉电缆后,ntpq -p 需要很长时间才能响应。我将检查我的网络配置是否正确并报告结果。

答案1

要通过交叉电缆使用 NTP,NTP 服务器 PC 必须与其他互联网服务器同步,否则其自身的层级会下降得太低,客户端 NTP PC 会拒绝将其作为有效服务器。就我而言,解决方案是:

  1. 确保交叉电缆设置正确,两个有线网卡都不应配置网关和 DNS,并且应与 NTP 服务器的 wifi 子网位于不同的子网中。例如,在我的情况下,我将 PC 网卡移动到静态 IP

    • 10.1.2.50 255.255.255.0(NTP“客户端”PC)无网关,无 DNS
    • 10.1.2.51 255.255.255.0(NTP“服务器”PC)无网关,无 DNS

这是在 Lubuntu“编辑连接” GUI 网络工具中完成的。

  1. 在 NTP 服务器 PC 上启用 wifi,这样它就可以从互联网获取时间同步。此配置为 10.1。1.n 子网,其中 n 由 wifi 路由器通过 DHCP 分配。这必须与有线网卡不同的子网(如根据以下方法发现的)https://askubuntu.com/questions/624830/ubuntu-using-wrong-nic-for-internet-connection

  2. 添加默认文件附带的标准时间服务器ntp.conf,并确保两个ntp.conf文件(客户端和服务器)都在查看 10.1.2.0 子网。重新启动所有程序并等待十分钟,让 NTP 开始同步。

答案2

相关内容