Dokumentation LHS - Kapitel 9

Nach dem Erstanmeldung im neu installierten Wirtsrechner müssen zahlreiche Arbeiten durchgeführt werden.

Tabellarische Übersicht der Installationsschritte 1 bis 59.

Beginnen wir mit der Vorbereitung des Wirtsrechners m3n78.

Melden Sie sich mit dem zuvor gewählten Passwort für den Benutzer root an.

Legen Sie im Homeverzeichnis das Unterverzeichnis bin an:

   mkdir bin

Erstellen Sie dort eine Skriptdatei:

   cd bin
   editor aptodate.sh

Schreiben Sie die Skriptdatei.

Führen Sie die Skriptdatei aus:

   sh aptodate.sh

Bestätigen Sie die zu installierenden Pakete mit: y

Ferm beim Systemstart aktivieren: Ja

Der Server verfügt jetzt über eine einfache Firewall.

Wählen Sie Ihren Lieblingseditor aus:

   update-alternatives --config editor

Starten Sie für ausgewähltre Softwarepakete die erneute Konfiguration:

   dpkg-reconfigure sysstat ssmtp

Einen Cronjob für sysstat einrichten: Ja

Es macht durchaus Sinn, Daten über Systemaktivitäten sammeln.

Wer erhält E-Mails für Benutzer-IDs < 1000: postmaster

Manche Systemdienste informieren über ihre Aktivitäten per E-Mail.

Name Ihres E-Mailservers: lhs.homenet.local

Der virtuelle Linux Home Server soll auch als Mailserver dienen.

Nummer des entfernten SMTP-Ports: 25

Standardport.

Als welche Domäne ausgeben: homenet.local

Welche sonst?

Vollständiger Rechnername: m3n78.homenet.local

Überschreiben der From:-Zeile erlauben: Nein

Linux-Kernel-Module hinzu laden:

   modconf

Kategorie auswählen:

   kernel/arch/x86/kernel/cpu/cpufreq

Modul auswählen:

   powernow-k8

Das Modul ermöglicht die Regelung der Taktfrequenz für die eingebaute CPU.

Ziel: Energieeinsparung im Dauerbetrieb.

Installiert das Modul powernow-k8 in den Kernel: Ja

Kommandozeilenargumente für das Modul powernow-k8: <keine>

Nach erfolgreicher Installation des Moduls weiter mit: Enter

Modulauswahl: Beenden

Kategorieauswahl: Beenden

Überprüfen Sie kurz Ihre Einstellungen:

   lsmod | grep k8
   cat /etc/modules

Der erste Befehl zeigt alle momentan aktiven Module an, deren Name k8 enthält.

Der Zweite Befehl zeigt die Module an, die bei einem Rechnerneustart explizit geladen werden sollen.

In beiden Ausgaben sollte powernow-k8 bzw. powernow_k8 auftauchen.

Zeigen Sie ausgewählte Systemwerte an, die den Energieverbrauch beeinflussen:

   powertop
Obwohl das Modul powernow-k8 bereits geladen ist, läuft die CPU noch mit ihrem Maximaltakt von 2,21 GHz.

Starten Sie den Dienst powernowd neu:

   /etc/init.d/powernowd restart

Prüfen Sie anschließend erneut die Taktfrequenz:

   powertop

Die CPU sollte jetzt alle 4 Taktstufen von 1000 MHz bis 2,21 GHz benutzen.

Wenn gerade nichts zu tun ist, wird die CPU nur die niedrigste Taktstufe verwenden.

Das Programm powertop gibt noch weitere Tipps, die hier nicht weiter beachtet werden.

Die im Server eingebauten Festplatten sind S.M.A.R.T-fähig.

Der Neustart des entsprechenden Kontrolldienstes mit

   /etc/init.d/smartmontools restart
schlägt aber zunächst fehlt.

Bearbeiten Sie daher die Konfiguration:

   editor /etc/default/smartmontools

Bearbeiten Sie die Zeile

   #start_smartd=yes

Entfernen Sie das Kommentarzeichen am Zeileanfang:

   start_smartd=yes

Der Neustart des Dienstes mit

   /etc/init.d/smartmontools restart
sollte jetzt funktionieren.

Die Firewall muss noch etwas "aufgebohrt" werden.

   editor /etc/ferm/ferm.conf
Fügen Sie in die chain INPUT folgenden dritten Absatz ein:
   # allow LAN access
   saddr 192.168.1.0/24 ACCEPT;

Damit werden alle Pakete aus dem eigenen lokalen Netzwerk zugelassen.

Der Parameter saddr (source address) hängt von der Netzwerkumgebung ab.

Eine Regel ist bereits vorhanden, die SSH-Verbindungen von überall her zuläßt, auch aus dem Internet.

Erweitern Sie die Regel so, das auch Verbindungen mit dem https-Protokoll möglich sind.

   # allow SSH and HTTPS connections
   proto tcp dport (ssh https) ACCEPT;

Aktualisieren Sie die aktiven Firewallregeln:

   /etc/init.d/ferm restart
Sie können jetzt die aktiven Regeln für eingehende Netzwerkpakete anzeigen:
   iptables -vnL INPUT

Später soll auch das virtuelle Gastsystem einen SSH-Dienst erhalten.

Der SSH-Dienst des Wirtsrechnern muss daher auf seine eigene IP-Adresse eingeschränkt werden.

   editor /etc/ssh/sshd_config

Ändern Sie Zeile für den ListenAddress-Parameter ab:

   ListenAddress 192.168.1.120

Vergessen Sie nicht, das führende Kommentarzeichen # zu entfernen.

Der SSH-Dienst muss neu gestartet werden:

   /etc/init.d/ssh restart

Der Erfolg kann überprüft werden mit:

   netstat -l

Der Server soll USB-Sticks automatisch in das Dateisystem einbinden.

Barbeiten Sie die Konfigurationsdatei:

   editor /etc/usbmount/usbmount.conf

Erweitern Sie die automatische Einbindung auch auf Sticks mit FAT-Dateisystem:

   FILESYSTEMS="ext2 ext3 vfat"

Die automatische Einbíndung von USB-Sticks mit FAT-Dateisystem soll schreibgeschützt erfolgen:

   FS_MOUNTOPTIONS="-fstype=vfat,ro"

Zu Zeit läuft noch kein DNS-Server für die Domäne homenet.local.

Daher sollten in die Datei /etc/hosts zumindest die folgenden zwei Zeilen aufgenommen werden:

   192.168.1.120   m3n78.homenet.local   m3n78
   192.168.1.121   lhs.homenet.local     lhs

Nutzlich wäre auch die Vergabe eines Namens für den Router ins Internet.

   192.168.1.254   gateway

Anschließend sollte folgender Befehle mit 0% packet loss funktionieren:

   ping -c 1 m3n78

Die Dateien des Bootloaders grub müssen auf die zweite Festplatte gespiegelt werden:

   cp -a /boot/* /boot2
Prüfen Sie danach, ob auch alle Dateien und Verzeichnisse kopiert wurden:
   mc /boot /boot2

Der Inhalt des Verzeichnisses /boot auf Platte /dev/sdasoll mit
dem Inhalt des Verzeichnisses /boot2 auf Platte /dev/sdb übereinstimmen.

Machen Sie anschließend die zweite Platte (/dev/sdb) bootfähig:

   umount /boot
   umount /boot2
   mount -t ext3 /dev/sdb1 /boot
   grub-install /dev/sdb

Die automatische Einbindung von Datenträgern in den Verzeichnisbaum muss überarbeitet werden.

Editieren Sie die Datei /etc/fstab.

Hier die wichtigsten Anpassungen der fstab:

Die folgenden Zeilen bewirken, dass der Bootprozess auch beim Ausfall einer Festplatte durchläuft.

   /dev/sda1 /boot ext3 errors=continue 0 0
   /dev/sdb1 /boot2 ext3 errors=continue 0 0
   /dev/mapper/vg0-log /var/log ext3 noatime,errors=continue,nodev,noexec 0 0

Das Verzeichnis /tmp wird in den virtuellen Speicher (swap-Partition) verlagert.

   tmpfs /tmp tmpfs size=102400000 0 0

Die letzten zwei Zeilen sind für verschlüsselte Volumes vorgesehen.

   /dev/mapper/vg1-sec_crypt /root/safe ext3 noatime,noauto 0 0
   /dev/mapper/vg0-lhs_crypt /var/lib/vservers/lhs xfs noatime,noauto,quota 0 0

Das Verzeichnis /root/safe soll vertrauliche Daten aufnehmen.

Sein Inhalt wird auf dem verschlüsselten Volume vg1-sec gespeichert.

Legen Sie in /root/bindie Skriptdatei mntsafe.sh an und führen Sie sie aus.

Das Skript fragt nach der zuvor gewählten Passphrase und erledigt den Rest.

Zur Ergebniskontrolle kann folgender Befehl benutzt werden:

   mount | grep sec

Schreiben Sie anschließend die Passphrase für das Volume vg0-lhs in eine Datei:

   echo "Meine_super_geheime_Passphrase" >/root/safe/passphrase

Legen Sie in /root/bindie Skriptdatei mntlhs.sh an und führen Sie sie aus.

Das Skript liest die Passphrase aus der im vorigen Schritt angelegten Datei /root/safe/passphrase.

Jetzt kann das virtuelle Gastsystem installiert werden. Hilfestellung:

   man vserver-build

Einrichtung des virtuellen Servers lhs:

   /usr/lib/util-vserver/vserver-build -m bootstrap -n lhs \
   --hostname lhs --interface eth0:192.168.1.121/24 -- -d lenny

Der Installationsvorgang nimmt geraume Zeit in Anspruch.

Kopieren Sie die Datei /etc/hostsin den virtuellen Server:

   cp /etc/hosts /var/lib/vservers/lhs/etc/hosts

Starten Sie den neuen virtuellen Server:

   vserver lhs start

Anzeige der Serverdaten:

   vserver-stat

Betreten Sie den virtuellen Server:

   vserver lhs enter

Prüfen Sie aus dem lhs heraus die Netzwerkverbndung:

   ping -c 1 gateway

Verlassen den lhs wieder:

   exit

Editieren Sie die Datei /etc/vservers/lhs/fstab und bearbeiten Sie dort die Zeile für /tmp.

Der Speicherplatz für das Verzeichnis /tmp des Gastsystems muss vergrößert werden:

   none   /tmp   tmpfs   size=900m,mode=1777   0   0

Der Zugriff auf den realen Server (Wirtsrechner) soll auf das lokale Netz begrenzt werden.

Bearbeiten Sie die Datei /etc/hosts.allow:

   ALL: LOCAL .homenet.local 192.168.1.

Was nicht erlaubt ist, das ist verboten.

Bearbeiten Sie die Datei /etc/hosts.deny:

   ALL: ALL

Es fehlen noch Angaben zu den verschlüsselten Volumes:

   editor /etc/crypttab

Ergänzen Sie folgende Zeilen:

   vg1-sec_crypt /dev/mapper/vg1-sec none luks,noauto
   vg1-lhs_crypt /dev/mapper/vg0-lhs none luks,noauto

Zu diesem Punkt der Installation funktioniert der Mailversand noch nicht, E-Mails landen daher in der Datei dead.letter.

Um diese Mails nach der Anmeldung sofort zu sehen, bearbeiten Sie die Datei .profile.

Ergänzen Sie /root/.profile um folgende Zeilen:

   if [ -r dead.letter ] ; then 
     less -M dead.letter
     cp --force --backup=numbered dead.letter dead.letter
     rm --force dead.letter
   fi
Es werden automatisch Sicherheitskopien angezeigter Mails erzeugt.

Um dem versehentlichen Löschen von Dateien vorzubeugen, bearbeiten Sie die Datei .bashrc.

Entfernen Sie das Kommentarzeichen # vor folgenden Zeilen:

   alias rm="rm -i"
   alias cp="cp -i"
   alias mv="mv -i"

Sicherheitrückfragen beim interaktiven Arbeiten sind jetzt aktiviert.

Mit dem Befehl dd kann die Performance des Systems untersucht werden:

   dd if=/dev/zero  of=test1      bs=65536  count=65536
   dd if=/dev/zero  of=test2      bs=65536  count=65536
   dd if=test1      of=/dev/null  bs=65536
   dd if=test2      of=/dev/null  bs=65536
   dd if=test1      of=test2      bs=65536
   rm test*

Es ergeben sich Lese- bzw. Schreibraten von über 55 MB/s.

Anzeige der Festplattenauslastung:

   df

Einfacher Test CPU-Leistung:

   dd  if=/dev/urandom of=/dev/null bs=65536 count=1024

Neustart:

   reboot

Weiter mit Kapitel 10

Diese Übersicht ist Bestandteil der Dokumentation zum Linux Home Server.

Stand der Angaben: Dezember 2008.

Bitte beachten Sie auch das Impressum.