Я использую 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.
Может ли кто-нибудь указать мне в правильном направлении, пожалуйста? Мост отлично работает при создании вручную, мне просто нужны правильные записи в файле конфигурации. Большинство руководств, которые я нашел, добавляют некоторые устройства к мосту в конфигурации, может быть, проблема в том, почему он не работает? У меня нет интерфейсов, которые я хочу добавить к мосту при создании, поскольку они будут добавлены позже при запуске виртуальной машины ...
Спасибо, Матиас
Кажется, вы упускаете самую важную строчку:
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)) выражения, следующие после "regex".
Как насчет сценария, который запускается после запуска для выполнения нужных вам команд?
Возможно, вам придется удалить пакет сетевого менеджера. Часто мешает ручной настройке интерфейса.