组播 NTP 服务器/客户端

组播 NTP 服务器/客户端

我这里有一个 NTP 服务器(在 Linux Mint 上)和一个客户端(同样)。服务器配置为通过 LAN 发送多播消息,客户端接收并更新其时钟 - 它的设计目的是为了减少网络负载。

反过来,NTP 服务器从同一 LAN 中的更高级别的单播 NTP 服务器更新自己的时钟。不起作用的是在客户端接收组播数据包并更新时钟。

我目前正在客户端计算机上嗅探数据包,我可以看到即将到来的多播。在客户端计算机上使用 ntpdate -s 并指向同一 LAN 中的更高级别 NTP 可以正常工作,即更新时钟。

我正在附加两个多播服务器的配置:

http://pastebin.com/wGK8Szqj

和客户:

http://pastebin.com/HU8R8L0a

以下是 Mcast 数据包到达客户端的证据:

我已经尝试使用 -Ab 运行 ntpd 客户端(接受未经身份验证的广播),但这也不起作用。

在此先感谢您的帮助。

答案1

要使其发挥作用,需要进行两项更改:

  1. 删除server定义,因为它被broadcastclient条目替换
  2. nopeer从语句中删除限定符restrict。否则客户端无法(不会)与多播服务器对话。

以下是更正后的客户端配置文件示例:

driftfile /var/lib/ntp/ntp.drift

disable auth
broadcastclient

restrict -4  default    noquery nomodify notrap
restrict -6  default    noquery nomodify notrap
restrict     127.0.0.1
restrict     ::1

相关内容