Назад | Перейти на главную страницу

Ошибка слишком большого количества символических ссылок при настройке сетевого моста с помощью 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

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

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

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

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

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

[Network]
Bridge=vmbr0