web-dev-qa-db-ja.com

systemd-networkdをデバッグする方法は?

Ubuntuでネットワークを構成するためにsystemd-networkdを使用したいと思います。

/etc/systemd/netwoek/Host0.networkファイルを追加しました

[Match]
Name=Host0

[Network]
Address=10.5.1.1/24
Gateway=10.5.1.254

Host0を構成するには:

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope Host
       valid_lft forever preferred_lft forever
2: Host0@if14428: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether d6:fa:2e:69:dd:30 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 169.254.229.86/16 brd 169.254.255.255 scope link Host0
       valid_lft forever preferred_lft forever
    inet6 fe80::d4fa:2eff:fe69:dd30/64 scope link
       valid_lft forever preferred_lft forever

ただし、上記のように、10.5.1.1を再起動して有効にし、再起動しても、systemd-networkdで構成されていません。アドレスがAPIPAからのものである(DHCPが存在しないかのように、そこに構成されていない)。

他の場所ではネットワークが構成されていません(特に/etc/network/interfacesは空です)。

6
WoJ

https://coreos.com/os/docs/latest/network-config-with-networkd.html から:

手動でデバッグを有効にする

mkdir -p /etc/systemd/system/systemd-networkd.service.d/

ドロップイン/etc/systemd/system/systemd-networkd.service.d/10-debug.confを次の内容で作成します。

[Service]
Environment=SYSTEMD_LOG_LEVEL=debug

systemd-networkdサービスを再起動します。

systemctl daemon-reload
systemctl restart systemd-networkd
journalctl -b -u systemd-networkd
14
Anon

上記の回答は、何が実行され、何が実行されていないかを確認し、サービスを再起動するのに最適です。

私は追加します(無効になっている場合は有効にする方法 から ):

systemctl enable <your.service.here>

例えばsystemd-networkd

また、Name=Host0が何と一致するかわかりません。 2: Host0@if14428の下のip addrに表示されるので、私は何かを推測します。ただし、ip linkに表示されているように、インターフェイス名またはMACアドレスを使用する方が安全です。

0
Lubo Diakov