Linux-VServer unter Debian

From NJH-Wiki

Jump to: navigation, search
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


Weblinks

Personal tools