Конфигурация сетевого моста 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)) выражений, которые следуют после "регулярного выражения".
Как насчет скрипта, который запускается после запуска, чтобы выполнить нужные вам команды?
Возможно, вам придется удалить пакет сетевого менеджера. Это часто мешает настройкам интерфейса вручную.