我正在学习一些关于从 gpsd 设置 ntpd 时钟的教程。我正在学习的指南列表添加了类似以下内容:
server 127.127.46.0
fudge 127.127.46.0 time1 0.0 time2 0.0 refid GPS
但是/etc/ntp.conf
每个教程似乎都使用不同的 IP 例如127.127.28.0
等等127.127.40.0
。
这些地址对应的是什么,我如何找出正确的地址?
答案1
看起来127.127.0.0/16
NTPD 使用环回 IP 地址范围来表示特定时钟的驱动程序。第三个八位字节是在司机列表中找到的特定司机的号码这里并且可能应该与您的实际时钟或您想要与 gpsd 交互的方式相对应。
这第四个八位字节是“单元编号”,最初是为了在系统上有多个设备由同一个驱动程序支持的情况下使用,但在某些情况下它的用法有所不同。
据我所知,没有驱动程序实际上通过 TCP/IP 连接到该环回地址,将驱动程序命名/表示为环回 IP 地址似乎是 NTPD 的怪癖。
伪 IP 地址127.127.28.0
因此指示 NTPD 中的特定驱动程序,具体来说驱动程序 28,共享内存驱动程序SHM 是 gpsd 和 ntpd 交互的一种方式。
127.127.46.0
表示不同的驱动程序,驱动程序 46,GPSD NG 客户端驱动程序一个特定的客户端驱动程序与 gpsd 交互。
答案2
127/8 网络块中的所有 IPv4 地址均保留用于主机环回。但只有 127.0.0.1 是常用的。
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地址,只要你在服务器端和客户端保持一致。