systemd-networkd:网络设备启动后启动服务

systemd-networkd:网络设备启动后启动服务

基于ubuntu,我搭建了一个家庭路由器/接入点。

网络配置已完全完成systemd-networkd(NetworkManager 已禁用)。对于本地网络,我有一个bridge0桥接以太网和 wifi 的桥 ( )。除了 dnsmasq 之外,这一切都工作正常。 Dnsmasq 启动得太早,因此失败,因为它无法绑定到其接口(bridge0 及其主 IP)。

我尝试更改 dnsmasq 服务以等待桥成为唯一,但这没有帮助:

[Unit]
Description=dnsmasq - A lightweight DHCP and caching DNS server
Requires=network.target
Wants=nss-lookup.target
Before=nss-lookup.target
#After=network-online.target
BindTo=sys-devices-virtual-net-bridge0.device
After=sys-devices-virtual-net-bridge0.device

....

我也不想“想要”,network-online.service因为据我了解,这会等待所有网络设备连接,因此它将等待成功建立 WAN 连接 - 这可能会因各种原因而失败。

那么,我如何告诉 dnsmasq.service 等待 Bridge0 配置完毕(= 具有手动设置的 IP 地址)。

/etc/systemd/network/bridge.network:

[Match]
Name=bridge0

[Network]
Address=192.168.16.1/24
DNS=192.168.16.1
IPForward=ipv4

相关内容