![问题:](https://linux22.com/image/792653/%E9%97%AE%E9%A2%98%EF%BC%9A.png)
我使用的是基于 STM32MP1 的两个设备,它们在 Yocto Linux 平台上运行。其中一个有两个网络接口(wlan0、wlan1),其中 wlan0 用于连接互联网服务器,wlan1 将充当另一台设备与之连接的主机网络。我正在使用ntpd
(版本:ntpd[电子邮件保护]ntp.conf
) 用于时间同步。我对这两个设备都有一个共同点。
driftfile /var/lib/ntp/drift
server 127.127.1.0
fudge 127.127.1.0 stratum 14
restrict default
此外,两个设备的 DHCP 客户端配置也相同。
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;
而且我既没有ntp.conf
文件中提到的特定服务器,也没有ntp-servers
明确请求我的设备的 DHCP 客户端。但我的主要设备(有两个网络接口)仍然可以与我的 Wi-Fi 路由器提供的时间服务器同步。
但我的辅助设备无法获得时间同步,可以理解的是它无法直接访问时间服务器。问题是主设备没有充当 NTP 服务器(在 wlan1 上),以便辅助设备获得时间同步。我已udhcpd
在主设备上使用辅助设备进行连接,下面是udhcpd.conf
使用过的,
start 192.168.10.100
end 192.168.10.200
interface wlan1
option subnet 255.255.255.0
option router 192.168.10.1
option lease 43200
option dns 192.168.10.1
option domain local
问题:
- NTPD 是否可以在同一设备上同时作为服务器(在一个接口上)和客户端(在另一个接口上)工作?
- 如果是,那么如何在没有互联网的本地网络中实现辅助设备?
- 如果没有,那么原因是什么以及如何克服它以实现辅助设备的时间同步?
答案1
NTPD 是否可以在同一设备上同时作为服务器(在一个接口上)和客户端(在另一个接口上)工作?
是的默认ISC NTPD 的模式是既是客户端又是服务器。有两个接口这一事实并不重要;操作系统负责处理路由。
如果是,那么如何在没有互联网的本地网络中实现辅助设备?
设置设备以使用面向互联网的设备作为 NTP 服务器。配置防火墙以允许此流量。
答案2
If yes means how to achieve that within local network without internet for the secondary device?
GPS 是时间同步的常用方法。许多数据中心都配备了 GPS。
https://timemachinescorp.com/product/gps-time-server-tm1000a/