Linux-Admin: Netzwerkbrücke auf Ubuntu für VM-Hosts
Wozu ist das gut?
Um auf einem VM-Host mehrere VMs starten zu können, wird eine Netzwerkbrücke benötigt, die die externe Netzwerkkarte überbrückt.
Paketinstallation
Die benötigten bridge-utils sind Bestandteil der Standardinstallation von Ubuntu.
Setup
Um herauszufinden, wie die Netzwerkkarten heißen, benutzt man folgenden Befehl:
ifconfig -a
Die Netzwerkeinstellungen werden in der Datei /etc/network/interfaces vorgenommen. Bei der Installation bekommt meist die erste Netzwerkkarte (meist eth0, kann auch anders heißen) die öffentliche IP. Das sieht dann so aus:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address 134.245.135.181 netmask 255.255.0.0 network 134.245.0.0 broadcast 134.245.255.255 gateway 134.245.1.200 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 134.245.10.7 134.245.1.2 dns-search oc.uni-kiel.de
Zum Einsatz als VM-Host muss diese Verbindung überbrückt werden. Die Brücke wird br0 genannt und bekommt die nach draußen sichtbare IP sowie eine Zeile bridge_ports, die angibt, welche Netzwerkkarten gebrückt werden (also in der Regel eth0, die vorher die öffentliche IP hatte). Die Config sieht dann so aus:
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto br0 iface br0 inet static address 134.245.135.181 netmask 255.255.0.0 network 134.245.0.0 broadcast 134.245.255.255 gateway 134.245.1.200 bridge_ports eth0 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 134.245.10.7 134.245.1.2 dns-search oc.uni-kiel.de
Jetzt muss noch die interne Netzwerkkarte (meist eth1) für das Storage-Network konfiguriert werden. Dazu erweitert man die config wie folgt (Beispiel vmhost1):
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto br0 iface br0 inet static address 134.245.135.181 netmask 255.255.0.0 network 134.245.0.0 broadcast 134.245.255.255 gateway 134.245.1.200 bridge_ports eth0 # dns-* options are implemented by the resolvconf package, if installed dns-nameservers 134.245.10.7 134.245.1.2 dns-search oc.uni-kiel.de # The storage network interface auto eth1 iface eth1 inet static address 192.168.0.12 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255
Wenn die Config fertig ist, wird das Netzwerk neu gestartet:
service networking restart
Danach sollte man mit den storage-Geräten "reden" können. Beim Start von VMs erhalten diese automatisch virtuelle Netzwerkadapter, die vnet0, vnet1 usw. heißen und die br0 mitbenutzen (soweit in der VM-XML definiert).