Xen Setup · 2 min read · Feb 10, 2026

Die perfekte Xen 3.0.3 Einrichtung für Debian Sarge - Seite 5

4.5 Erstellen eines virtuellen lokalen Netzwerks aus den virtuellen Maschinen (Optional)

(Dieses Kapitel ist optional. Was hier beschrieben wird, funktioniert nur, wenn Sie Xen aus den Quellen installiert haben.)

In diesem Kapitel möchte ich ein virtuelles Netzwerk mit meinen virtuellen Maschinen erstellen, d.h. ein Netzwerk, das sich vom Netzwerk von dom0 unterscheidet.

Sie finden eine Zeichnung von dem, was ich tun möchte, hier: http://wiki.xensource.com/xenwiki/XenNetworkingUsecase#head-7f23d0f2248cb0c70458f9339b4405e2b1bfc271

Ich habe dasselbe mit Xen 2.0.7 hier gemacht: https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p6. Allerdings hat sich der Weg, dies mit Xen 3 zu erreichen, völlig geändert. Xen 3 konfiguriert alle Firewall-Regeln, Gateways usw. automatisch. Außerdem benötigen wir keine Dummy-Netzwerkschnittstelle mehr für unser virtuelles Netzwerk. Es ist wichtig zu wissen, dass Xen 3 Gateways aus dem 10.x.x.x-Netz unseren virtuellen Maschinen zuweist, daher ist es eine gute Idee, auch IP-Adressen aus dem 10.x.x.x-Netz unseren virtuellen Maschinen zuzuweisen. Wenn Sie ihnen IP-Adressen aus dem 192.168.3.x-Netz geben (wie wir es mit Xen 2.0.7 auf https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p6 getan haben), haben Ihre virtuellen Maschinen keinen Zugriff auf das Internet.

Also geben wir vm01 die IP-Adresse 10.0.0.1 und vm02 die IP-Adresse 10.0.0.2.

Zuerst bearbeiten wir /etc/xen/xend-config.sxp und deaktivieren das Bridging und aktivieren stattdessen NAT (Network Address Translation):

vi /etc/xen/xend-config.sxp

| [...] #(network-script network-bridge) #(vif-script vif-bridge) (network-script network-nat) (vif-script vif-nat) [...] |

Dann ändern wir die Konfigurationsdateien von vm01 und vm02:

/etc/xen/vm01-config.sxp:

vi /etc/xen/vm01-config.sxp

| name="vm01" kernel="/boot/vmlinuz-2.6-xenU" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm01.img,hda1,w','file:/vserver/images/vm01-swap.img,hda2,w'] vif=[ 'ip=10.0.0.1' ] dhcp="off" hostname="vm01.example.com" ip="10.0.0.1" netmask="255.0.0.0" gateway="10.0.0.254" extra="3" |

/etc/xen/vm02-config.sxp:

vi /etc/xen/vm02-config.sxp

| name="vm02" kernel="/boot/vmlinuz-2.6-xenU" root="/dev/hda1" memory=32 disk=['file:/vserver/images/vm02.img,hda1,w','file:/vserver/images/vm02-swap.img,hda2,w'] vif=[ 'ip=10.0.0.2' ] dhcp="off" ip="10.0.0.2" netmask="255.0.0.0" gateway="10.0.0.254" hostname="vm02.example.com" extra="3" |

Danach fahren wir vm01 und vm02 herunter:

xm shutdown vm01  
xm shutdown vm02

Warten Sie ein paar Sekunden und kontrollieren Sie mit xm list, dass vm01 und vm02 heruntergefahren sind. Dann starten Sie das System neu:

shutdown -r now

Wenn vm01 und vm02 beim Booten nicht automatisch gestartet werden, starten Sie sie jetzt:

xm create /etc/xen/vm01-config.sxp  
xm create /etc/xen/vm02-config.sxp

Jetzt sollten Sie in der Lage sein, vm02 von vm01 zu pingen und umgekehrt, und Sie sollten auch in der Lage sein, dom0 und Hosts im Internet zu pingen!

Angenommen, wir haben einen Webserver auf Port 80 in vm01 und einen Mailserver auf Port 25 in vm02. Da sie sich in ihrem eigenen Netzwerk (10.x.x.x) befinden, können wir nicht von außen auf sie zugreifen, es sei denn, wir leiten diese Ports an die entsprechende vm weiter. Wir können die notwendigen Portweiterleitungsregeln auf dom0 mit Hilfe von iptables erstellen:

iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.1:80  
iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to 10.0.0.2:25

Wenn wir uns jetzt auf dom0 auf Port 80 verbinden, werden wir an vm01 weitergeleitet. Das Gleiche gilt für Port 25 und vm02.

Natürlich gehen die Weiterleitungsregeln verloren, wenn wir dom0 neu starten. Daher fügen wir die Regeln in /etc/network/if-up.d/iptables ein, die automatisch ausgeführt wird, wenn das System bootet:

vi /etc/network/if-up.d/iptables

| #!/bin/sh ### Portweiterleitung ### iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 80 -j DNAT --to 10.0.0.1:80 iptables -A PREROUTING -t nat -p tcp -i eth0 --dport 25 -j DNAT --to 10.0.0.2:25 |

Jetzt müssen wir das Skript ausführbar machen:

chmod 755 /etc/network/if-up.d/iptables

Wann immer Sie zusätzliche Portweiterleitungsregeln benötigen, führen Sie sie im Shell von dom0 aus und fügen Sie sie dann zu /etc/network/if-up.d/iptables hinzu, damit sie auch nach einem Neustart verfügbar sind.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.