Linux VServer enrichten

From JonDonym Wiki
Jump to: navigation, search

En2.png De2.png  Hauptseite (de) | Linux Server Setup

Contents

Linux VServer Setup

Wir empfehlen, die für einen Mix-Server nötigen Prozesse zu isolieren und in einer virtuellen Umgebung zu betreiben. Für die Virtualisierung gibt es mehrere Ansätze. VMware oder XEN zielen darauf ab, ein komplettes zweites Betriebssystem parallel zu starten. Diese virtuellen Systeme verhalten sich wie komplett eigenständige Rechner. Es ist nötig, physische Ressourcen statisch zuzuweisen.

Etwas einfacher ist es, einen Linux-VServer aufzusetzen. Statt mehrere Kernel zu starten, ist die Virtualiserung auf Betriebssystemebene implementiert, ähnlich den Jails unter FreeBSD.

Die Daten der VServer können komplett in einem verschlüsselten Container abgelegt werden. Die Nutzung verschlüsselter Partitionen oder verschlüsselter Containerdateien ist im HowTo Datenverschlüsselung mit DM-Crypt beschrieben.

IP-Adressen vorbereiten

Man benötigt eine IP-Adresse für das Hostsystem und zusätzlich mindestens eine weitere IP-Adresse für jeden VServer. Die Bereitstellung der nötigen Adressen erfolgt durch Ihren Provider.

Auf dem Hostsystem sind alle dort laufenden Dienste ausschließlich an die IP-Adresse des Hosts zu binden. In der Standardeinstellung sind die Dienste an die Joker-Adresse 0.0.0.0 gebunden. Das bedeutet, dass der Dienst an allen vorhandenen Adressen lauscht. Damit verdecken die Dienste auf dem Host die Ports der VServer. Tragen sie bitte in allen nötigen Konfigurationen die IP-Adresse des Hosts als Listen-Interface ein.

Für den SSH-Daemon können Sie diese Einstellung in der Datei /etc/ssh/sshd.conf vornehmen. Ersetzen Sie den Eintrag ListenAddress 0.0.0.0. Das Beispiel geht davon aus, dass die IP-Adresse des Hosts 123.123.123.123 ist.

ListenAddress 127.0.0.1
ListenAddress 123.123.123.123

bind9 konfigurieren Sie in der Datei /etc/bind/named.conf.options.

options {
  ....
  listen-on { 127.0.0.1; 123.123.123.123; };
  ....
}; 

Hostsystem vorbereiten

Die Nutzung von VServern erfordert einen speziellen Kernel, der diese Virtualisierung unterstützt. Für die Installation bieten die Distributionen fertige Skriptsammlungen. Die Software kann mit dem Paketmanager installiert werden.

Debian i386: aptitude install linux-image-vserver-686 util-vserver vserver-debiantools
Debian amd64: aptitude install linux-image-vserver-amd64 util-vserver vserver-debiantools

Nach der Installation ist das Hostsystem neu zu starten und damit vorbereitet für die Installation der virtuellen Server.

VServer erstellen

Die Installation verläuft weitgehend automatisch. Als Beispiel die Installation von Debian squeeze im VServer:

newvserver --vsroot /vserver 
           --hostname sample
           --domain sample.server.tld 
           --ip 124.124.124.124/32 
           --dist squeeze
           --mirror http://ftp2.de.debian.org/debian 
           --interface eth0
  • --vsroot Verzeichnis für die Daten des VServers.
  • --hostname Name des neuen VServers.
  • --domain FQDN.
  • --ip IP-Adresse für den VServer.
  • --dist am besten, die gleiche Distribution wie das Hostsystem verwenden
  • --mirror Mirror für den Download der Packages.
  • --interface Network Interface, an welches die IP-Adresse gebunden wird.

Probleme mit der Namensauflösung treten auf, wenn man auf dem Host einen lokalen Nameserver nutzt. Die Installation kopiert die Datei /etc/resolv.conf vom Hostsystem. Da auf dem VServer kein Nameserver läft, gibt es Probleme. Vor dem ersten Start des VServers ist die Datei /vserver/<name>/etc/resolv.conf entsprechend anzupassen.

VServer verwalten

Das Tool vserver bietet die Möglichkeit, die installierten VServer zu starten, zu stoppen, zu betreten usw.

Starten eines VServers:

vserver <name> start

Herunterfahren eines VServers:

vserver <name> stop

Abfragen des Status eines VServers:

vserver <name> status

Betreten eines VServers als root:

vserver <name> enter

Ausführen eines Kommandos als root in dem VServer:

vserver <name> exec command

Außerdem gibt es spezielle Kommandos für die Wartung des VServers. Ein Update aller VServer kann man auf dem Host mit vapt-get durchführen. Das Kommando kann nur gestartete VServer aktualisieren. Man sollte zuvor prüfen, ob alle VServer laufen.

vapt-get --all upgrade
vapt-get --all dist-upgrade

VServer löschen

Wenn man einen VServer nicht mehr benötigt, kann man ihn einfach löschen.

vserver <name> delete
Personal tools