
Ich betreibe einen Lenny Xen dom0, der mehrere virtuelle Maschinen in einem gerouteten IP-Setup hostet. Um ein zusätzliches privates Subnetz zu erhalten, habe ich die Brücke xenbr0 im dom0 mit den folgenden Befehlen erstellt:
brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up
Dies funktioniert wie erwartet und DomU-Schnittstellen werden von Xen beim Start der VM zur Bridge hinzugefügt. Mein einziges Problem ist: Wie zum Teufel lege ich diese Konfiguration in /etc/network/interfaces fest, damit sie dauerhaft bleibt und die Bridge nach einem Neustart verfügbar ist? Ich habe die folgende Konfiguration ausprobiert, die in vielen Tutorials zu finden ist:
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
Ich erhalte zwei verschiedene Fehler, je nachdem, ob die Brücke bereits existiert oder nicht. Wenn sie nicht existiert:
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.
Und wenn es existiert:
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.
Kann mir bitte jemand den richtigen Weg weisen? Die Bridge funktioniert einwandfrei, wenn sie manuell erstellt wird. Ich brauche nur die richtigen Einträge in der Konfigurationsdatei. Die meisten Tutorials, die ich gefunden habe, fügen der Bridge in der Konfiguration einige Geräte hinzu. Ist das vielleicht das Problem, warum es nicht funktioniert? Ich habe keine Schnittstellen, die ich der Bridge bei der Erstellung hinzufügen möchte, da sie später beim VM-Start hinzugefügt werden ...
Danke, Mathias
Antwort1
Sie scheinen die wichtigste Zeile zu übersehen:
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
sagt: Wenn Sie die Schnittstellen flexibler angeben müssen, können Sie die folgende Syntax verwenden (am nützlichsten auf einem Xen dom0):
bridge_ports regex (eth|vif).*
Dies bedeutet, dass die Ausdrücke, die nach „regex“ folgen, ausgewertet werden (wie in egrep(1)).
Antwort2
Wie wäre es mit einem Skript, das nach dem Start ausgeführt wird, um die gewünschten Befehle auszuführen?
Antwort3
Möglicherweise müssen Sie das Paket entfernen network-manager
. Es beeinträchtigt häufig die manuellen Schnittstelleneinstellungen.