![Ubuntu 22.04 上的 PTP4L 源 IP 错误](https://linux22.com/image/1208537/Ubuntu%2022.04%20%E4%B8%8A%E7%9A%84%20PTP4L%20%E6%BA%90%20IP%20%E9%94%99%E8%AF%AF.png)
当我以 root 身份启动 ptp4l 时,ptp4l -i enp0s31f6 -m
它成功启动并担任大师角色。请参阅下面的日志。
但是,使用 Wireshark 检查数据包时,它们并非源自该接口的 IP。相反,它们显示我的 WiFi 适配器的 IP。当我关闭 WiFi 时,它们反而使用来自virbr0
kvm 的 IP。
我怎样才能解决这个问题?
我禁用了所有其他网络适配器。然后我看到了正确的 IP,但这并不总是可行的。
我尝试过
- 防火墙允许端口 319 和 320 使得 PTP 成功成为领导者和追随者,尽管发送方 IP 是错误的。
- apt 提供 linuxptp 版本 3.1.1,因此我从这里(相同症状)
- 手动添加路线:
sudo ip route add 224.0.1.129 dev enp0s31f6
日志:
root@host:/home/user/linuxptp# ./ptp4l -i enp0s31f6 -m
ptp4l[13393.845]: selected /dev/ptp0 as PTP clock
ptp4l[13393.845]: port 1: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[13393.845]: port 0: INITIALIZING to LISTENING on INIT_COMPLETE
ptp4l[13401.057]: port 1: LISTENING to MASTER on ANNOUNCE_RECEIPT_TIMEOUT_EXPIRES
ptp4l[13401.057]: selected local clock e88088.fffe.257ada as best master
ptp4l[13401.057]: port 1: assuming the grand master role