起動時にシステムネットワークブリッジが生成されない

起動時にシステムネットワークブリッジが生成されない

KVMゲストがネットワークにアクセスできるように、systemd-networkdを使用してイーサネットブリッジを作成しようとしています。私はDebian 11 Bullseyeを使用しており、物理デバイス「eno1」にブリッジ「host1」を作成しようとしています。

root@debian-kvm:/etc/systemd/network# ls
    
20-wired.network  host1.netdev  host1.network  uplink.network

root@debian-kvm:/etc/systemd/network# cat 20-wired.network

[Match]
Name=eno1

[Network]
DHCP=No
Address=192.168.1.57/24
Gateway=192.168.1.1
DNS=1.1.1.1

root@debian-kvm:/etc/systemd/network# cat host1.netdev

[Netdev]
Name=host1
Kind=bridge

root@debian-kvm:/etc/systemd/network# cat host1.network

[Match]
Name=host1

[Network]
Address=192.168.1.2/24
Gateway=192.168.1.1
DNS=1.1.1.1

root@debian-kvm:/etc/systemd/network# cat uplink.network

[Match]
Name=eno1

[Network]
Bridge=host1

しかし、「systemctl restart systemd-networkd」を実行しても機能しません。 eno1は大丈夫です。ネットワーク接続は維持されます。 WebサイトとIPアドレスをpingできますが、ブリッジホスト1はまったく表示されません。

root@debian-kvm:/etc/systemd/network# networkctl

IDX LINK TYPE     OPERATIONAL SETUP
  1 lo   loopback carrier     unmanaged
  2 eno1 ether    routable    configured
  3 eno2 ether    off         unmanaged
  4 eno3 ether    off         unmanaged
  5 eno4 ether    off         unmanaged

root@debian-kvm:/etc/systemd/network# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether b8:ca:3a:64:65:88 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f0
3: eno2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether b8:ca:3a:64:65:89 brd ff:ff:ff:ff:ff:ff
    altname enp1s0f1
4: eno3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether b8:ca:3a:64:65:8a brd ff:ff:ff:ff:ff:ff
    altname enp1s0f2
5: eno4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether b8:ca:3a:64:65:8b brd ff:ff:ff:ff:ff:ff
    altname enp1s0f3

私が知っている限り、それはうまくいくはずです。これらのファイルは、優先順位が最も高い/etc/systemd/networkにあり、正しい構文と名前を持つ.netdevファイルがあり、親がeno1であることを示すuplink.networkファイルがあり、host1.networkファイルがあります。 IP、DNSなどを設定するために使用されます。 host1.networkを25-wired.networkに移動することも役に立ちませんので、ファイル名ではないようです。

/etc/network/interfaces にありますが、systemd-networkd がこのファイルを読み取っていないようです:

root@debian-kvm:/etc/systemd/network# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eno1
iface eno1 inet manual

# KVM Host interface, use this to avoid conflicts, physical device is just for physical connection
iface host1 inet manual

# FreeBSD KVM bridge
#iface frbsd1 inet static
#   bridge_ports eno1
#   address 192.168.1.45
#   broadcast 192.168.1.255
#   netmask 255.255.255.0
#   gateway 192.168.1.1

起動するたびにブリッジを生成するinitスクリプトを生成できることを知っていますが、これはやや古いので、持続可能な方法でこの問題を解決したいと思います。

ここで何が起こっているのか、そしてブリッジを正しく作るために修正する方法は何ですか?

ベストアンサー1

質問コメントでwangkaibuleが述べたように、[Netdev]の代わりに[NetDev]を入力する必要があります。

同様の状況にある人の場合、systemd構成ファイルは大文字と小文字を区別します。すべての項目が正しい大文字と小文字で正しく入力されていることを確認してください。それ以外の場合は動作しません。

おすすめ記事