
Estou executando um Lenny Xen dom0 que hospeda várias máquinas virtuais em uma configuração de IP roteado. Para obter uma sub-rede privada adicional, criei a ponte xenbr0 no dom0 com os seguintes comandos:
brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up
Isso funciona conforme o esperado e as interfaces domU são adicionadas à ponte pelo Xen no início da VM. Meu único problema é: como diabos eu especifico essa configuração em /etc/network/interfaces para que ela permaneça permanente e a ponte esteja disponível após uma reinicialização? Eu tentei a seguinte configuração encontrada em vários tutoriais:
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
Recebo 2 erros diferentes, dependendo se a ponte já existe ou não. Se não existir:
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.
E se existir:
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.
Alguém poderia me indicar a direção certa, por favor? A ponte funciona bem quando criada manualmente, só preciso das entradas corretas do arquivo de configuração. A maioria dos tutoriais que encontrei adicionam alguns dispositivos à bridge na configuração, talvez seja esse o problema porque não está funcionando? Não tenho nenhuma interface que queira adicionar à ponte na criação, pois elas são adicionadas posteriormente no início da VM...
Obrigado, Mathias
Responder1
Você parece perder a linha mais importante:
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
diz: Se você precisar especificar as interfaces de forma mais flexível, você pode usar a seguinte sintaxe (mais útil em um Xen dom0):
bridge_ports regex (eth|vif).*
Isto significa avaliar (como em egrep(1)) as expressões que seguem depois de "regex".
Responder2
Que tal um script que é executado após a inicialização para executar os comandos desejados?
Responder3
Pode ser necessário remover o network-manager
pacote. Freqüentemente, interfere nas configurações manuais da interface.