systemd-networkd:ネットワークデバイスの起動後にサービスを開始します。

systemd-networkd:ネットワークデバイスの起動後にサービスを開始します。

Ubuntuに基づいてホームルーター/アクセスポイントを構築しました。

ネットワーク構成が完全に完了しましたsystemd-networkd(NetworkManagerが無効になっています)。ローカルネットワークには、bridge0イーサネットとWi-Fiを接続するブリッジ()があります。 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

関連情報