Конфигурация сетевого моста Debian - /etc/network/interfaces

Я использую Lenny Xen dom0, на котором размещены несколько виртуальных машин с настройкой маршрутизируемого IP. Чтобы получить дополнительную частную подсеть, я создал мост xenbr0 в dom0 с помощью следующих команд:

brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up

Это работает, как и ожидалось, и интерфейсы domU добавляются к мосту Xen при запуске виртуальной машины. Моя единственная проблема: как, черт возьми, я могу указать эту конфигурацию в /etc/network/interfaces, чтобы она оставалась постоянной и мост был доступен после перезагрузки? Я попробовал следующий конфиг, который можно найти во многих руководствах:

auto xenbr0
iface xenbr0 inet static
  address 10.0.0.1
  netmask 255.255.255.0
  network 10.0.0.0
  broadcast 10.0.0.255
  bridge_stp no

Я получаю 2 разные ошибки, в зависимости от того, существует ли уже мост или нет. Если его не существует:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
SIOCSIFADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
xenbr0: ERROR while getting interface flags: No such device
Failed to bring up xenbr0.
done.

И если он существует:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.000000000000       no
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
RTNETLINK answers: File exists
Failed to bring up xenbr0.
done.

Может ли кто-нибудь указать мне правильное направление, пожалуйста? Мост работает нормально при создании вручную, мне просто нужны правильные записи в файле конфигурации. Большинство учебных пособий, которые я нашел, добавляют некоторые устройства к мосту в конфигурации, это может быть проблема, почему она не работает? У меня нет никаких интерфейсов, которые я хочу добавить к мосту при создании, поскольку они добавляются позже при запуске виртуальной машины...

Спасибо, Матиас

3 ответа

Решение

Кажется, вы пропустили самую важную строку:

auto xenbr0
iface xenbr0 inet static
  bridge_ports eth0 eth4 eth7    # bridge traffic between these interfaces
  bridge_stp no
  address 10.0.0.1
  netmask 255.255.255.0
  network 10.0.0.0
  broadcast 10.0.0.255

man говорит: Если вам нужно указать интерфейсы более гибко, вы можете использовать следующий синтаксис (наиболее полезный в Xen dom0):

     bridge_ports regex (eth|vif).*

Это означает оценку (как в egrep(1)) выражений, которые следуют после "регулярного выражения".

Как насчет скрипта, который запускается после запуска, чтобы выполнить нужные вам команды?

Возможно, вам придется удалить пакет сетевого менеджера. Это часто мешает настройкам интерфейса вручную.

Другие вопросы по тегам