无运营商时删除 systemd-networkd 多播路由

无运营商时删除 systemd-networkd 多播路由

我们有一个运行 Ubuntu 20.04 LTS 的网关产品。它有两个使用systemd-networkd.我们使用多播消息与连接到 LAN 的数千个物联网设备进行通信。重要的是,这些多播消息不要在 WAN 上发出,因为它可能会无意中改变 WAN 端可能存在的 IoT 设备的行为。

为了确保组播消息仅路由到 LAN,LAN 配置包括以下内容:

[Route]
Destination=224.0.0.0/4
Type=multicast

问题是,只有当 LAN 接口具有 CARRIER(插入电缆)时,才会加载多播路由。如果没有运营商,则永远不会加载多播路由,因此多播消息会在 WAN 上发出。大多数时候,LAN 接口都会插入电缆,但这不能保证(尤其是在启动期间)。

我们已经尝试过ConfigureWithoutCarrier=trueLAN 接口上的设置。这似乎可以确保无论电缆是否插入,组播路由始终加载。但是有没有更好的方法来配置组播路由以确保组播消息永远不会在 WAN 接口上出去?

答案1

添加

[Route]
Destination=224.0.0.0/4
Type=blackhole

WAN 配置可能可以解决问题。

相关内容