Wir installieren folgende Programme (dom0):
Code: Select all
% apt-get install xen-hypervisor-3.0-i386 xen-utils-3.0 xen-toolsWir brauchen noch folgende Programme (dom0):
Code: Select all
% apt-get install iproute bridge-utils libc6-xenCode: Select all
% apt-get install linux-image-2.6.18-5-xen-686/boot/grub/menu.lst
Es sollte in etwa so aussehen (dom0):
Code: Select all
title Xen 3.0.3-1-i386-pae / Debian GNU/Linux, kernel 2.6.18-5-xen-686
root (hd0,0)
kernel /xen-3.0.3-1-i386-pae.gz
module /vmlinuz-2.6.18-5-xen-686 root=/dev/sda3 ro console=tty0
module /initrd.img-2.6.18-5-xen-686
savedefault
title Xen 3.0.3-1-i386 / Debian GNU/Linux, kernel 2.6.18-5-xen-686
root (hd0,0)
kernel /xen-3.0.3-1-i386.gz
module /vmlinuz-2.6.18-5-xen-686 root=/dev/sda3 ro console=tty0
module /initrd.img-2.6.18-5-xen-686
savedefaultWir fügen dazu der /etc/network/interfaces folgende zeilen hinzu (dom0):
Code: Select all
auto xen-intern
iface xen-intern inet static
pre-up brctl addbr xen-intern
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
bridge_fd 0
bridge_hello 0
bridge_stp off/etc/modprobe.d/xen
Code: Select all
options loop max_loop=50Code: Select all
modprobe loopJetzt geht es daran den ersten Gast (domU) zu erstellen. Wir haben hier 2 Möglichkeiten zur auswahl.
Für die Installation in eine Partition:
Code: Select all
% mkfs.ext3 /dev/hdX #(X steht für die Partition die du für domU nutzen willst)
% mkdir /mnt/xen
% mount /dev/hdX /mnt/xenCode: Select all
% mkswap /dev/hdX #(X steht für die Partition die du als Swap für dein domU nutzen willst)Code: Select all
% dd if=/dev/zero of=/srv/domU.img bs=1M count=<Grösse_in_MB>
% mkfs.ext3 /srv/domU.img
% nkdir /mnt/xen
% mount -o loop /srv/domU.img /mnt/xenCode: Select all
% dd if=/dev/zero of=/srv/domU-swap.img bs=1M count=<Grösse_in_MB>
% mkswap /srv/domU-swap.imgCode: Select all
% debootstrap etch /mnt/xen http://ftp2.de.debian.org/debian/Code: Select all
% cp -R /lib/modules/2.6.18-5-xen-686 /mnt/xen/lib/modulesCode: Select all
% chroot /mnt/xen /bin/bashCode: Select all
/etc/fstab editieren und anpassen (domU):
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0Code: Select all
auto lo
iface lo inet loopback
# ethernet interface
auto eth0
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1Code: Select all
127.0.0.1 localhost.localdomain localhost
192.168.0.10 domU.domain.tld domU #Bitte entsprechend anpassen
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhostsCode: Select all
% apt-get install libc6-xenCode: Select all
1:2345:respawn:/sbin/getty 38400 tty1
#2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6Code: Select all
% passwd
% exit
% umount /mnt/xen/etc/xen/domU # Der Name kann frei gewählt werden. Wir fügen folgendes ein:
Code: Select all
# Kernel to use
kernel = "/boot/vmlinuz-2.6.18-5-xen-686"
ramdisk = "/boot/initrd.img-2.6.18-5-xen-686"
# Memory in megabytes
memory = 512
# Your domain's name
name = "domU"
# Root device
root = "/dev/hda1 ro"
disk = [ 'file:/ srv/domU.img,hda1,w', 'file:/ srv/domU-swap.img,hda2,w' ]
vif = ['bridge=xen-intern,mac=00:16:3E:11:D9:E7']
dhcp ="off"
ip="192.168.0.10"
netmask="255.255.255.0"
gateway="192.168.0.1"Code: Select all
disk = [ 'phy:/dev/hdX,hda1,w', 'phy:/dev/hdY,hda2,w' ]Das war es!
Wir testen nun das Gast System:
Code: Select all
% xm create –c domUIst das Gast System erfolgreich hochgefahren, kannst du dich ganz normal als root anmelden.
Zum beenden:
Code: Select all
% xm shutdown –H domUCode: Select all
% ln -s /etc/xen/domU /etc/xen/auto/Code: Select all
% STRG + ]Code: Select all
% STRG + 5Folgende iptables Regel muss nun auf dem Host (dom0) eingerichtet werden:
Code: Select all
% echo 1 > /proc/sys/net/ipv4/ip_forward
% iptables -t nat -A POSTROUTING -s 192.168.0.10 -o eth0 -j SNAT --to *ip-des-hosts*Code: Select all
% ping google.deCode: Select all
iptables -t nat -A PREROUTING -p tcp -d *ip-des-hosts* --dport 21 -j DNAT --to 192.168.0.10:21
iptables -t nat -A PREROUTING -p tcp -d *ip-des-hosts* --dport 20 -j DNAT --to 192.168.0.10:20So einfach! Dieselben Regeln ( abgesehen vom Port ) können auch für Apache, Mysql, MTA, u.s.w angewendet werden.
Kritik und weitere anregungen sind erwünscht!
Viel Spass
P.s Dieses Howto ist zum teil durch eigene erfahrungen etnstanden, als auch durch andere Howto´s die sich nicht auf Debian Etch anwenden ließen.
