Настройка сетевого моста Debian с DHCP

Вопрос или проблема

После недавнего обновления пакетов (но все еще в рамках версии 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 для мостов, так что у меня нет примеров под рукой. Но вот пара полезных образцов:

Если вы используете NetworkManager для управления этим, интерфейс, такой как nmtui, значительно упрощает вам жизнь при настройке моста.

Ответ или решение

Настройка мостовой сети в Debian с использованием DHCP

После недавних обновлений пакетов ваша мостовая сеть для поддержки виртуальных машин libvirt, похоже, перестала работать. Это может быть вызвано рядом факторов, включая неправильно настроенные сетевые интерфейсы. В данной инструкции мы рассмотрим порядок настройки мостовой сети в Debian наиболее корректным образом, с акцентом на использование DHCP для автоматического получения IP-адресов от DHCP-сервера.

Шаги по настройке мостового интерфейса

  1. Редактирование файла конфигурации сетевых интерфейсов
    Ваша текущая конфигурация файла /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-серверу корректно работать через мост.

  2. Перезагрузка сетевых интерфейсов
    После внесения изменений в файл конфигурации перезагрузите сетевые интерфейсы для применения новых настроек:

    sudo ifdown br0
    sudo ifdown eth0
    sudo ifup eth0
    sudo ifup br0
  3. Проверка состояния интерфейсов
    Проверьте, был ли получен IP-адрес для br0 с помощью команды:

    ip addr show br0

    Вы должны видеть IP-адрес, полученный от DHCP-сервера. Если IP-адрес не был получен, проверьте журналы:

    journalctl -xe | grep dhclient
  4. Дополнительные настройки и диагностика
    Если проблема сохраняется, проверьте следующую информацию:

    • Убедитесь, что DHCP-сервер на вашем маршрутизаторе работает и доступен.
    • Проверьте настройки брандмауэра, которые могут блокировать UDP-пакеты на порту 67 (DHCP).
    • Убедитесь, что bridge и eth0 не конфликтуют с другими сетевыми настройками.
  5. Возможное использование NetworkManager
    Если после выполнения всех шагов указанная проблема не решена, рассмотрите использование NetworkManager для более удобного управления сетевыми интерфейсами. Он предоставляет графический интерфейс, который может значительно упростить настройку мостовой сети. Пример настройки можно выполнить через nmtui, который обеспечивает текстовый интерфейс для настройки сети.

Заключение

Настройка мостового сетевого интерфейса в Debian может быть сложной задачей, особенно после обновлений пакетов. Следуя вышеприведенным шагам, вы сможете вновь активировать вашу сеть, используя DHCP-сервер. Если возникнут дополнительные вопросы, рекомендуем обратиться к официальной документации Debian или сообществу для получения помощи.

Оцените материал
Добавить комментарий

Капча загружается...