News  |   Buchempfehlungen  |   Links  |   Computerspiele  |   CD-R/DVD±R(W)

FreeBSD  |   NetBSD  |   Linux  |   Kursfahrt 2000  |   Medizinstudium

Schule  |   Über mich  |   Impressum  |   Feedback |   Übersicht

 



 

 

 Übersicht 
 
 Links 
 
 DynDNS-FTP-Server 
 
 IMAP E-Mail-Server 
 
 Sourcen installieren 
 
 Yaps konfigurieren 
 





DynDNS-FTP-Server hinter einem Linux-Router einrichten


Inhalt



Worum geht es überhaupt?

Die Datenmengen werden immer größer, und sehr viele Computerbenutzer haben einen DSL-Zugang zur Verfügung. Was liegt da näher, als die neue bebilderte Beamer-Präsentation oder den Film vom letzten Urlaub über das Internet an Arbeitskollegen oder Freunde zu verteilen?

Bei diesem Vorhaben steht man jedoch schnell vor einem Problem: Wie soll man die großen Datenmengen von einem Computer zum anderen transportieren? Das Medium E-Mail erweist sich dafür als gänzlich ungeeignet. Denn zum einen werden Daten durch die für den E-Mail-Versand nötige Kodierung noch deutlich vergrößert, und zum anderen liegt die maximal erlaubte E-Mail-Größe bei den meisten E-Mail-Providern bei 1-5 MB.
Die Lösung bringt eine Rückbesinnung auf ein vergleichsweise altes Internet-Protokoll, nämlich auf FTP. FTP steht für "File Transfer Protocol". Es handelt sich dabei also um ein Protokoll, das speziell für die Übertragung von Dateien entwickelt wurde. Noch heute existieren zahlreiche FTP-Server im Internet, auf denen z.B. die ISO-Images der aktuellen Linux-Distributionen zum Download bereit liegen.

Diese Anleitung beschreibt die Einrichtung eines lokalen FTP-Servers, wobei ich von folgendem weit-verbreiteten Rechner-Setup ausgehe:
  +----------+      +--------------+      +--------+      +-----------------------+
| Internet |------| Linux-Router |------| Switch |------| Linux-Workstation/LAN |
+----------+ +--------------+ +--------+ +-----------------------+
Da häufig ein relativ alter PC mit kleiner Festplatte als Router zum Einsatz kommt, ist es oft wünschenswert, den FTP-Server auf der eigentlichen Workstation (oder einem "großen" Server im lokalen Netz) zu betreiben. Daher werde ich dieses Vorgehen im folgenden näher beschreiben. Als Grundlage dient Debian Woody.

Hinweis: Soweit nicht anders erwähnt, müssen alle Schritte in dieser Anleitung als Superuser root ausgeführt werden, da es sich um administratorische Arbeiten handelt, die weitreichende Rechte erfordern. Nach Beendigung der Konfiguration darf man aber nicht vergessen, sich wieder als normaler User am System anzumelden!

-> Nach oben


Eingesetzte Software


-> Nach oben


DynDNS sorgt für Erreichbarkeit aus dem Internet

Bei dem im Internet verwendeten Protokoll TCP/IP wird jeder angeschlossene Rechner eindeutig über seine jeweilige IP-Adresse angesprochen. Da es für Menschen deutlich einfacher ist, sich anstelle einer Zahl einen Namen zu merken (also beispielsweise www.heise.de anstelle von 193.99.144.71), existiert der sogenannte Domain Name Service, kurz DNS. Viele DNS-Server, die über das gesamte Internet verteilt sind, geben auf Anfrage die zugehörige numerische IP-Adresse eines solchen DNS-Hostnamens zurück.

Server, die fest ans Internet angebunden sind, besitzen eine sogenannte statische IP-Adresse, die sich im Normalfall nicht ändert. Wer aber keine Standleitung hat, sondern sich über Modem, ISDN oder DSL ins Internet einwählt (Dialup-Zugang), der wird in aller Regel bei jeder Einwahl eine wechselnde, sogenannte dynamische IP-Adresse zugewiesen bekommen. Wie also soll der Freund wissen, unter welcher IP-Adresse man gerade zu erreichen ist?

Die Lösung für dieses Problem sind sogenannte Dynamic-DNS-Dienste, die es erlauben, die Zuordnung von DNS-Hostnamen zu numerischer IP-Adresse jeweils zeitnah zu aktualisieren. Es gibt verschiedene dieser Dienste, die für den privaten Gebrauch häufig kostenlos nutzbar sind. Im folgenden werde ich die Nutzung eines wohl der bekanntesten dieser Dienste, nämlich DynDNS (http://www.dyndns.org) beschreiben.

Zuerst einmal muß man sich bei DynDNS kostenlos anmelden. Das geschieht unter http://www.dyndns.org/account/create.html. Nach der Anmeldung erhält man eine Mail mit einem Bestätigungslink, dem man folgen muß.
Anschließend kann man sich dann unter http://www.dyndns.org/services/dyndns/add.html einloggen und die gewünschte Subdomain nach dem Muster wunschname.dyndns.org auswählen. Als "IP address" wird diejenige IP-Adresse angezeigt, die DynDNS beim Besuch der Seite erkannt hat, es sollte sich dabei um die (dynamische) IP-Adresse handeln, mit der man im Internet unterwegs ist.
In diesem Auswahlfenster sollte man auch die Option "Enable Wildcard" aktivieren. Sie besagt, daß auch die Hostnamen xyz.wunschname.dyndns.org auf die jeweilige IP-Adresse aufgelöst werden - ideal um z.B. ein kleines LAN mit FQDNs (Fully Qualified Domain Names) zu versorgen! Dann noch auf Add Host klicken, und der jeweilige Hostname steht schon mit der von DynDNS festgestellten IP-Adresse für DNS-Abfragen zur Verfügung.
Konkret heißt das in diesem Beispiel, daß jede Anfrage auf wunschname.dyndns.org auf die eigene dynamische IP-Adresse auflöst.

Spätestens bei der nächsten Internet-Einwahl steht man jedoch vor einem Problem: Durch die zwischenzeitliche Verbindungstrennung hat sich die IP-Adresse geändert - wie erfährt DynDNS jetzt davon, daß wunschname.dyndns.org nicht länger auf z.B. 80.133.26.238, sondern jetzt auf 80.133.20.15 verweisen soll?
Damit man sich nicht jedesmal nach der Einwahl bei DynDNS einloggen muß, kann man ein kleines Programm benutzen, daß automatisch die jeweils aktuelle IP-Adresse bei DynDNS einträgt. Es gibt eine Vielzahl solcher Programme, ich habe mich für ddclient entschieden.
Das Programm muß auf dem Router installiert werden. Dazu gibt man einfach den Befehl
  apt-get install ddclient
ein. Das Programm ddclient ist ein Perl-Skript, das für seine Ausführung natürlich eine installierte Perl-Umgebung benötigt. Gegebenenfalls werden also über die Abhängigkeiten des Paketes weitere Pakete nachinstalliert; falls auf dem Rechner Perl noch nicht installiert war, können dies durchaus einige sehr große Pakete sein!
Nach der Installation öffnet sich ein Konfigurationsdialog, den man auch später jederzeit mit dem Befehl dpkg-reconfigure ddclient erneut aufrufen kann. Folgendes ist einzustellen:
  Choose dynamic DNS service provider: 		www.dyndns.org
Your dyndns fully qualified domain names: wunschname.dyndns.org
Username for dynamic DNS service: Benutzername, mit dem man sich registriert hat
Password: Das jeweilige Passwort
Interface used for dynamic DNS service: Das verwendete Interface ist abhängig von der
benutzten Einwahlmethode. Bei Einwahl über Modem
oder DSL ist hier in aller Regel ppp0 einzugeben, bei
ISDN-Einwahl ist es meistens ippp0
Hinweis: Diese Daten werden in der Datei /etc/ddclient.conf gespeichert, darunter auch das Passwort im Klartext. Man sollte daher darauf achten, daß die Standardrechte (nämlich 0600 root:root erhalten bleiben!

In der Datei /etc/default/ddclient wird das genaue Verhalten von ddclient festgelegt. Dort sorgen die Einträge
  run_ipup="true"
run_daemon="false"
dafür, daß ddclient automatisch bei jeder Internet-Einwahl aufgerufen wird und die neue IP-Adresse an DynDNS übermittelt. Ein erfolgreiches Update der IP-Adresse wird von ddclient folgendermaßen im Syslog (/var/log/syslog) vermerkt:
  May  2 11:15:29 pluto ddclient[550]: SUCCESS:  updating wunschname.dyndns.org: 
good: IP address set to 80.133.26.238


Hinweis: DynDNS behält es sich vor, registrierte Hostnamen nach 35 Tagen ohne Update der IP-Adresse aus der Datenbank zu löschen. Man sollte also dafür sorgen, daß der eigene Rechner oft genug online ist, um diese Löschung zu vermeiden!

-> Nach oben


FTP-Proxy auf dem Router leitet alles weiter

Dank DynDNS kann jetzt trotz dynamischer IP-Adresse problemlos auf den Router zugegriffen werden. Aber noch würde ein Zugriffsversuch auf ftp://wunschname.dyndns.org lediglich eine Fehlermeldung liefern, denn noch läuft ja kein FTP-Server.

Da der eigentliche FTP-Server auf einem der Clients im internen Netz laufen soll und nicht auf dem Router, benötigt man auf dem Router ein Programm, das alle Anfragen von "außen" (aus dem Internet) an diesen Client weiterleitet und im Gegenzug auch die Antworten weitergibt. Dazu eignet sich sehr gut das Programm FTP-Proxy, wie der Name auch schon vermuten läßt.
Unter Debian wird es einfach installiert mittels
  apt-get install ftp-proxy
Anschließend muß es noch konfiguriert werden. Dies geschieht in der Datei /etc/ftp-proxy.conf. Wichtig ist vor allem die Angabe, auf welchen Rechner eingehende Verbindungen von außen weitergeleitet werden sollen, d.h. auf welchem Rechner der "eigentliche" FTP-Server läuft. Dazu dient der Eintrag
  DestinationAddress      192.168.1.6
(Die IP-Adresse muß natürlich entsprechend angepaßt werden.) Weiterhin sinnvoll:
  Port                    ftp
ServerType standalone

Da es sich um einen aus dem Internet zugänglichen Dienst handelt, sollte man auf keinen Fall das Loggen von Zugriffen vergessen. Die dafür zuständige Datei kann ebenfalls in /etc/ftp-proxy festgelegt werden:
  LogDestination  /var/log/ftp-proxy/ftp-proxy.log
Das Verzeichnis /var/log/ftp-proxy muß natürlich vorher mittels
  mkdir /var/log/ftp-proxy
angelegt worden sein. Damit die Logdatei von FTP-Proxy nicht irgendwann überläuft, kann man Logrotate dazu nutzen, um diese Datei in regelmäßen Abständen zu archivieren und zu löschen.
Dazu legt man einfach eine neue Datei /etc/logrotate.d/ftp-proxy an, die folgenden Inhalt besitzt:
  /var/log/ftp-proxy/ftp-proxy.log {
weekly
rotate 5
compress
missingok
}
(Logrotate gehört eigentlich zur Debian-Standardinstallation. Sollte es einmal nicht installiert sein, hilft ein apt-get install logrotate).

Da ein aus dem Internet erreichbarer Dienst immer ein potentielles Sicherheitsrisiko darstellt, ist es sinnvoll, daß FTP-Proxy nur dann läuft, wenn man auch Dateien im Internet zur Verfügung stellen möchte. Beispielsweise kann man FTP-Proxy wieder stoppen, wenn der Arbeitskollege die Präsentation heruntergeladen hat.

Eine einfache Möglichkeit um das Starten von Diensten zu verwalten, ist das Programm rcconf. Wie immer unter Debian installiert man es durch ein
  apt-get install rcconf
Danach kann man es durch den Befehl rcconf aufrufen. Die Bedienung ist sehr simpel: Mittels der Pfeiltasten wählt man einen Dienst aus und kann dann mit der Leertaste entscheiden, ob er gestartet werden soll (Markierung mit "[*]") oder nicht. Anschließend werden - je nach Auswahl - die entsprechenden Start- und Stop-Links unter /etc/rc?.d angelegt bzw. gelöscht. Auf diese Weise kann man elegant unterbinden, daß z.B. FTP-Proxy beim nächsten Systemstart gestartet wird.
Alle diese Änderungen werden natürlich erst beim nächsten Runlevel-Wechsel bzw. Neustart des Systems wirksam. Da man ein Linux-System ja bekanntlich selten neu booten muß, sollte man daher den aktuell laufenden Prozeß mit einem
  /etc/init.d/ftp-proxy stop
per Hand beenden.

Natürlich ist die Anwendung von rcconf nicht auf FTP-Proxy beschränkt, sondern es kann auch für alle anderen Serverdienste genutzt werden, die nur temporär benötigt werden!

Abschließend möchte ich noch kurz auf eine weitergehende Nutzung von FTP-Proxy eingehen, die über die eingangs beschriebene Situation hinausgeht: Den Betrieb mehrerer FTP-Server im internen Netz, die alle aus dem Internet zugänglich sein sollen.
Eine Beispielskizze dazu:
  +----------+      +--------------+      +--------+      +--------------+
| Internet |------| Linux-Router |------| Switch |------| FTP-Server 1 |
| | | 192.168.1.1 | | | | 192.168.1.6 |
+----------+ +--------------+ +---+----+ +--------------+
|
| +--------------+
+-----------| FTP-Server 2 |
| 192.168.1.4 |
+--------------+

In diesem Beispiel existieren also im internen Netz zwei FTP-Server mit den internen IP-Adressen 192.168.1.6 und 192.168.1.4. In der weiter oben beschriebenen Konfiguration von FTP-Proxy wird jede FTP-Anfrage aus dem Internet auf den FTP-Server 1 (192.168.1.6) weitergeleitet. FTP-Proxy erlaubt es aber auch, daß in der Anfrage aus dem Internet explizit angegeben werden kann, auf welchen internen FTP-Server zugegriffen werden soll. Dazu sind folgende Einträge in der Datei /etc/ftp-proxy.conf nötig:
  AllowMagicUser  yes
UseMagicChar %
Jetzt kann der Zielserver im Benutzernamen folgendermaßen angegeben werden:
  Benutzername%Zielserver
Achtung: Benutzt man die Kurzschreibweise ftp://Benutzername@Hostname (also z.B. ftp://michael@wunschname.dyndns.org) im Browser, so muß man das % durch ein %25 ersetzen! Die entsprechende URL könnte also folgendermaßen aussehen:
  ftp://michael%25192.168.1.4@wunschname.dyndns.org
Damit loggt sich der Benutzer michael über FTP auf dem internen Server 192.168.1.4 ein, der über den Gateway wunschname.dyndns.org im Internet zugänglich ist. Mit folgenden beiden Befehlen landet man hingegen auf dem FTP-Server des internen Rechners 192.168.1.6:
  ftp://michael@wunschname.dyndns.org
ftp://michael%25192.168.1.1@wunschname.dyndns.org
Die erste Zeile funktioniert, da FTP-Proxy ja - wie weiter oben eingestellt - jede eingehende FTP-Anfrage nach 192.168.1.6 weiterleitet.
Hinweis: Möchte man nicht nur den Benutzernamen sondern auch das Passwort in der URL übermitteln, so dient dazu folgende Syntax:
  ftp://Username:Passwort@wunschname.dyndns.org
ftp://Username%25InternerServer:Passwort@wunschname.dyndns.org


-> Nach oben


Pure-FTPd als eigentlichen FTP-Server einrichten

Nachdem jetzt die erforderliche Vorarbeit auf dem Router geleistet ist, gilt es "nur" noch den eigentlichen FTP-Server einzurichten. Die Auswahl an Software ist groß, verbreitet sind z.B. der ProFTPd und der Wu-FTPd. Diese Programme sind allerdings nicht nur für die Vielfalt ihrer Möglichkeiten, sondern leider auch für die Vielzahl ihrer Sicherheitslücken bekannt. Ebenfalls sehr leistungsfähig, aber bislang in Sicherheitsfragen noch nicht unangenehm aufgefallen ist Pure-FTPd, der auch in diesem Beispiel installiert werden soll.

Leider ist Pure-FTPd noch nicht in Debian Woody enthalten. Es existieren allerdings Backports des aktuellen Pure-FTPd für Debian Woody.
Achtung: Debian "Stable" bedeutet, daß die einzelnen Pakete und ihr Zusammenspiel von vielen Benutzern über einen längeren Zeitraum getestet und für stabil befunden wurden. Installiert man Backports, so ist diese Stabilität unter Umständen nicht mehr gewährleistet. Abstürze, ein "seltsames" Reagieren des Systems oder auch Probleme beim Upgrade auf das nächste Debian-Release sind nicht auszuschließen. Insbesondere weniger erfahrene (Debian-)Newbies oder Betreiber von Produktiv-Servern sollten daher überlegen, ob sie wirklich einen Backport installieren wollen.
Die Debian-Backports sind im allgemeinen aber von sehr guter Qualität und werden meist auch von den Maintainern der Pakete erzeugt. Ich selbst habe mit den Debian-Backports noch keinerlei negative Erfahrungen gemacht und halte sie für stabiler als so manche Releases anderer Linux-Distributionen. Trotzdem sollte jeder erst nach reiflicher Überlegung die Entscheidung für oder gegen einen Backport treffen!

Zur Installation des Pure-FTPd-Backports ist folgender zusätzliche Eintrag in der Datei /etc/apt/sources.list nötig:
  deb http://www.ecology.uni-kiel.de/mirrors/debian/backports.org/debian stable pure-ftpd
Neben dem genannten existieren noch einige weitere Mirrors. Eine Liste aller Backport-Mirrors findet sich unter http://www.backports.org/mirrors.html.

Entscheidet man sich trotz des Backports für Pure-FTPd, so wird er folgendermaßen installiert:
  apt-get update
apt-get install pure-ftpd
Der Start von Pure-FTPd erfolgt über den Inetd, der von Debian automatisch entsprechend konfiguriert werden sollte. Dabei wird folgende Zeile der Datei /etc/inetd.conf hinzugefügt:
  ftp     stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
Durch einfaches Auskommentieren dieser Zeile mit einer Raute kann man den Start von Pure-FTPd verhindern, sollte einmal kein Bedarf an FTP-Serverdiensten bestehen.
In der Datei /etc/default/pure-ftpd-common sollte außerdem stehen:
  STANDALONE_OR_INETD=inetd


Pure-FTPd wird eigentlich nur über Kommandozeilenparameter gesteuert. Debian geht an dieser Stelle aber (wieder einmal) einen etwas anderen Weg, der in man pure-ftpd-wrapper genauer beschrieben ist. Vereinfacht gesagt wird dabei für jede Kommandozeilenoption eine Datei unter /etc/pure-ftpd/conf/ angelegt, die den Langnamen (GNU Style) dieses Kommandozeilenparameters trägt. In dieser Datei steht dann Yes oder No, um diese Option ein- bzw. auszuschalten. Bei manchen Optionen, z.B. bei Limitangaben, kann auch ein Zahlenwert in der dazugehörigen Datei stehen.

Vor der Konfiguration des FTP-Servers muß man sich eine grundlegende Frage stellen: Wer soll alles darauf zugreifen dürfen? Grundsätzlich gibt es zwei Möglichkeiten, man kann entweder anonymes FTP anbieten (also für jeden offen) oder eine Anmeldung per Benutzername und Passwort verlangen.
Im folgenden soll die Einrichtung eines Servers beschrieben werden, der folgende Anforderungen erfüllt:
  • kein anonymes FTP
  • keine Anmeldung für (administrative) Systembenutzer (insbesondere root) ("normale" Benutzer haben bei Debian UIDs ab 1000)
  • CHROOT für alle Benutzer (d.h. sie landen beim Zugriff über FTP in ihrem Home-Verzeichnis und können von dort aus auch nicht weiter nach "oben" im Verzeichnisbaum wechseln)
  • Uploads sind nur möglich, wenn weniger als 90% des Speicherplatzes belegt sind
  • Loggen aller Zugriffe in die Datei /var/log/pure-ftpd/transfer.log
Dieses Ziel erreicht man folgendermaßen:
  echo "Yes" > /etc/pure-ftpd/conf/NoAnonymous
echo "1000" > /etc/pure-ftpd/conf/MinUID
echo "Yes" > /etc/pure-ftpd/conf/ChrootEveryone
echo "90" > /etc/pure-ftpd/conf/MaxDiskUsage
echo "No" > /etc/pure-ftpd/conf/VerboseLog
echo "clf:/var/log/pure-ftpd/transfer.log" > /etc/pure-ftpd/conf/AltLog
Würde man Pure-FTPd über die Kommandozeile starten, entspräche das folgender Kommandozeile:
  pure-ftpd -E -u 1000 -A -k 90 -O clf:/var/log/pure-ftpd/transfer.og -B
(Das angehängte -B sorgt beim Start von der Kommandozeile dafür, daß Pure-FTPd als Daemon im Hintergrund gestartet wird; diese Option ist beim Start über den Inetd natürlich nicht nötig.)

Soll sich ein Benutzer nicht über FTP einloggen können, so fügt man einfach seinen Namen in der Datei /etc/ftpusers hinzu. Sollen sich die Systemuser und der User michael nicht per FTP einloggen können, könnte die Datei also folgendermaßen aussehen:
  # /etc/ftpusers: list of users disallowed FTP access.
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
majordom
postgres
www-data
backup
msql
operator
list
irc
nobody
michael


Möchte man - aus welchen Gründen auch immer - doch anonymes FTP zur Verfügung stellen, so ist das auch nicht sonderlich schwer. Wer sich als anonymous einloggt, der wird das Home-Verzeichnis des dafür vorgesehenen Benutzers ftp zu sehen bekommen. Also mußssen Verzeichnis und User ersteinmal angelegt werden (Befehle mit entsprechenden Rückmeldungen):
  saturn:~# mkdir /home/ftp
saturn:~# addgroup --system ftp
Adding group ftp (104)...
Done.
saturn:~# adduser --system --no-create-home --gecos "FTP user" --disabled-password ftp
Adding system user ftp...
Adding new user ftp (105) with group nogroup.
Not creating home directory.
saturn:~# chown 105:104 /home/ftp
(Die Werte für User-ID und Group-ID (im Beispiel 105 bzw. 104) müssen natürlich an das jeweilige System angepaßt werden!)
Damit anonymes FTP funktioniert, muß nun noch eine weiter oben getroffene Einstellung geändert werden:
  echo "No" > /etc/pure-ftpd/conf/NoAnonymous
Dies bewirkt, daß sich auch anonyme Nutzer als anonymous oder ftp einloggen können.
Aus Sicherheitsgründen sind bei anonymem FTP die folgenden Optionen empfehlenswert:
  echo "Yes" > /etc/pure-ftpd/conf/AnonymousCantUpload
echo "No" > /etc/pure-ftpd/conf/AnonymousCanCreateDirs
echo "Yes" > /etc/pure-ftpd/conf/AntiWarez
echo "No" > /etc/pure-ftpd/conf/AllowAnonymousFXP
echo "No" > /etc/pure-ftpd/conf/AllowUserFXP
echo "Yes" > /etc/pure-ftpd/conf/CustomerProof
Diese Optionen verhindern, daß anonyme User Dateien hochladen, Unterverzeichnisse erstellen oder Dateien herunterladen die dem Benutzer FTP gehören (also vom Administrator noch nicht gesehen worden sind). Letzteres sollte eigentlich Dank der ersten beiden Optionen sowieso nicht möglich sein, aber vielleicht möchte ja der eine oder andere auch anonymen FTP-Usern einen Upload ermöglichen - dann sollte man die Option AntiWarez keinesfalls vergessen!
FXP ist eine Art FTP zwischen Servern, nicht unbedingt sicher und in den meisten Fällen völlig unnötig. Deshalb wird es an dieser Stelle deaktiviert.
Die letzte Option schließlich dient zum "Eigenschutz" der User, hiermit sollen häufige Bedienfehler verhindert werden. Dazu zählt beispielsweise, daß man sich die Rechte für die eigenen Dateien entzieht. Generell zu empfehlen!

In dieser Anleitung bin ich davon ausgegangen, daß jeder User, der über FTP zugreifen soll, im System angelegt sein muß. Darüber hinaus besteht aber auch die Möglichkeit, mit sogenannten "Virtuellen Usern" zu arbeiten, d.h. Usern, die nur in der Datenbank des FTP-Servers existieren. Darauf näher einzugehen, würde aber den Rahmen dieser Anleitung sprengen. Ich verweise daher auf die guten Ausführungen, die zu diesem Thema unter http://www.x-fish.org/tux_pureftpd02.html#virtual zu finden sind.

-> Nach oben


Quellen und weiterführende Links


-> Nach oben



Nach oben


 





Valid CSS!

 
Zähler  Zugriffe auf diese Seite

   Letzte Änderung: 31.5.2004 by Hans-Michael Gerhards (HM-Gerhards@gmx.de)