Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
Über die Autoren
Über dieses Buch
Linux vs. BSD
1 Der Kernel
2 Die Grundlagen aus Anwendersicht
3 Die Shell
4 Reguläre Ausdrücke
5 Tools zur Dateibearbeitung
6 Die Editoren
7 Shellskriptprogrammierung
8 Benutzerverwaltung
9 Grundlegende Verwaltungsaufgaben
10 Netzwerk-Grundlagen
11 Anwendersoftware für das Netzwerk
12 Netzwerkdienste
13 Mailserver unter Linux
14 LAMP
15 DNS-Server
16 Secure Shell
17 Die grafische Oberfläche
18 Window-Manager und Desktops
19 X11-Programme
20 Multimedia und Spiele
21 Softwareentwicklung
22 Crashkurs in C und Perl
23 Sicherheit
24 Prozesse und IPC
25 Bootstrap und Shutdown
26 Dateisysteme
27 Virtualisierung und Emulatoren
A Die Installation
B Lösungen zu den einzelnen Aufgaben
C Kommandoreferenz
D X11-InputDevices
E MBR
F Die Buch-DVDs
G Glossar
H Literatur

Download:
- ZIP, ca. 6,3 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Linux von Johannes Plötner, Steffen Wendzel
Das distributionsunabhängige Handbuch
Buch: Linux

Linux
2., aktualisierte und erweiterte Auflage
1119 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1090-4
gp 10 Netzwerk-Grundlagen
  gp 10.1 Grundlegendes zu TCP/IP
    gp 10.1.1 Network-Access-Layer
    gp 10.1.2 Internet-Layer
    gp 10.1.3 Transport-Layer
    gp 10.1.4 Application-Layer
  gp 10.2 Grundlegendes Netzwerk-Setup
    gp 10.2.1 Hostname setzen
    gp 10.2.2 Netzwerkadressen für alle
    gp 10.2.3 Wireless LAN
    gp 10.2.4 DHCP
    gp 10.2.5 /etc/hosts
    gp 10.2.6 /etc/networks
    gp 10.2.7 /etc/resolv.conf
    gp 10.2.8 Nun gibt es aber ein Problem ...
    gp 10.2.9 Windows und Namensauflösung
  gp 10.3 Grundlagen des Routings
    gp 10.3.1 Routing-Administration: route
    gp 10.3.2 Router aufsetzen
  gp 10.4 Netzwerkverbindungen
    gp 10.4.1 Datenaufkommen von Schnittstellen
    gp 10.4.2 Protokollstatistiken
    gp 10.4.3 Aktive TCP-Verbindungen
    gp 10.4.4 Listen-Ports
    gp 10.4.5 ARP-Cache
    gp 10.4.6 tcpdump
  gp 10.5 Mit Linux ins Internet
    gp 10.5.1 Das Point-to-Point Protocol
    gp 10.5.2 Einwahl mit einem Modem
    gp 10.5.3 Einwahl über DSL
  gp 10.6 Zusammenfassung
  gp 10.7 Aufgaben


Galileo Computing

10.5 Mit Linux ins Internet  downtop

Wenn man mit Linux ins Internet will, ist man mit anderen Gegebenheiten konfrontiert, als wenn man ein lokales Netzwerk aufbauen möchte. So verkabelt man nicht selbst mehrere Rechner miteinander, sondern verbindet sich mit einem Provider.

Dieser Provider stellt dann den Internetzugang zur Verfügung.

So eine Verbindung stellt man im Allgemeinen durch eine Punkt-zu-Punkt-Verbindung über die Telefonleitung her. Dazu benötigt man je nach Anschluss ein analoges Modem, eine ISDN-Karte oder ein DSL-Modem. Mit diesen Geräten können Sie dann das Medium »Kupferkabel« überwinden und Ihre Daten zum Provider senden, der sie dann ins Internet routet.

Komfortabel?

Mittlerweile gibt es zum Einrichten dieser Punkt-zu-Punkt-Verbindungen auch unter Linux komfortable grafische Tools wie zum Beispiel kppp. Auch wenn diese Programme Sie vor technischen Details weitestgehend schützen, finden wir es trotzdem wichtig, dass Sie über den technischen Hintergrund Bescheid wissen.

Abbildung 10.3    Einfache Konfiguration mit kppp: Einrichten-Dialog


Galileo Computing

10.5.1 Das Point-to-Point Protocol  downtop

... aber zuerst die Grundlagen!

Zu den Grundlagen gehört das Point-to-Point Protocol. Mit diesem Protokoll kann man, wie der Name schon sagt, Verbindungen von einem Punkt zu einem anderen aufbauen – also zum Beispiel von Ihrem Rechner zu Hause per Modem über die Telefonleitung zu Ihrem Provider. Aber betrachten wir zuerst einmal die pure Theorie.

Das Point-to-Point Protocol (PPP) ist die Grundlage moderner Datenkommunikation für Internetverbindungen über serielle Leitungen. Dieses Protokoll ist verbindungsorientiert und schafft damit überhaupt erst einmal die Grundlage dafür, dass Ihr Internetprovider zeitbezogen abrechnen kann.

Eine PPP-Verbindung wird jeweils zwischen zwei Rechnern (Points) eingerichtet. Bei der Übertragung von Daten auf einer seriellen Leitung werden die Internet-Pakete, also die IP-Datagramme, in den Datenbereich der PPP-Datenpakete eingebettet.

Die so verpackten Pakete werden von Ihrem Rechner an den sogenannten Peer-Host, beispielsweise den Einwahlrechner Ihres Internet-Service-Providers (zum Beispiel T-Online), weitergeleitet. Dieser Rechner entpackt die PPP-Pakete und leitet die IP-Datagramme schließlich ins Internet.

Authentifizierung via PPP

Damit PPP zumindest halbwegs sicher ist, wird in der Regel eine Benutzerauthentifizierung verwendet. Mit anderen Worten: Sie können sich nur mit gültigem Benutzernamen und dazugehörigem Passwort über die PPP-Verbindung einwählen. Fast jeder Provider bietet so etwas an, beziehungsweise es gibt kaum einen mehr, der diesen Mechanismus außen vor lässt. Leider ist diese Einwahl keineswegs trivial, und daher sollten Sie wissen, was da vor sich geht. Das PPP stellt jedenfalls zwei Mechanismen zur Authentifizierung zur Verfügung: PAP und CHAP.

PAP

PAP (Password Authentification Protocol) ist eine sehr rudimentäre Möglichkeit, einen Passwortschutz abzuwickeln. Hierbei werden die Passwörter tatsächlich noch unverschlüsselt im Klartext übermittelt.

Nachdem LCP (das Link Control Protocol) eine Verbindung aufgebaut hat, übermittelt PAP die Authentifizierungsdaten. Das PAP-Paket wird dabei konsequenterweise in ein PPP-Paket eingebettet und kennt eigentlich nur drei Typen: Zunächst wird die Authentifizierung gesendet (authentification request), dann folgt eine Antwort: entweder die Bestätigung (auth. ack) oder eine Zurückweisung (auth. nak).

CHAP

CHAP (Challenge Handshake Authentification Protocol) bietet gegenüber PAP etwas mehr Sicherheit. CHAP verwendet alle Passwörter nur ein einziges Mal und bietet zusätzlich zu diesem Feature noch die Verschlüsselung über einen sogenannten Falltür-Algorithmus. Wie PPP wird auch CHAP über LCP übertragen, besteht aber aus vier möglichen Pakettypen: aus der Anforderung zur Authentifizierung, aus der Antwort darauf, und aus einer Erfolgsmeldung bzw. aus einer Meldung über einen misslungenen Versuch.

Sofern Sie mehr über dieses Thema erfahren möchten, sollten Sie das Buch [Lloyd92A] lesen.

PPP unter Linux

Wie stellt man nun eine Internetverbindung her, und das möglichst, ohne sich zu sehr mit PPP beschäftigen zu müssen?

Genau diese Problemstellung möchten wir an dieser Stelle zu lösen versuchen. Ganz ohne PPP-Hintergrundwissen wird es nicht gelingen, aber einen Kurzeinstieg gab es ja bereits.

Der Kernel muss mitspielen

Der Kernel muss, damit PPP überhaupt läuft, mit der Option »PPP (point- to-point) support« übersetzt werden. Im Normalfall ist bereits im Standard-Kernel der Distribution, die entsprechende Unterstützung vorhanden. Falls dies nicht der Fall ist, sollte der Kernel erneut mit angepassten Optionen übersetzt werden.

Und dann wäre da noch ...

Zusätzlich wird der – in der Regel ebenfalls auf jedem System vorhandene – PPP-Dämon benötigt. Dieser wird aufgerufen, um eine Verbindung mit dem Einwahlrechner herzustellen und die Kommunikation bis zum Ende der Verbindung zu leiten. Genau diesen Dämon müssen wir nun konfigurieren.

Der pppd kann sowohl als Server als auch als Client für PPP-Verbindungen eingesetzt werden. Hinzu kommt die hier wohl am wichtigsten erscheinende Unterstützung für Wählverbindungen und permanente Verbindungen zwischen zwei Rechnern.

Zuerst wollen wir den pppd für eine simple permanente Verbindung aufrufen. Dabei werden die zu verwendende Schnittstelle, also die serielle Leitung, an der beispielsweise ein Nullmodemkabel hängt, deren Übertragungsrate sowie die eventuellen Optionen angegeben:

// Syntax: pppd [Gerät] [Geschwindigkeit] [Optionen] 
# pppd /dev/ttyS0 57600 crtscts defaultroute 
192.168.4.1:192.168.4.2

Listing 10.39    pppd aufrufen

Im obigen Beispiel wird die erste serielle Schnittstelle (unter DOS COM1) verwendet, um eine 56 KBit/s schnelle Verbindung herzustellen. crtscts aktiviert die Flusskontrolle, und defaultroute legt, sofern keine andere Standardroute vorhanden ist, diesen Link als Standardroute fest. Mit einem Nullmodemkabel und einem pppd auf beiden Rechnern hätte man nun schon eine Punkt-zu-Punkt-Verbindung.


Galileo Computing

10.5.2 Einwahl mit einem Modem  downtop

Für eine Einwahlverbindung via Modem werden erst einmal einige Daten benötigt, die Sie von Ihrem Provider bekommen haben.

Zumindest sollte das passiert sein, als Sie den Internetanschluss angemeldet haben. Falls Ihnen einige dieser Daten fehlen, fragen Sie doch einfach nach.

  • Einwahlnummer
  • Damit pppd weiß, mit welchem Rechner eine Verbindung aufgebaut werden kann, wird eine Einwahlnummer benötigt.
  • DNS-Server
  • Um Namen von Netzwerkrechnern in IP-Adressen aufzulösen, wird, wie Sie bereits wissen, ein DNS-Server benötigt. Es muss geklärt werden, welche IP-Adresse die DNS-Server des Providers haben. Jeder Provider sollte mindestens zwei DNS-Server haben.
  • Anmeldung
  • Die Anmeldung am Server erfolgt entweder ohne Passwort oder aber mit PAP bzw. CHAP.
  • Anmeldedaten
  • Wenn mit PAP beziehungsweise CHAP gearbeitet wird, benötigt man einen Account, also den Benutzernamen und das zugehörige Passwort.
  • Adresszuweisung
  • Erfolgt die Zuweisung der IP-Adresse automatisch, oder verfügen Sie über eine statische Adresse? Wenn eine statische Adresse verwendet wird, wie sieht dann die Netzwerkmaske aus?

Sofern alle obigen Informationen bereitstehen, können wir uns mit der Grundkonfiguration beschäftigen. Diese Konfiguration wird über PPP-Optionen festgelegt, die entweder direkt beim Aufruf von pppd übergeben oder in der Datei /etc/ppp/options abgelegt werden können. Letzteres ist die praktischere Methode.

Da es eine große Anzahl von PPP-Optionen gibt, werden wir an dieser Stelle nur die wichtigsten erläutern.

  • noipdefault
  • Diese Option bewirkt, dass der Client eine dynamische IP-Adresse verwendet.
  • ipcp-accept-local / ipcp-accept-remote
  • Hier wird die lokale Adresse für den Client vom Server empfangen und die Adresse des Servers als Peer akzeptiert.
  • defaultroute
  • Sofern keine Standardroute gesetzt ist, wird die PPP-Verbindung als solche eingerichtet.
  • a.b.c.d:w.x.y.z
  • Diese beiden Kombinationen aus jeweils vier Zeichen(ketten) sollen eine IP-Adresse abbilden. Die erste ist die Client-Adresse, die zweite die des Servers. Bei Verwendung von statischen Adressen sollte dieser Parameter beim pppd-Aufruf verwendet werden. Es sind auch folgende Modifikationen möglich: 1.2.3.4: weist nur dem Client eine statische Adresse zu, und :1.2.3.4 verwendet nur für den Server eine statische Adresse.
  • auth
  • Es soll ein Protokoll zur Authentifizierung verwendet werden.
  • +/–chap
  • (De)aktiviert die Verwendung des CHAP-Protokolls.
  • +/–pap
  • (De)aktiviert die Verwendung des PAP-Protokolls.
  • connect <Skript>
  • Ruft ein Connect-Skript auf.
  • disconnect <Skript>
  • Ruft ein Disconnect-Skript auf.
  • (-)crtscts
  • (De)aktiviert die Hardware-Flusssteuerung.
  • lock
  • Diese Option weist pppd an, das verwendete Gerät zu locken, das heißt, für den exklusiven Zugriff zu sperren. Kein anderer Prozess kann darauf zugreifen, solange es in Verwendung ist.

Okay, schreiten wir nun zur Tat, und erstellen wir eine eigene Optionsdatei mit einem beliebigen Editor. Die Beispieldatei für ein Standardmodem und die Einwahl bei einem fiktiven Serviceprovider sieht folgendermaßen aus:

# Verwende die erste serielle Schnittstelle, weil 
# dort das Modem angeschlossen ist. 
/dev/ttyS0 
 
# Die Übertragungsrate ist 57600 Bit/s 
57600 
 
# Flusskontrolle aktivieren und Schnittstelle 
# für andere Prozesse sperren 
crtscts 
lock 
 
# Keine eigene IP-Adresse verwenden – wir 
# bekommen sie vom Provider 
noipdefault 
 
# Nach der Einwahl eine neue Standardroute setzen 
defaultroute 
 
# alle 10 Sekunden ein Testpaket schicken und maximal 
# 5 Fehlversuche dulden 
lcp-echo-interval 10 
lcp-echo-failure 5 
 
# Als Benutzer Kunde0184 anmelden. Achtung: Dies 
# sollte auskommentiert werden, sofern die Anmeldung 
# via 'chat' (s. weiter unten) erfolgen soll. 
user Kunde0184

Listing 10.40    Beispiel für eine Optionsdatei

Chat-Skript

Kommen wir nun zum eigentlichen Einwahlvorgang. Dieser wird über ein sogenanntes chat-Skript abgewickelt. <Es gibt auch andere Möglichkeiten, etwa die Verwendung eines dip-Skripts.> Bevor wir Sie nun mit den Details und Mythen der chat-Skripts plagen, verfolgen wir doch lieber das Prinzip Learning by doing und erläutern anhand eines Beispiels die Funktionsweise von chat.

TIMEOUT 30 
ABORT "NO CARRIER" 
ABORT BUSY 
ABORT "NO DIALTONE" 
ABORT ERROR 
 
'' +++ATZ 
 
OK ATDT1234567890 
CONNECT "" 
 
# Für den Fall, dass der Login über das Chat-Skript 
# und nicht etwa über chap erfolgen soll, kann nun 
# an dieser Stelle der Login vollzogen werden. 
# Im fortlaufenden Beispiel werden wir allerdings 
# die meist gebräuchliche PAP-Authentifizierung 
# verwenden. 
 
ogin> Kunde0815 
assword> DasPassWort

Listing 10.41    Das Beispielskript dial.chat

Zunächst wird mit dem Befehl TIMEOUT eine Wartezeit festgelegt. Innerhalb von 30 Sekunden muss der nächste String empfangen werden. Wird »NO CARRIER« oder »NO DIALTONE« empfangen, wird abgebrochen. Gleiches gilt, wenn die Leitung besetzt ist (»BUSY«) oder wenn ein Fehler (»ERROR«) auftrat.

Nachdem der String »« – also nichts – empfangen wurde, wird das Modem zurückgesetzt.

Nachdem der »OK«-Prompt des Modems empfangen wurde, wird die Verbindung über den Befehl »ATDT« zur Einwahlnummer 1234567890 aufgebaut.

Sobald der String »CONNECT« empfangen wurde (was bedeutet, dass die Verbindung zunächst einmal steht), wird zwei Sekunden lang gewartet (»\d\d«) und darauf ein Zeilenvorschub gesendet. Daraufhin sollte der String »Login>« oder auch »login« empfangen werden. Um nicht mit der Schreibweise in Konflikt zu geraten, werden nur die letzten Zeichen geprüft, und der Benutzername wird gesendet. Gleiches gilt für das Passwort.

Sofern obiges Beispiel ohne Verwendung von PAP für Ihren Provider genügt, kann nun bereits eine Testverbindung aufgebaut werden. Dazu muss pppd mit dem chat-Skript verwendet werden.

# pppd connect "/usr/sbin/chat -v -f /etc/dial.chat"

Listing 10.42    Die Testverbindung

Damit jeder Benutzer pppd verwenden kann (was sicherheitstechnisch nicht sehr ratsam ist), kann das SetUID-Bit für das Kommando gesetzt werden.

Verbindungstest

Mit einem simplen ping kann nun die Erreichbarkeit eines Internethosts getestet werden – unter der Voraussetzung, dass DNS konfiguriert wurde. Läuft etwas schief, sollte die Datei /var/log/messages weiterführende Fehlermeldungen enthalten.

PAP verwenden

Sehen wir nun einmal vom direkten Login via Chat ab, und verwenden wir die PAP-Authentifizierung. Dazu können die Login-Zeilen aus dem obigen dial.chat-Skript entfernt werden.

Stattdessen wird eine Datei namens /etc/ppp/pap-secrets angelegt, in die nun die Anmeldedaten in der Form Benutzername * Passwort eingetragen werden. Der Stern bedeutet, dass die Kennung für alle Einwahlserver gültig ist. Andere Konfigurationen kommen so gut wie gar nicht vor.

Kunde0184 * 389wefn3utn 
Kunde1085 * 049jgenwlkr

Listing 10.43    Die Datei pap--secrets

Der Einwahltest

Sofern alles richtig konfiguriert wurde, sollte dem erfolgreichen Verbindungsaufbau nichts mehr im Wege stehen. Eine Verbindung sollte mittels folgender Kommandos aufgebaut bzw. wieder beendet werden können:

# pppd connect "/usr/sbin/chat -v -f /etc/dial.chat" 
… 
// Wir sind im Netz! 
… 
# kill -INT `cat /var/run/ppp0.pid` 
…

Listing 10.44    Verbindungsauf- bzw. -abbau

Im Verzeichnis /etc/ppp können die Skripts ip-down und ip-up platziert werden. Diese Shellskripts können Kommandos enthalten, die beim Einwählen (up) bzw. bei der Verbindungstrennung (down) ausgeführt werden sollen.

Wie man unter den einzelnen BSD-Derivaten via Modem ins Internet gelangt, wird hervorragend in den jeweiligen Online-Dokumentationen der Derivate beschrieben. Unter OpenBSD erledigt man die Einwahl über ppp (wahlweise auch pppd, das ist aber etwas komplizierter) mit der Online-FAQ, Kapitel 6 »Networking«, binnen fünf Minuten.


Galileo Computing

10.5.3 Einwahl über DSL  toptop

Auch bei DSL gibt es keine Zauberei. Da dort ebenfalls PPP genutzt wird, müssen wir eigentlich nichts mehr erklären.

Aber wie es das Wort »eigentlich« schon andeutet, ist nicht immer alles so selbstverständlich, wie man sich das eigentlich gedacht hat.

DSL nutzt nämlich eine besondere PPP-Variante: PPPoE, PPP over Ethernet. Das ist deswegen nötig, da eine verbindungsorientierte Kommunikation über ein paketorientiertes und damit eigentlich verbindungsloses Medium aufgebaut werden soll.

Dieser Unterschied liegt in der Technik begründet. Hat man bei einer analogen oder bei ISDN auch digitalen Internetverbindung eine ganze Telefonleitung zur Verfügung, so werden bei DSL Frequenzbänder außerhalb der hörbaren Bereiche genutzt und die Kommunikation somit erst einmal unabhängig von der normalen Telefonleitung ermöglicht. <Trotzdem ist und bleibt ein Telefonanschluss – egal ob analog oder ISDN – zwingende Voraussetzung für DSL. Schließlich braucht der Provider ein physikalisches Medium, um die Daten überhaupt zum Endbenutzer transportieren zu können.> Um diese Signale nun »abfangen« zu können, braucht man einen Splitter vor dem eigentlichen ISDN-NTBA beziehungsweise dem analogen Telefon. Dieser Splitter teilt die Daten so auf, dass die normalen Frequenzbänder an das Telefon und die DSL-Daten an das DSL-Modem kommen. Dieses ist dann entweder über ein Netzwerkkabel (»Ethernet«) oder WLAN mit dem PC verbunden.

Mit anderen Worten braucht man also nur eine Erweiterung für den pppd, damit man mit DSL auch ins Internet kommt.

Die gängigste Implementierung dafür ist »rp-pppoe«. Sie ist eigentlich bei den meisten Distributionen schon mitinstalliert.

Die Konfiguration gestaltet sich auch ganz einfach: Die Datei /etc/ppp/peers/dsl-providers ist nur eine ppp.options, die dann für DSL genutzt wird. Und eigentlich sind nur die letzten Zeilen wichtig:

… 
plugin rp-pppoe.so eth0 
user "jploetner@versatel"

Listing 10.45    Die /etc/ppp/peers/dsl-provider

In der vorletzten Zeile aktiviert man die erste Netzwerkschnittstelle für PPPoE, und in der letzten gibt man seinen Benutzernamen an. Zu diesem sollte sich in der pap-secrets natürlich auch ein Passwort finden:

jploetner@versatel      *        geheim

Listing 10.46    Das Passwort in der pap.secrets

Nun kann man mit dem Kommando »pon dsl-provider« auf der Kommandozeile eine Verbindung starten. Da dieses Skript nur ein Frontend für den pppd ist, könnte man so selbstverständlich auch Modem- oder ISDN-Verbindungen kontrollieren. Entsprechend schaltet poff eine Verbindung wieder ab, und plog gibt den Status des pppd aus.

Wer die Konfiguration eines DSL-Zugangs noch einfacher haben möchte, kann auch gleich zu einem Frontend greifen.

Sehr beliebt und verbreitet ist beispielsweise pppoeconf, aber einige Distributionen helfen Ihnen auch gleich während der Installation dabei, Ihren Internetzugang entsprechend zu konfigurieren.

Abbildung 10.4    pppoeconf



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Linux






 Linux
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Einstieg in Linux






 Einstieg in Linux


Zum Katalog: Debian GNU/Linux






 Debian GNU/Linux


Zum Katalog: Ubuntu GNU/Linux






 Ubuntu GNU/Linux


Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-
 Programmierung


Zum Katalog: Praxisbuch Netzwerk-Sicherheit






 Praxisbuch
 Netzwerk-Sicherheit


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de