Hetzner - DokuWiki

Xen auf Gentoo

Inhaltsverzeichnis

Konfiguration ab Xen Version 4.1

Dieser Artikel setzt Informationen zum Einstieg in Xen und Gentoo voraus und beschreibt im Wesentlichen die Netzwerkkonfiguration anhand von Bridging.

Konfiguration Dom0

Netzwerk

Erstellen Sie eine Bridge mit:

root # cd /etc/init.d
root # ln -s net.lo net.br0

/etc/conf.d/net

# eth0 sollte KEINE ip konfiguriert haben
config_eth0="null"

# Konfigurieren Sie eine "bridge", um das ursprüngliche eth0 zu ersetzen.
# Stellen Sie dabei sicher, dass die Netzmaske alle IP-Adressen Ihrer
# domU's beinhaltet!
bridge_br0="eth0"
config_br0="192.168.XX.XX netmask 255.255.0.0 brd 192.168.255.255"
routes_br0="default via 192.168.XX.XX"
mac_br0="00:16:3e:5b:XX:XX"

# Bridge-Einstellungen, um die angeschlossenen Schnittstellen sofort
# verfügbar zu machen.
brctl_br0="stp off
        setfd 0
        sethello 10"

# Einstellungen für das Startverhalten
rc_net_br0_need="net.eth0"
rc_net_br0_provide="!net"

Auf Grund der Netzwerkkonfiguration bei Hetzner müssen die "Redirects" abgeschaltet werden, da sonst die Schnittstellen der domU's zeitweise nicht verfügbar sind:

/etc/sysctl.conf

net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.eth0.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.br0.send_redirects=0

Installieren Sie die Bridge-Utilitys

root # emerge net-misc/bridge-utils

Stellen Sie sicher dass die Bridge nach dem Neustart gestartet wird

root # rc-update add net.br0 default

Xen

/etc/xen/<domU_name>

# general
name    = "<domU_name>";
memory  = 8192;
vcpus = 6

# booting
kernel  = "/boot/<kernel_name>";

# virtual harddisk
disk = [ "phy:/dev/<root_disk>,xvda,w",
         "phy:/dev/<disk_2>,xvdb,w",
         "phy:/dev/<disk_3>,xvdc,w" ];
root = "/dev/xvda rw";

# virtual network
vif = [ "ip=178.63.XX.XX,mac=00:01:78:63:XX:XX,bridge=br0,script=vif-bridge"];

Starten Sie die domU mit:

root # xl create /etc/xen/<domU_name>

Konfiguration DomU

Netzwerk

/etc/conf.d/net

config_eth0="192.168.1.200 netmask 255.255.255.0 brd 192.168.1.255"
# Routen Sie den gesammten Netzwerkverkehr durch die Bridge-Adresse in dom0

routes_eth0="default via 192.168.XX.XX"
# Stellen Sie sicher, dass die Netzwerkschnittstellen aller domU's
# unterschiedliche MAC-Adressen haben!
# Stellen Sie sie nötigenfalls ein in den Xen-domU-Konfigurationsdateien
# in /etc/xen/<domU_name> mit
# "vif = [ "ip=192.68.XX.XX,mac=XX:XX:XX:XX:XX:XX,bridge=br0" ];" !

Die IP sollte natürlich mit der übereinstimmen, mit der der Gast gestartet wird.

Auf Grund der Netzwerkkonfiguration bei Hetzner müssen die "Redirects" abgeschaltet werden, da sonst die Schnittstellen der domU's zeitweise nicht verfügbar sind:

/etc/sysctl.conf

net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.eth0.send_redirects=0
net.ipv4.conf.default.send_redirects=0

Weiterführende Hinweise

Wiki Xen

Gentoo Installation

Gentoo Xen Wiki



Konfiguration bis Xen Version 3.1.3

Achtung: Dieses Setup funktioniert bis xen-3.1.3/xen-tools-3.1.3, mit den 3.2er Versionen sind die Gastsysteme nicht erreichbar.

Dieser Artikel setzt die Links zum Einstieg voraus und beschreibt im Wesentlichen die Netzwerkkonfiguration anhand von Routing.

Konfiguration Dom0

Netzwerk

/etc/conf.d/net

modules=( "iproute2" )
config_eth0=(
        "85.10.***.*** netmask 255.255.255.224 broadcast 85.10.***.***" #haupt-ip
       "88.198.***.1 netmask 255.255.255.248"
       "88.198.***.2 netmask 255.255.255.248"
       "88.198.***.3 netmask 255.255.255.248"
#       "88.198.***.4 netmask 255.255.255.248"
#       "88.198.***.5 netmask 255.255.255.248"

routes_eth0=( "default via 85.10.198.33" )

)
postup() {
      echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
}

IPs, die man für Gastdomänen benutzen möchte, werden auskommentiert, wie im Beispiel IP 4 und 5. Der Postup-Befehl ist wichtig, damit die Vserver auch erreichbar sind.

Xen

Dieses Setup beruht auf Routing:

/etc/xen/xend-config.sxp

#(network-script network-bridge)
#(vif-script vif-bridge)
(network-script network-route)
(vif-script     vif-route)

Konfiguration Gastdomains

Man wähle eine IP, z.b. die 88.198.***.4:

/etc/xen/vm1 (als Beispiel)

vif = ['ip=88.198.***.4,mac=AA:BB:CC:DD:EE:FF']

Als Mac-Adresse nimmt man die der Netzwerkkarte, erhältlich mit ifconfig | grep eth0

Netzwerk

/etc/conf.d/net

config_eth0=( "88.198.***.4 broadcast 88.198.***.6 netmask 255.255.255.255" )
routes_eth0=( "85.10.***.***" ) #Haupt-IP
postup() {
   route add default gw 85.10.***.*** #Haupt-IP
}

Die IP sollte natürlich mit der übereinstimmen, mit der der Gast gestartet wird.

Hinweise

Mit diesem Tipp sollte das Netzwerk ohne Probleme funktionieren. Unter Umständen sollte auf dem Hostsystem und auf den Gastdomains bei den postup-Befehl der Netzwerkkonfiguration ein echo "nameserver 213.133.98.98" > /etc/resolv.conf aufgenommen werden, wenn bei Start von net.eth0 die resolv.conf überschrieben wird.



© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.