获取 ntpd 的 gpsd 地址

tim*_*lyo 7 linux ntpd gps

我正在学习一些从 gpsd 设置 ntpd 时钟的教程。我正在从列表中工作的指南添加了这样的内容:

server 127.127.46.0 
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
Run Code Online (Sandbox Code Playgroud)

/etc/ntp.conf然而每一个教程似乎使用不同的IP如127.127.28.0127.127.40.0

这些地址对应什么,我怎样才能找到正确的地址来使用?

HBr*_*ijn 14

似乎127.127.0.0/16NTPD 使用环回 ip 地址范围来表示特定时钟的驱动程序。在第三个八位字节是特定的驱动程序的数量驱动程序的列表中找到这里,应该大概相当于或者您的实际时钟,或者你想如何与GPSD互动。

第四个八位字节是“单元数”,它最初被认为被使用的情况下,有由相同的驱动程序所支持的系统在多个设备上,尽管在某些情况下,它被不同地使用。

据我所知,没有驱动程序实际上通过 TCP/IP 连接到该环回地址,将驱动程序命名/表示为环回 ip 地址似乎是 NTPD 怪癖。

因此,伪 IP 地址127.127.28.0指示 NTPD 中的特定驱动程序,特别是驱动程序 28、共享内存驱动程序SHM,并且是 gpsd 和 ntpd 可以交互的一种方式。

127.127.46.0表示不同的驱动程序,驱动程序 46,GPSD NG 客户端驱动程序与 gpsd 交互的特定客户端驱动程序。

  • 正确的。第四个八位字节是“单元号”,最初是为了在同一驱动程序支持的系统上有多个设备的情况下使用它,尽管在某些情况下它的使用方式不同。在驱动程序46的情况下,`127.127.46.`x指示gpsd打开`/dev/gps`x,服务于原来的目的,但是高位被重载用于特殊目的。 (2认同)

use*_*ser 5

127/8 网络块中的所有 IPv4 地址都保留用于主机环回。但是,只有 127.0.0.1 是常用的。

RFC 5735,第 3 节

127.0.0.0/8 - 此块被分配用作 Internet 主机环回地址。由更高级别协议发送到该块内任何地址的数据报在主机内部循环。这通常仅使用 127.0.0.1/32 来实现环回。如[RFC1122] 第 3.2.1.3 节所述,整个 127.0.0.0/8 块内的地址不会合法地出现在任何网络的任何地方。

当所有地址都在同一个地方时,将不同的地址用于不同的目的是有用的:

  • 用于流量分离,例如在防火墙规则中
  • 对于任何不支持虚拟主机的服务

一般来说,只要你的系统路由表设置为允许127/8作为环回,你可以使用任何你想要的127/8地址,只要你在服务器端和客户端保持一致即可。