Xen: Umstellung von „Bridged“-Setup zu „Routed“-Setup

Bislang hatte ich auf meinem Hetzner Root-Server ein „Bridge“-Setup. Dieses habe ich jetzt auf ein „Routed“-Setup umgestallt, da Hetzner nun bald endgültig auf die neue Subnetz Allokierung umstellt und dort ein „Briged“-Setup dann nicht mehr möglich wäre.

Das „Bridge“-Setup ist auch eher für den Einsatz in einem lokalen LAN gedacht. Problem bei dieser Variante im Rechenzentrum ist, das der Switch die MAC-Adressen und IP`s der DomU`s zulassen muss. Dadurch besteht die Möglichkeit, die IP Adresse eines benachbarten Server zu übernehmen.

Zwar geht es hier um die Verwendung im Rechenzentrurm (mit öffentlichen IP`s), werde jedoch zur Veranschaulichung private Adressen nutzen.

192.168.1.0/24 (Für den Hauptserver)
192.168.2.0/24 (Zusätzliche Netz für die DomU`s)

Anpassungen – Dom0

IP-Forwarding aktivieren:

echo "1" > /proc/sys/net/ipv4/ip_forward

Proxy-APR aktivieren:

echo "1" > /proc/sys/net/ipv4/conf/default/proxy_arp

Es müssen natürlich die richtigen Netzwerk Einstellungen (IP, Netmask, …) für den Hauptserver (Dom0) gesetzt werden. Die letzte Zeile sorg dafür, das der Hauptserver noch die erste „benutzbare“ IP aus dem zusätzlichen Subnetz bekommt. Diese IP wird dann später bei den DumU`s als Gateway eingetragen.

/etc/network/interfaces

auto eth0
iface eth0 inet static
	address 192.168.1.1
	broadcast 192.168.1.255
	netmask 255.255.255.0
	gateway 192.168.1.254
	pointopoint 192.168.1.254

	# IP aus dem zus. Subnetz mit Netzmaske
	up ip addr add 192.168.2.254/24 dev eth0		

Dann noch eine Anpassung an dem Xen Script für die Interfaces.

/etc/xen/scripts/vif-common.sh

##
# ip_of interface
#
# Print the IP address currently in use at the given interface, or nothing if
# the interface is not up.
#
function ip_of()
{
	# ALT
	# ip addr show "$1" | awk "/^.*inet.*$1$/{print $2}" | sed -n '1 s,/.*,,p'
  
	# wird zu
	ip addr show "$1" | awk "/^.*inet.*$1$/{print $2}" | sed -n '2 s,/.*,,p'
}

Sehr wichtig ist auch in der Konfigurationsdatei der jeweiligen DomU die richtige IP Adresse einzutragen, da sonst beim Starten der DomU nicht die richtigen Routen angelegt werden.

/etc/xen/domu.cfg

vif = [ 'ip=192.168.2.1' ]

Anpassungen – DomU`s

Die DomU`s bekommen dann die zweite des Hauptservers als Gateway.

/etc/network/interfaces

auto eth0
iface eth0 inet static
	address  192.168.2.1
	netmask  255.255.255.0
	gateway  192.168.2.254

Schluss:

– DomU`s herunterfahren
– Dom0 neu starten
– DomU`s starten
– Fertig