Вопрос или проблема
После недавнего обновления пакетов (но все еще в рамках версии stretch) моя мостовая сеть для поддержки виртуальных машин libvirt, похоже, перестала работать – DHCP-сервер не отправляет IP-адрес хосту, и у хоста нет сетевого соединения. Ранее мой файл /etc/network/interfaces
работал отлично (как это рекомендовано в вики Debian):
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
К сожалению, когда я пытаюсь поднять его с помощью ifup br0
или systemctl restart networking
, я получаю очень неприветливые сообщения в журнале, такие как ifup: failed to bring up eth0
.
Самое странное, что если я устанавливаю статический IP на интерфейсе br0
, все работает прекрасно, но я хотел бы настроить свои статические IP-адреса на маршрутизаторе, а не в операционной системе хоста.
Вот решение с конфигурацией статического IP, близко смоделированное по руководству по сетевому подключению libvirt.
iface eth0 inet manual
auto br0
iface br0 inet static
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
hwaddress ether e0:3f:49:eb:7f:35
address 192.168.1.140
gateway 192.168.1.1
broadcast 192.168.1.255
netmask 255.255.255.0
Также, если я полностью удаляю мост и просто настраиваю eth0
для прямого использования DHCP, хост получит адрес от маршрутизатора.
Есть ли мысли о том, что я могу сделать, чтобы дальше диагностировать или исправить проблему? Спасибо!
Вам нужно иметь ваши “мостовые” интерфейсы с пустой конфигурацией, чтобы их можно было поднять до присоединения к мостовому интерфейсу. Я больше не использую ifup/down для мостов, так что у меня нет примеров под рукой. Но вот пара полезных образцов:
- https://wiki.debian.org/BridgeNetworkConnections
- https://wiki.debian.org/NetworkConfiguration#Bridging
Если вы используете NetworkManager для управления этим, интерфейс, такой как nmtui, значительно упрощает вам жизнь при настройке моста.
Ответ или решение
Настройка мостовой сети в Debian с использованием DHCP
После недавних обновлений пакетов ваша мостовая сеть для поддержки виртуальных машин libvirt, похоже, перестала работать. Это может быть вызвано рядом факторов, включая неправильно настроенные сетевые интерфейсы. В данной инструкции мы рассмотрим порядок настройки мостовой сети в Debian наиболее корректным образом, с акцентом на использование DHCP для автоматического получения IP-адресов от DHCP-сервера.
Шаги по настройке мостового интерфейса
-
Редактирование файла конфигурации сетевых интерфейсов
Ваша текущая конфигурация файла/etc/network/interfaces
выглядит следующим образом:iface eth0 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
Однако, согласно рекомендациям, для успешного создания мостовой сети необходимо убедиться, что интерфейс
eth0
правильно не использует DHCP. Вместо этого мы будем настраивать мостовой интерфейс без конфигурации DHCP дляeth0
. Вам следует изменить конфигурацию следующим образом:auto eth0 iface eth0 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_stp off bridge_fd 0 bridge_maxwait 0
Важно, чтобы параметр
manual
был установлен дляeth0
, так как это позволяет DHCP-серверу корректно работать через мост. -
Перезагрузка сетевых интерфейсов
После внесения изменений в файл конфигурации перезагрузите сетевые интерфейсы для применения новых настроек:sudo ifdown br0 sudo ifdown eth0 sudo ifup eth0 sudo ifup br0
-
Проверка состояния интерфейсов
Проверьте, был ли получен IP-адрес дляbr0
с помощью команды:ip addr show br0
Вы должны видеть IP-адрес, полученный от DHCP-сервера. Если IP-адрес не был получен, проверьте журналы:
journalctl -xe | grep dhclient
-
Дополнительные настройки и диагностика
Если проблема сохраняется, проверьте следующую информацию:- Убедитесь, что DHCP-сервер на вашем маршрутизаторе работает и доступен.
- Проверьте настройки брандмауэра, которые могут блокировать UDP-пакеты на порту 67 (DHCP).
- Убедитесь, что
bridge
иeth0
не конфликтуют с другими сетевыми настройками.
-
Возможное использование NetworkManager
Если после выполнения всех шагов указанная проблема не решена, рассмотрите использование NetworkManager для более удобного управления сетевыми интерфейсами. Он предоставляет графический интерфейс, который может значительно упростить настройку мостовой сети. Пример настройки можно выполнить черезnmtui
, который обеспечивает текстовый интерфейс для настройки сети.
Заключение
Настройка мостового сетевого интерфейса в Debian может быть сложной задачей, особенно после обновлений пакетов. Следуя вышеприведенным шагам, вы сможете вновь активировать вашу сеть, используя DHCP-сервер. Если возникнут дополнительные вопросы, рекомендуем обратиться к официальной документации Debian или сообществу для получения помощи.