8.2. Bridged-Netzwerk mit libvirt
Bridged-Netzwerke (auch Gemeinsame Verwendung physischer Geräte genannt) werden eingesetzt, um einer virtuellen Maschine pyhsische Geräte bereitzustellen. Bridging wird meist in fortgeschrittenen Konfigurationen und auf Servern mit mehreren Netzwerkschnittstellen angewendet.
Falls Ihr System eine Xen-Bridge verwendete, wird empfohlen, die standardmäßige Xen-Netzwerk-Bridge zu deaktivieren, indem Sie /etc/xen/xend-config.sxp
bearbeiten und die folgende Zeile ändern, von:
(network-script network-bridge)
auf:
(network-script /bin/true)
Der NetworkManager unterstützt kein Bridging. Der NetworkManager muss daher deaktiviert werden, um die älteren Netzwerkskripte zu verwenden.
# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start
Note
Anstatt den NetworkManager zu deaktivieren, können Sie "NM_CONTROLLED=no
" zu den ifcfg-*
-Skripten hinzufügen, die in den Beispielen verwendet werden.
Erstellen oder bearbeiten Sie die folgenden zwei Netzwerkkonfigurationsdateien. Dieser Schritt kann mit verschiedenen Namen wiederholt werden für zusätzliche Netzwerk-Bridges.
Wechseln Sie in das /etc/sysconfig/network-scripts
-Verzeichnis:
# cd /etc/sysconfig/network-scripts
Öffnen Sie die Netzwerkskripte für das Gerät, das Sie zur Bridge hinzufügen wollen. In diesem Beispiel definiert ifcfg-eth0
die physische Netzwerkschnittstelle, die als Teil einer Bridge eingestellt wird:
DEVICE=eth0
# change the hardware address to match the hardware address your NIC uses
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0
Tipp
Sie können die Maximum Transfer Unit (MTU) des Geräts konfigurieren, indem Sie eine MTU
-Variable an das Ende der Konfigurationsdatei anfügen.
MTU=9000
Erstellen Sie ein neues Netzwerkskript in dem /etc/sysconfig/network-scripts
-Verzeichnis namens ifcfg-br0
oder ähnlich. br0
ist der Name der Bridge. Dieser Name kann beliebig lauten, solange der Name der Datei dem Namen des DEVICE-Parameters entspricht.
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0
Warning
The line, TYPE=Bridge
, is case-sensitive. It must have uppercase 'B' and lower case 'ridge'.
Starten Sie nach der Konfiguration das Netzwerk oder den Rechner neu.
# service network restart
Configure iptables
to allow all traffic to be forwarded across the bridge.
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables restart
Disable iptables on bridges
Alternatively, prevent bridged traffic from being processed by iptables
rules. In /etc/sysctl.conf
append the following lines:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Reload the kernel parameters configured with sysctl
# sysctl -p /etc/sysctl.conf
Restart the libvirt
daemon.
# service libvirtd reload
Sie sollten jetzt über ein "Gemeinsam verwendetes physisches Gerät" verfügen, mit dem Gäste verknüpft werden können und so vollen LAN-Zugriff erlangen können. Überprüfen Sie Ihre neue Bridge wie folgt:
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
br0 8000.000e0cb30550 no eth0
Beachten Sie, dass die Bridge vollständig unabhängig ist von der virbr0
-Bridge. Versuchen Sie nicht, ein physisches Gerät mit virbr0
zu verknüpfen. Die virbr0
-Bridge dient ausschließlich der Network Address Translation (NAT) Konnektivität.