Linux-VServer unter Debian
From NJH-Wiki
- Sprachen
- english - deutsch
- Autor
- Volker Grabsch
Contents |
Einleitung
Der Einsatz eines Linux-VServer-Systems bietet zahlreiche Vorteile. Selbst wenn man nur ein einziges System hat, lohnt es sich, dieses als VServer laufen zu lassen.
Diese Anleitung erklärt, wie man ein VServer-System unter Debian aufbaut und darin einen oder mehrere VServer einrichtet. Es wird besonderer Wert auf den "Debian-Weg" gelegt.
Voraussetzungen
- Debian/Sarge
- Für jeden VServer steht eine extra IP zur Verfügung
Hauptsystem: Schritt für Schritt
Zuerst wird das Hauptsystem aufgesetzt, das die VServer beherbergt.
Netzwerk
Wahrscheinlich wird das Netzwerk automatisch per DHCP eingerichtet. Dann kann dieses Kapitel übersprungen werden.
Falls nicht, müssen die IPs manuell eingetragen werden. Lauten sie zum Beispiel:
- 10.0.0.1
- 10.0.0.2
- 10.0.0.3
Dann tragen wir in die /etc/network/interfaces ein:
auto eth0
iface eth0 inet static
address 10.0.0.1
netmask 255.255.255.0
auto eth0:0
iface eth0:0 inet static
address 10.0.0.2
netmask 255.255.255.0
auto eth0:1
iface eth0:1 inet static
address 10.0.0.3
netmask 255.255.255.0
SSH
Der SSH-Dienst des Hauptsystems soll auf einem anderen Port (2222) lauschen, damit er die SSH-Dienste der VServer nicht stört.
In /etc/ssh/sshd_config ändern:
Port 2222
Alternativ kann man den SSHd auch an eine feste IP binden. Hierbei wird nur der VServer dieser IP gestört und man kann den Dienst auf dem üblichen Port belassen. Am besten nutzt man dann eine IP, die von keinem VServer genutzt wird. (In diesem Beispiel nehmen wir 10.0.0.3)
In diesem Fall ist stattdessen in die /etc/ssh/sshd_config einzutragen:
Port 22 ListenAddress 10.0.0.3
Kernel
Wir nehmen einen VServer-fähigen Debian-Standard-Kernel aus den Backports.
In die /etc/apt/sources.list eintragen:
deb http://www.backports.org/debian/ sarge-backports main contrib non-free
Paket-Liste aktualisieren:
aptitude update
VServer-Kernel installieren:
aptitude -t sarge-backports install linux-image-2.6-vserver-ARCH
Dabei ist ARCH eine der Prozessor-Architekturen:
- 686
- k7
- amd64-k8
- em64t-p4
Neustart:
reboot
Falls dieser Standard-Kernel nicht funktioniert, müssen wir einen Kernel selbst compilieren.
VServer-System
VServer-Werkzeuge installieren:
aptitude install util-vserver vserver-debiantools
Verzeichnis für die VServer anlegen:
mkdir /var/lib/vservers
In /etc/vservers/newvserver-vars eintragen:
DEFAULT_VSERVERDIR=/var/lib/vservers
VServer: Schritt für Schritt
Nun wollen wir einen VServer anlegen. Als Beispiel gehen wir von folgendem aus:
- Domain-Name des Hauptsystems
- domain.net
- Domain-Name des VServers
- vs1.domain.net
- IP-Adresse des VServers
- 10.0.0.1
Installation
VServer anlegen:
newvserver --hostname vs1 --domain domain.net --ip 10.0.0.1 \
--mirror http://ftp.de.debian.org/debian/ --dist sarge
Dabei wird base-config gestartet, das einige Fragen stellt.
In der Voreinstellung wird die "CAP_NET_RAW capability" gesetzt. Diese braucht man aber nur, wenn man das Standard-bind9-Debian-Paket benutzen möchte. Gute Praxis ist es, keine unnötigen "capabilities" frei zu geben, solange der VServer diese nicht wirklich braucht.
Deshalb in /etc/vservers/vs1.conf ändern:
S_CAPS=""
Nachinstallieren von vreboot:
cd /var/lib/vservers/vs1/usr/local/sbin cp /usr/lib/util-vserver/legacy/vreboot . ln -s vreboot vhalt ln -s vreboot vshutdown
VServer starten:
vserver vs1 start
Webmin
Falls im VServer Webmin benutzt wird, muss es über die veränderten Reboot- und Halt-Befehle bescheid wissen.
VServer betreten:
vserver vs1 enter
Webmin installieren:
aptitude install webmin
In die /etc/webmin/init/config eintragen:
shutdown_command=/usr/local/sbin/vhalt reboot_command=/usr/local/sbin/vreboot
Webmin neustarten:
/etc/init.d/webmin restart
VServer verlassen:
exit
SSH
VServer betreten:
vserver vs1 enter
SSH-Server installieren:
aptitude install ssh
VServer verlassen:
exit
Hat der VServer die selbe IP wie das Hauptsystem, muss er den gleichen SSH-Hostkey aufweisen. Die unterschiedliche Port-Nummer (2222 statt 22) genügt leider nicht!
SSH-Hostkey des Hauptsystems in den VServer kopieren:
cp -p /etc/ssh/ssh_host_* /var/lib/vservers/vs1/etc/ssh/
SSH-Server des VServers neustarten:
vserver vs1 exec /etc/init.d/ssh restart

