Ошибка слишком многих символических ссылок при настройке сетевого моста с помощью systemd на debian9

После перезагрузки хост недоступен и я вижу эту ошибку в логах vmbr0: Could not join netdev: Too many levels of symbolic links Я действительно не знаю, что вызывает это, и я ничего не нахожу в Google

Dec 27 20:31:30 host8 systemd-networkd[448]: vmbr0: netdev ready
Dec 27 20:31:30 host8 systemd-networkd[448]: Enumeration completed
Dec 27 20:31:30 host8 systemd-networkd[448]: eth0: Renamed to eno1
Dec 27 20:31:30 host8 systemd-networkd[448]: vmbr0: Could not join netdev: Too many levels of symbolic links
Dec 27 20:31:30 host8 systemd-networkd[448]: vmbr0: Failed
Dec 27 20:31:30 host8 systemd-networkd[448]: eno1: IPv6 disabled for interface: Success
Dec 27 20:31:30 host8 systemd-networkd[448]: eno1: Gained carrier

Это моя настройка моста:

# /etc/systemd/network/50-default.network
[Match]
MACAddress=a4:bf:01:26:XX:XX

[Network]
Bridge=vmbr0

# /etc/systemd/network/50-public-interface.link
[Match]
MACAddress=a4:bf:01:26:XX:XX

[Link]
MACAddressPolicy=persistent
NamePolicy=kernel database onboard slot path mac

# /etc/systemd/network/50-vmbr0.netdev
[NetDev]
Name=vmbr0
Kind=bridge
MACAddress=a4:bf:01:26:XX:XX

# /etc/systemd/network/50-vmbr0.network
[Match]
Name=vmbr0

[Network]
Address=54.36.XX.XX/24
Gateway=54.36.XX.254
#IPv6AcceptRA=false
NTP=ntp.ovh.net
DNS=127.0.0.1
DNS=213.186.33.99
DNS=2001:41d0:3:163::1
Gateway=2001:41d0:0303:46ff:ff:ff:ff:ff

[Address]
Address=2001:41d0:XXX:XXX::/64

[Route]
Destination=2001:41d0:XXX:XXX:ff:ff:ff:ff
Scope=link

1 ответ

Решение

Похоже, вы пытаетесь клонировать MAC-адрес интерфейса Ethernet для вновь созданного моста.

Мост приходит с назначенным MAC-адресом, но теперь у вас есть два интерфейса с этим MAC-адресом, физический интерфейс eno1 и мост vmbr0,

Таким образом, когда 50-default.network обрабатывается, он пытается назначить мосту vmbr0 каждый интерфейс, соответствующий данному MAC-адресу. к несчастью vmbr0 также имеет этот адрес, поэтому syste md-networkd не может назначить vmbr0 как интерфейс сам по себе!

Чтобы устранить проблему, укажите нужный интерфейс Ethernet по имени в 50-default.network а не по MAC-адресу.

[Match]
# Remove me
# MACAddress=a4:bf:01:26:XX:XX
Name=eno1

[Network]
Bridge=vmbr0
Другие вопросы по тегам