Back to the author's homepage

Kommunikationsserver mit Debian GNU/Linux 2.2

Das LAN ins Internet

David Spreen
Debian Logo

Der Artikel beschreibt die Konfiguration eines Kommunikationsservers mit ISDN, IP-Masquerading, Mail und News, Secure Shell und Proxy auf einem Debian GNU/Linux 2.2

Der folgende Text richtet sich an alle, die es interessiert, wie man mit dem neuen Debian GNU/Linux 2.2 mit möglichst wenig Aufwand einen Kommunikationsserver einrichtet. Ein Kommunikationsserver ist ein Computer, der ein internes Netzwerk mit dem Internet verbindet. Auf ihm laufen Dienste wie ISDN, Masquerading, Mail- und Newsserver, Proxy und SSH-Server usw. Im folgenden wird Schritt für Schritt erklärt, wie man diese Services einfach und einigermaßen sicher installiert und konfiguriert.

Vorbereitung

Als Ausgangspunkt installieren wir zunächst ein minimales Debian 2.2 System, das heißt, komplett ohne "additional Software" (bei der Frage How do you want to choose additional Software? antworten Sie mit simple, den darauffolgenden Auswahlbildschirm beenden Sie gleich wieder mit Finish). Wenn Sie einen anderen Editor als vi bevorzugen, installieren Sie nach Beenden des Installationsprogrammes als erstes Ihren Lieblingseditor mit apt-get:

apt-get install -programmname-

Als nächstes brauchen wir die Kernel-Sourcen, aber keine Sorge, nur zu Dokumentationszwecken. Das Paket heißt "kernel-source-2.2.17", installieren Sie es wie immer mit apt. Nach der Installation des Paketes befindet sich ein Tarball in /usr/src. Entpacken Sie diesen mit tar -xvIf kernel-source-2.2.17 . Da alle für uns wichtigen Optionen bereits im Installationskernel fest oder modular enthalten sind, verzichtet dieser Artikel darauf, das Kompilieren eines Kernels zu beschreiben. Wenn Sie dazu neigen, einen eigenen Kernel zu kompilieren, können Sie dieses natürlich gerne tun. Wir haben die Kernel-Sourcen nur installiert, um die Dokumentation für das Laden der Module einsehen zu können.

Konfiguration der Hardware

Um Ihr ISDN-System beim Booten zu laden, erzeugen Sie im Verzeichnis /etc/modutils/ eine Datei mit dem Namen des Moduls, welches Ihre ISDN-Karte unterstützt. Wenn Sie nicht wissen, welches Modul das ist, können Sie dies in der Kerneldokumentation unter /usr/src/kernel-source-2.2.17/ Documentation/isdn/ nachlesen. In die Datei schreiben Sie ebenfalls den Namen des Moduls mit einem vorangestellten options und darauffolgend der Syntax, die das Modul zum Laden benötigt. Bei mir sieht das etwa so aus:

/etc/modutils/hisax:

options hisax type=15 protocol=2 io=0x100 irq=5

Damit wäre die ISDN-Hardware-Konfiguration schon abgeschlossen und das ISDN-Subsystem sollte beim Booten geladen werden. Ist dies nicht der Fall, hilft in vielen Fällen das ISDN-HOWTO [1] weiter. Unter Umständen müssen Sie das Tool isapnp verwenden, aber dies alles ist im ISDN-HOWTO genauer dokumentiert.

Wir wollen natürlich auch die Netzwerkkarten-Treiber beim Booten laden. Dafür genügt es in der Regel, den Namen des Moduls, das für Ihre Netzwerkkarte zuständig ist, in die Datei /etc/modules einzutragen. Hilfe finden Sie wieder in der Kerneldokumentation, diesmal im Unterverzeichnis networking/. Möglicherweise genügt es für Ihre Netzwerkkarte nicht, das Modul ohne Parameter zu laden, gehen Sie dann vor, wie es für die ISDN-Karte beschrieben ist. Sie müssen dann eine Datei in /etc/modutils/ mit dem Namen des zu ladenden Moduls erzeugen und die Zeile options Modulname parameter1=foo parameter2=... eintragen. Ihre Hardware sollte nun richtig konfiguriert sein, kommen wir also zur Softwarekonfiguration...

Einrichten des lokalen Netzwerkes

Um das LAN zu konfigurieren, editieren wir die Datei /etc/network/ interfaces. Fügen Sie am Dateiende die Zeile iface eth0 inet static ein. Darunter kommt Ihre IP-Adresse, die Netzwerk-Adresse und die Netzmaske nach dem Schema aus Listing 1.

Nach einem ipup -a auf der Console sollte Ihr Kommunikationsserver von dem LAN aus erreichbar sein.

Ein wenig Security

Bevor wir unseren Kommunikationsserver nun den Gefahren des Internets aussetzen, sollten wir sicherstellen, dass nicht eventuell Services laufen, die wir gar nicht benutzen, die also eventuell nur überflüssige Sicherheitsrisiken darstellen. Öffnen Sie also die Datei /etc/inetd.conf und kommentieren Sie vorerst alles aus. Später werden wir den POP3- und IMAP-Server aus dem inetd starten, aber soweit sind wir noch nicht. Da wir aber auch zuvor schon Services aus dem inetd starten (zumindest einen), sollten wir den Zugriff auf den inetd noch etwas beschränken. Für die Zugriffsbeschränkung des inetd wird standardmäßig der tcpd verwendet. Die Richtlinien für diese Regelung enthalten die beiden Dateien /etc/hosts.allow und /etc/hosts.deny. Öffnen Sie zunächst die hosts.deny und ändern die Zeile ALL : PARANOID in ALL : ALL EXCEPT localhost. Das erste ALL legt fest, dass die Regelung für alle Services gilt (deren Zugriff der tcpd regelt). Das ALL EXCEPT localhost legt fest, dass die Regelung für alle Rechner auf der Welt gilt, außer für unseren Rechner selber. Wir wollen aber, dass aus unserem LAN auf die Services unseres Kommunikationsservers zugegriffen werden kann. Deshalb tragen wir jetzt in die hosts.allow ein ALL : 10.0.0.0/255.0.0.0 ein. Sie müssen natürlich wie immer die 10.0.0.0/255.0.0.0 durch Ihre Netzwerkadresse und Ihre Netzmaske ersetzen. Nun haben dürfen alle Rechner aus unserem LAN auf alle Services des Komservers zugreifen.

Ein Secure Shell Server

Jetzt, wo das Netzwerk konfiguriert ist, möchten Sie eventuell den Rest der Konfiguration aus dem LAN machen oder später einfach die Möglichkeit haben, den Rechner von irgendwo anders aus dem Internet zu warten. Wir installieren hierzu einen SSH-Server. Dies ist unter Debian recht trivial: Installieren Sie einfach das Paket ssh mit apt. Das Skript fragt Sie dann, ob Sie auch den sshd aktivieren wollen. Antworten Sie mit yes. ssh wird weitgehend als sicher anerkannt, so dass wir nun noch den Zugriff aus der ganzen Welt auf diesen Service ermöglichen. Da der sshd gegen den tcpd gelinkt ist, regeln wir die Zugriffsbeschränkung wie oben mit dem inetd. Sie müssen also sshd : ALL in die /etc/hosts.allow eintragen.

ISDN-Konfiguration

Um die Verbindung zu Ihrem ISP per ISDN zu konfigurieren, muss zuerst das Paket isdnutils installiert werden. Benutzen Sie hierfür wie immer apt (hmm, das hätten Sie jetzt eh nicht anders erwartet, richtig?). Nach dem Installieren des Paketes rufen Sie das Programm isdnconfig auf. Im Menü wählen Sie den Punkt 1 network devices und erzeugen das Beispielkonfigurationsfile für das Device ippp0. Kehren Sie mit Enter ins Menü zurück. Wählen Sie Punkt 2 synchronous ppp daemon und erzeugen Sie dort das Beispielkonfigurationsfile des ipppds für das Device ippp0. Dann können Sie mit Enter erneut ins Menü zurückkehren und das Programm mit q gleich wieder verlassen. Öffnen Sie mit Ihrem Lieblingseditor die Datei /etc/ppp/pap-secrets. Tragen Sie hier die Zeile "ihrproviderlogin" * "ihrpasswort" ein. Achtung: Vergessen Sie nicht die Anführungszeichen, die sind wichtig! Die nächste Datei, die wir editieren, ist /etc/isdn/device.ippp0. Entfernen Sie hier zunächst die vierte Zeile: "Warning! ...". Dann suchen Sie die beiden Zeilen LOCALIP=10.0.0.1 und REMOTEIP=10.0.0.2. Wenn Sie bei Ihrem Provider eine statische IP-Adresse haben, tragen Sie diese bei LOCALIP ein. Bei REMOTEIP tragen Sie die Adresse des Point-to-Point-Partners ein. Diese sollte der Provider wissen. Die meisten Provider teilen jedoch dynamische IP-Adressen zu. Dann können Sie die 10.0.0.1 und .2 dort stehen lassen, es sei denn, Sie verwenden (so wie ich) den Adressbereich 10.0.0.0 schon für Ihr lokales Netzwerk. In diesem Fall müssen Sie die Adressen hier in 192.168.0.1 und .2 ändern. Springen Sie weiter zu den Punkten LOCAL- und REMOTEMSN. Hier tragen Sie zuerst Ihre eigene, dann die Telefonnummer des Providers ein. Das Format der Nummern ergibt sich aus der Vorwahl ohne die führende 0 und der tatsächlichen Rufnummer. Bei mir sieht das also so aus:

LOCALMSN=4313747 
 #wobei die 431 = 0431 für Kiel steht
REMOTEMSN=4312219567

Der letzte Punkt in dieser Datei ist die Zeile isdnctrl huptimeout ${device} 60. Die 60 gibt an, nach wie vielen Sekunden Inaktivität der Rechner von allein auflegen soll. Nach meiner Erfahrung sollten das mindestens 300 Sekunden sein. Die vorletzte Datei, die es zu editieren gilt, ist die /etc/isdn/ipppd.ippp0. Zunächst löschen Sie wieder die Zeile Warning! ... . Danach editieren Sie die Datei so, dass ausschließlich die Optionen noch nicht auskommentiert sind, die in Listing 2 aufgeführt werden.

Nun müssen wir Ihrem System noch sagen, welchen Nameserver es benutzen soll. Dessen IP-Adresse weiß wiederum der Provider. Legen Sie die Datei /etc/resolve.conf an und tragen dort ein:

nameserver -ihre nameserverip

Jetzt sollte Ihr ISDN-System richtig konfiguriert sein. Starten Sie die isdnutils mit /etc/init.d/isdnutils restart erneut. Versuchen Sie doch einmal, einen Rechner zu pingen. Wenn das sSo aussieht wie in Listing 3, dann ist alles OK. Ansonsten ziehen Sie bitte das ISDN-HOWTO [1] zu Rate.

Listing 1: /etc/network/interfaces

Ersetzen Sie im folgenden 10.0.0.1 durch ihre IP, 10.0.0.0 durch Ihre Netzwerkadresse und 255.0.0.0 durch Iihre Netzmaske:

# The loopback interface iface lo inet
loopback
     
     # Nun unsere LAN-Config
     iface eth0 inet static
     address 10.0.0.1
     network 10.0.0.0
     netmask 255.0.0.0

Listing 2: /etc/isdn/ippd.ippp0

Ersetzen Sie -username- durch Ihr Providerlogin.

debug 
lcp-restart 1 
user -username- 
noauth 
nolzs 
noipdefault 
defaultroute 
nohostroute 
mtu 1500 
ipco-accpt-local 
ipcp-accept-remote 
noipx

ipcp-accept local und -remote sind auszukommentieren, wenn Sie eine statische IP-Adresse haben.

IP-Masquerading

Da die Konfiguration des Paketes IPmasq recht kompliziert sein kann, schreiben wir uns ein eigenes Script zum Starten des IP-Masqueradings. Dazu erzeugen wir in /etc/init.d eine Datei mit dem Namen my_ipmasq. Was in dieser Datei stehen sollte, finden Sie in Listing 4. Machen Sie die Datei mit

chmod +x /etc/init.d/ipmasq

ausführbar. Damit das Script beim Booten gestartet wird, müssen wir noch das Script update-rc.d ausführen:

update-rc.d my_ipmasq start 23 2 3 4 5 .  
stop 17 0 1 6 .

Listing 3: Testen des ISDN-Systems

eris:~$ ping -c 3 www.linuxmagazin.de 
PING www.linuxmagazin.de (195.143.20.22): 56 data bytes 
64 bytes from 195.143.20.22: icmp_seq=0 ttl=241 time=304.5 ms 
64 bytes from 195.143.20.22: icmp_seq=1 ttl=241 time=96.8 ms 
64 bytes from 195.143.20.22: icmp_seq=2 ttl=241 time=136.3 ms 
-- www.linuxmagazin.de, ping statistics --  
3 packets transmitted, 3 packets received, 0% packet loss 
round-trip min/avg/max = 96.8/179.0/304.5 ms

Listing 4: /etc/init.d/my_ipmasq

#!/bin/sh 
NETWORK=10.0.0.0 
NETMASK=255.0.0.0 
depmod -a 
/sbin/modprobe ip_masq_irc 
/sbin/modprobe ip_masq_ftp 
/sbin/modprobe ip_masq_raudio 
case "S1" in 
       start) 
       echo "Starting IP Masquerading" 
       echo 1 > /proc/sys/net/ipv4/ip_forward 
       ipchains -A forward -s $NETWORK/$NETMASK -j MASKQ 
       ;; 
       stop) 
       echo "Stopping IP Masquerading" 
       echo 0 > /proc/sys/net/ipv4/ip_forward 
       ;; 
esac 
exit 0

Die 10.0.0.0 ersetzen Sie wie immer durch Ihre Netzwerkadresse, ebenso die Netzmaske.

Proxy-Konfiguration

Als Proxy benutzen wir den beliebten Squid. Nach der Installation des entsprechenden Paketdes fügen Sie der Datei /etc/squid.conf folgende Zeilen hinzu:

acl lan src 10.0.0.0/255.0.0.0
http_access allow lan

Ich muss wohl nicht mehr erwähnen, dass Sie die 10.0.0.0/255.0.0.0 durch Ihre Werte ersetzen müssen. Restarten Sie den Squid mit /etc/init.d/squid restart. Nun kann der Kommunikationsserver allen Rechnern im LAN als Proxyserver dienen. Der Proxy lauscht per Default auf dem Port 3128.

Das Mail-System

Worum geht es hier? Angenommen, Sie haben eine Domain bei einem günstigen Domain+Webspace-Provider wie Strato oder Puretec für wenige Mark im Monat bezogen. Mit Ihren E-Mails sieht es nun folgendermaßen aus: Sie haben eine oder mehrere Mailboxen mit mehreren Aliasen. Ich habe mir zum Beispiel meine Domain (spreen.de) reserviert und dort 10 Mailboxen mit 10 Aliasen pro Mailbox angelegt. Der folgende Abschnitt beschreibt, wie (gesetzt den Fall, dass alle Leute, die eine Mailadresse bei Ihnen haben, in dem LAN hinter Ihrem Kommunikationsserver sitzen) der bis zu diesem Punkt eingerichtete Kommunikationsserver diese Mailboxen verwaltet und Ihnen durch ein wenig Spielerei mit den Programmen sendmail und fetchmail dann eventuell 100 echte Mailboxen zur Verfügung stellt. Das setzt voraus, dass jeder Alias in Ihren Mailboxen auch als User auf dem Kom-Server existiert. Unter Debian können Sie User ganz einfach mit dem Tool adduser anlegen. Beachten Sie: adduser != useradd. (Bei anderen Distributionen ist adduser ein Symlink auf useradd, unter Debian jedoch ein vereinfachendes Script).

Außerdem müssen alle Ihre Mailboxen in eine Mailbox geforwardet werden (das ist in meinem Fall und in den Beispielen die Mailbox mit dem Namen "mail@spreen.de"). Das war eigentlich schon alles, wir können nun zur Konfiguration des internen Mailsystems kommen. Der erste Teil befasst sich mit dem lokalen Empfangen und Verschicken der Mails. Dabei bauen wir uns einen SMTP-Server für unser LAN. Der zweite Teil sorgt dafür, dass der Kommunikationsserver zum POP3- und IMAP-Server für das LAN wird. Ich möchte an dieser Stelle Christian danken, einem guten Freund, der immer da war, wenn es darum ging, kleine Fehler, die sich sowohl in meiner Konfiguration als auch in der Debian-Potato-Testversion 3 eingeschlichen hatten, zu finden.

Listing5: /etc/apt/sources.list

deb ftp://ftp.debian.org/debian potato main contrib non-free 
deb ftp://non-us.debian.org/debian-non-US potato non-US/main non-US/contrib non-US/non-free 
#deb cdrom:[Debian GNU/Linux 2.2 _Potato_ - test-cycle-3 i386 Binary-1 (20000725)]/ unstable contrib main non-US/constrib non-US/main

Listing 6: /etc/mail/sendmail.mc

Ersetzen Sie im folgenden "spreen.de" durch Ihre Domain. "post.strato.de" durch den Mailserver Ihres Domainanbieters.

include(/usr/share/sendmail.cf/m4/cf.m4) 
          OSTYPE(debian)dnl 
          define(SMART_HOST, `esmtp:post.strato.de')dnl    
          FEATURE(nocanonify)dnl  
          FEATURE(masquerade_envelope)dnl 
          FEATURE(allmasquerade)dnl 
          FEATURE(always_all_domain)dnl 
          FEATURE(accept_unresolvable_domains) 
          FEATURE(local_procmail)dnl 
          FEATURE(use_cw_file)dnl 
          Cwspreen.de 
          MAILER(local)dnl 
          MAILER(smtp)dnl 
          MASQUERADE_AS(spreen.de)dnl

Eine ausführliche Beschreibung dieser Optionen findet sich in der Datei/usr/share/doc/sendmail/cf.README.gz.

Konfiguration von Sendmail, Fetchmail, Qpopper und Imapd

Als erstes sollten die Pakete sendmail, procmail und m4 installiert werden. Leider ist sendmail nicht auf der ersten Debian-CD enthalten. Sollten die CDs 2 und 3 nicht in Ihrem Besitz sein, muss Ihre /etc/apt/sources.list verändert werden. Gehen Sie gemäß dem Inhalt aus Listing 5 vor.

Nach dem Ändern der /etc/apt/sources.list müssen Sie einmal apt-get update aufrufen. Apt fragt während der Installation von sendmail einmal, ob wir sendmail jetzt mit seinem Script konfigurieren wollen, darauf wird mit "nein" geantwortet. Nach der Installation der Pakete wechseln Sie in das Verzeichnis /etc/mail/. Hier legen Sie nun eine Datei sendmail.mc an. Den nötigen Inhalt für diese Datei finden Sie in Listing 6.

Als nächstes muss dem Sendmail erzählt werden, wer bei ihm Mails einliefern darf und wer nicht. Das macht man in der Datei /etc/mail/relay-domains. Legen Sie diese also an und tragen Sie zunächst mal localhost ein. Die nächste Zeile ergibt sich aus Ihrer Netzwerkadresse (bei mir 10.0.0.0), allerdings möchte der Sendmail nur die ersten drei Teile davon (bei mir wäre das 10.0.0). Nach Erstellen dieser Datei rufen Sie im Verzeichnis /etc/mail/ das Programm sendmailconfig auf. Die Frage Configure Sendmail with the existing sendmail.mc? beantworten Sie mit "y". Nun können alle Rechner in Ihrem LAN über den Kommunikationsserver Mails verschicken und die Mails, die fetchmail holt, lokal einliefern. Kommen wir nun also zur Konfiguration des fetchmail. Im Verzeichnis /root/ wird die Datei .fetchmailrc angelegt. Sie sollte etwa folgenden Inhalt haben:

poll post.strato.de proto pop3  		 
          localdomains spreen.de 
    user "mail%spreen.de" with password 
    -ihr-passwort- to root * here

"Post.strato.de" müssen Sie natürlich wieder durch den POP3-Server Ihres Domain/Mail-Providers ersetzen, "spreen.de" durch Ihre Domain, "mail%spreen.de" durch Ihren Username auf dem Mailserver und "-ihr-passwort-" durch Ihr Passwort. Mit fetchmail -v; sendmail -q können Sie nun die Mails für Ihre Domain abholen und lokal an die User ausliefern. Gleichzeitig liefert sendmail -q auch die Mails aus, die Sie aus dem LAN oder lokal auf dem Kommunikationsserver an externe E-Mail-Adressen verschickt haben.

Damit Sie nicht per Hand immer nach dem Schreiben einer Mail aus dem LAN diese beiden Befehle ausführen müssen, automatisieren wir dieses. Hierfür erzeugen wir einen Cronjob. Legen Sie irgendwo eine Datei crontab an (am besten im Homeverzeichnis von Root, also /root/). Tragen Sie dort folgendes ein:

01,31 * * * *	/usr/bin/fetchmail -s; /usr/bin/sendmail -q

Führen Sie nun crontab crontab auf der Shell aus. Dieses bewirkt, dass der Kommunikationsserver alle 30 Minuten neue Mails abholt und die Mails wegschickt, die sich in der Zeit angesammelt haben. Sie können jetzt Mails aus dem LAN verschicken und E-Mails lokal auf dem Kommunikationsserver empfangen. Es muss nun noch ein IMAP- und ein POP3-Server aufgesetzt werden, damit die Rechner Ihres LANs auch die Mails vom Kommunikationsserver abholen können. Installieren Sie dazu einfach die Pakete qpopper und imap mit apt. Es trägt diese dann in die /etc/inetd.conf ein und startet sie, das war's! Sie haben ein funktionierendes Mailsystem.

Abb.1
Abb. 1: Das Mailsystem

Listing 7: /etc/nntpcache/nntpcache.servers

der.newsserver.ihres.isps   DEFAULT   4h   2d   2d   30m   60d   60d
     %BeginGroups
     *                     der.newsserver.ihres.isps

Sie müssen natürlich der.newsserver.ihres.isps durch die Adresse des Newsservers Ihres Providers ersetzen.

Das News-System

Wenn viele Menschen aus Ihrem LAN News lesen und dabei womöglich die gleichen Gruppen, dann lohnt es sich, eine Art "Proxyserver für News" einzurichten. Wenn also ein Client aus Ihrem LAN als NNTP-Server Ihren Kommunikationsserver angibt und die Header aus der Newsgruppe kiel.suche bestellt, holt der Kom-Server die Header von dem Newsserver Ihres Providers, speichert sie in seinem Cache für eine gewisse Zeit zwischen und muss sie dann nicht noch einmal über das Internet holen, wenn ein anderer Client aus dem LAN die gleiche Newsgruppe lesen will. Das spart Traffic, Zeit und Geld. Wir setzen dafür das Programm nntp-cache ein. Der letzte Abschnitt unseres Artikels beschäftigt sich also mit der Konfiguration von nntpcache.

Konfiguration des Newssystems mit nntpcache

Wie immer müssen wir zuerst die entsprechende Software installieren. Das Paket heißt "nntpcache". Öffnen Sie nun die Datei /etc/nntpcache/nntpcache.access und kommentieren Sie alle bis auf folgende Zeilen aus:

*	*	deny
localhost	*	read,post,filter spam.filter 
*	*pictures*	deny,strip
*	*binaries*	deny,strip

Nun fügen Sie folgende Zeile hinzu:

10.0.0.*	*	read,post

Diese Datei bestimmt nun, dass niemand außer dem Localhost und dem LAN (Sie müssen die 10.0.0.* durch Ihren Wert ersetzen) vom NNTP-Cache lesen beziehungsweise über ihn posten darf. Außerdem verweigert er die Bestellung von Gruppen, die die Worte "pictures" oder "binaries" im Namen haben.

Dies ist natürlich optional und noch erweiterbar, wenn Sie zum Beispiel verhindern wollen, dass aus dem LAN Gruppen mit dem Thema Sex bestellt werden, fügen Sie die Zeile

*	*sex*	deny,strip

hinzu.

Die nächste Datei enthält viele wichtige Beispiele, auf die einzugehen aber den Rahmen dieses Artikels sprengen würde. Machen Sie sich also eine Kopie, falls Sie sich die Möglichkeit vorbehalten möchten, sich noch etwas intensiver mit der Konfiguration von nntpcache zu beschäftigen.

mv /etc/nntpcache/nntpcache.servers \ /etc/nntpcache/nntpcache.servers-backup

Legen Sie nun eine neue Datei /etc/nntpcache/nntpcache.servers mit dem Inhalt aus Listing 7 an. (uwo)

Infos

[1]Klaus Franken:Deutsche ISDN_HOWTO:http://www.kernelnotes.de/dlhp-html/DE-ISDN-HOWTO.html

Der Autor

David Spreen ist 16 Jahre alt und geht in Kiel zur Schule. In seiner Freizeit arbeitet er für die NetUSEAG. Mit Linux beschäftigt er sich seit etwa 2 Jahren.

Copyright © 2000 Linux New Media AG


Back to the author's homepage