Know how fⁿr den Online-Einstieg: Mit Linux ins Internet

Linux, das frei verfügbare Unix-Betriebssystem, unterstützt das Internet-Protokoll TCP/IP. Wie Sie Linux erfolgreich mit T-Online, Metronet und Compuserve in Verbindung bringen, lesen Sie in dieser Fortsetzung der CHIP-Linux-Reihe.

 

Wichtige Internet Provider


Die wichtigsten Befehle von DIP


Das DIP-Script für T-Online


PPP-Authentifizierung

 

Schon die Vorzeichen stehen günstig: Unix als Betriebssystem für Arbeitsrechner, Server und Großrechner ist von Haus aus netzwerkfähig, und Linux, der freie Unix-Clone, ist es erst recht. Denn Unix-Rechner, die in einem Netzwerk arbeiten, kommunizieren meist über die Internet-Protokollfamilie TCP/IP. Dabei muß ein Netzwerk nicht zwangsläufig mit Netzwerkkabeln und -karten zugange sein; nach Unix-Lesart ist auch ein Modem, das den heimischen PC mit einem Internet-Provider verbindet, eine Netzwerkverbindung.

Steht eine solche TCP/IP-Verbindung einmal, lassen sich beliebige Internet-Programme - Clients und Server - wie zum Beispiel FTP, Telnet und Ping betreiben. Von besonderem Interesse sind naturgemäß die Web-Browser: Gut zu wissen, daß es für Linux einen Netscape Navigator gibt .

Natürlich ist TCP/IP über eine serielle Modemverbindung oder eine Netzwerkkarte mit Linux möglich; doch ein Linux-System kann darüber hinaus an weiteren Netzwerken teilnehmen: Es läßt sich zum Beispiel als Intranet-Server für Windows- und Mac-Rechner einsetzen oder kann sich (mit Zusatzprogrammen) wie ein Novell-Server verhalten und einen solchen ersetzen.

Der private Anwender braucht diese Fähigkeiten relativ selten. Im Zeitalter globaler Vernetzung ist es ihm wichtiger, daß er sich mit seinem Rechner ins Internet einwählen und dieses Netz für seine Zwecke nutzen kann.

Die zum Einklinken nötige Software ist bereits in der Linux-Distribution Xlinux enthalten, die CHIP im Heft 11/96 vorgestellt hat. Aber so gut wie alle am Markt verfügbaren Distributionen - so heißen Software-Bundles mit Linux - enthalten diese Tools ebenfalls. Also: Auch wer eine andere Distribution besitzt, kann aus diesem Artikel Gewinn ziehen.

 

Das Protokoll der Verbindung hängt vom Provider ab

Eine TCP/IP-Verbindung mittels Modem baut sich nicht spontan auf - das wäre auch für die Telefonkosten fatal. Es bedarf vielmehr eines genormten Vorgangs, den sowohl das Betriebssystem des Anwenders als auch der angewählte Internet-Provider beherrschen.

Dabei kann man sich bei seinem Provider via Modem über zwei Protokolle einwählen: über SLIP (Serial Line Internet Protocol) und über das moderne PPP (Point-to-Point Protocol). Beide Protokolle erzeugen nach der erfolgreichen Einwahl ein Netzwerk-Interface, das vom Linux-Kernel genauso behandelt wird wie das einer Netzwerkkarte.Welches Protokoll Ihr Provider verwendet, müssen Sie wissen, bevor Sie loslegen. Diese Provider leisten allerdings keinen Support für Linux, sondern haben sich auf Windows spezialisiert. Sind Sie dagegen bei einem anderen Provider untergekommen, dürfte es nach der Lektüre dieses Artikels nicht schwer sein, auch dort erfolgreich Anschluß zu finden.

Wie unter Windows kann auch unter Linux das Einwählen automatisch erfolgen. Für die Einwahl mit SLIP ist das Programm dip zuständig, das durch ein Skript zu steuern ist. Einwählen mit PPP ist komfortabler: Hier läßt sich die Interaktion mit dem Modem beziehungsweise mit dem Server des Providers über Konfigurationsdateien steuern. Zudem wird bei PPP oft PAP oder CHAP unterstützt, was die Einwahl beschleunigt.

 

Einwahl per Skript beim Serial-Line-Protokoll

Für die automatische Einwahl bei T-Online oder anderen Providern, die noch SLIP fordern, ist ein sogenanntes DIP-Skript nötig. Der Autor des Programms dip hat dazu eine eigene Sprache entwickelt, deren wichtigste Befehle in der Tabelle unten erklärt sind. Bei T-Online ist die Einwahl recht kompliziert, daher ist sie besser von einem Skript durchzuführen. Der erste Haken: Man muß verhindern, daß der T-Online- Server Btx-Daten (genauer: Daten nach dem CEPT-Standard) schickt. Zu diesem Zweck wird gleich zu Beginn ein Punkt gesendet, der den T-Online-Server anweist, statt der CEPT-Pseudo-Grafik auf eine einfache Terminal-Emulation umzustellen. Anschließend werden noch Benutzerkennung und Paßwort übertragen.

Danach hangelt sich das Skript durch die Menüstruktur von T-Online und startet schließlich auf der Gegenstelle den SLIP-Server. Dieser schickt noch eben seine eigene und Ihre aktuelle IP-Nummer und schaltet danach die Leitung auf SLIP um. Das DIP-Skript muß beide IP-Nummern lesen, um sie für das Routing verwenden zu können. Danach wird auf Linux-Seite die Leitung ebenfalls auf SLIP mit Kompression umgeschaltet. Wichtig ist, daß der Linux-Kernel SLIP einkompiliert hat. Das DIP-Skript, (BITTE ANKER ZU "DAS DIP-SCRIPT FÜR T-ONLINE)) das diese Anwahl für T-Online übernimmt, finden Sie im gleichnamigen Hypertext. Am besten kopieren Sie die Dateien ins /etc-Verzeichnis. Die Angaben mit den eckigen Klammern (Login und Paßwort) und den Modemport müssen Sie mit einem Texteditor durch Ihre persönlichen Daten ersetzen. Damit niemand Ihr Paßwort zu Gesicht bekommt, empfiehlt es sich, danach als Root User die Datei per »chmod 600 t-online.dip« nur für »root« zugänglich zu machen.

Um nun die Verbindung aufzubauen, loggen Sie sich als »root« ein und rufen das Programm »dip t-online.dip« auf, wenn sich das Skript im aktuellen Verzeichnis befindet. Sollte das schiefgehen, können Sie diesem Aufruf die Option »-v« (für Verbose) hinzufügen. Dann protokolliert das Programm alle Aktionen auf dem Bildschirm. So sehen Sie, wo das Skript versagt.

 

Das Programm Chat steuert die Einwahl mit Point-to-Point

Das Einwählen mit PPP ist komfortabler: Die eigentliche Verbindung hält hier das Linux-Programm pppd (PPP-Dämon) aufrecht. Die Interaktion mit dem Modem beziehungsweise dem Server des Providers erfolgt meist über ein zweites Programm, nämlich über chat. Chat konfiguriert man über eine Datei in /etc/ppp. Allgemeinen Definitionen, wann das Skript abbrechen soll, folgen durch Leerzeichen getrennte Paare von Zeichenketten, die die Kommunikation mit der seriellen Schnittstelle beschreiben.

Das erste Wort in einer solchen Zeile ist die Zeichenkette, die chat erwartet, um die zweite Zeichenkette zu senden. Der Zeilenumbruch (»Return«) wird automatisch angehängt. Die erste Zeichenkette kann ein weiteres Paar enthalten, das durch Bindestriche voneinander getrennt ist. Sollte chat die Zeichenkette nicht innerhalb der maximalen Wartezeit (TIMEOUT) empfangen, wird die Zeichenkette zwischen den Bindestrichen zur Gegenstelle gesendet, und chat wartet auf den nachfolgenden Text. Ist diese leer (wenn sie "-" enthält), wird nur ein »Return« gesendet. Beim normalen Login-Prompt wird dadurch die Eingabeaufforderung erneut angezeigt, was hier gewünscht ist. Soll nicht auf ein Zeichen vom Modem gewartet werden, muß man eine leere Zeichenkette in doppelten Hochkommata angeben.

Für Compuserve und das Metronet finden Sie hier. Sie kopieren die Skripts unter Linux in das Unterverzeichnis /etc/ppp, ergänzen Ihre Zugangsdaten und schützen die Datei analog dem DIP-Script gegen unliebsame Paßwort-Späher. Aufgebaut wird die Verbindung dann als »root« mit dem Befehl

/usr/lib/ppp/pppd modem debug connect '/usr/lib/ppp/chat -f
/etc/ppp/cis.chat' ttyS1 38400 crtscts defaultroute lock.

Wer das nicht jedesmal eintippen will, macht daraus ein Linux-Shellskript.

 

Das Routing schickt die Daten auf den richtigen Weg

Die pure Verbindung reicht allerdings noch nicht aus, um im Internet arbeiten zu können. Ihr Rechner benötigt noch eine eigene IP-Nummer und das IP-Subsystem muß angewiesen werden, die IP-Pakete, die nicht für den eigenen Rechner bestimmt sind, an den Provider zu schicken. Dieser Vorgang heißt Routing. Da heutzutage für die Einwahl fast ausschließlich dynamische IP-Nummern vom Provider-Server vergeben werden, ist das Routing nicht mehr so einfach. Die Problematik: Es gilt die jeweils benutzte IP-Nummer für den eigenen Rechner und für die Gegenstelle herauszufinden.

Die verwendeten Programme helfen dabei: Ein DIP-Skript kann die Kommunikation auf der Modemleitung mithören und so die entsprechenden Nummern erfahren. Allerdings ist es dazu erforderlich, den genauen Wortlaut des übertragenen Textes zu kennen. Bei PPP ist auch das einfacher, denn nach der Authentifizierung werden spezielle Datenpakete auf die Leitung geschickt, die die IP-Nummern übertragen.

Anschließend muß das Routing gesetzt werden. Das geschieht ebenfalls automatisch, beim DIP-Verfahren über den Befehl »default« und bei PPP über das Argument »defaultroute«. Dabei wird dem IP-Subsystem von Linux folgender Befehl übermittelt:

route add default gw <slip/ppp IP-Nummer>

Jetzt erreichen Sie durch Angabe von IP-Nummern andere Rechner im Internet. Wollen Sie auch vollständige Namen verwenden, müssen Sie den Domain Name Service (abgekürzt DNS; siehe auch CHIP 11/96, Seite 324) aktivieren. Dazu tragen Sie den oder die passenden Name-Server aus der Tabelle auf der ersten Seite (wieder mittels eines Texteditors) in die Datei /etc/resolv.conf ein:

nameserver 149.174.211.5 149.174.213.5

 

Wie Sie die Verbindung wieder abbauen

Haben Sie sich mit dem Programm dip eingewählt, dann reicht der Aufruf von »dip -k«, um die Verbindung wieder abzubauen. Bei PPP muß man dem pppd das »HangUP«-Signal senden. Das geht unter Linux am einfachsten mit dem Befehl »killall -HUP pppd«.

 
Nutzen Sie unter Unix im Metronet Proxy-Server

Da Metronet keine gerouteten IP-Nummern vergibt, sondern ein Cache-Netz betreibt, können Sie außer den Metronet-Rechnern keine weiteren Rechner erreichen. Wer trotzdem auf Daten aus dem Internet zugreifen will, muß seinen Browser (Netscape, Mosaic etc.) anweisen, den Metronet-Proxy zu benutzen. Das erledigen Sie in Netscape mit der Karteikarte »Proxies« im Menü »Options | Network Preferences...«. Tragen Sie als Rechner »192.168.100.3« und als Port »80« ein.

Ein Proxy ist ein Server, der Daten zwischenspeichert und nach Möglichkeit aus seinem eigenen Reservoir weitergibt, anstatt sie immer neu zu holen. Ihr Browser fragt den WWW-Proxy nach den gewünschten Seiten. Liegen sie dort bereits vor, schickt er sie sofort zum Empfänger. Ist das jedoch nicht der Fall, so kümmert sich der Proxy um den Bezug im Netz und reicht die Seiten dann weiter.

Das steigert die Geschwindigkeit des WWW aus Anwendersicht erheblich, denn Seiten müssen nicht mehrfach aus dem Netz geholt werden. Zusätzlich reduziert sich der Verkehr auf den Leitungen. Dadurch kommen die Seiten schneller, die tatsächlich aus dem Internet geholt werden müssen. Außerdem setzen Proxies intelligente Algorithmen ein, damit der Datenbestand nicht veraltet. Viele Provider betreiben einen oder mehrere Proxies. Dieses Angebot sollte man wahrnehmen.

Martin Schulze (jk)

[Zur Übersicht]

 

Wichtige Internet Provider

ProviderProtokollName-Server
AOLproprietäres Protokoll, daher keine Einwahl
mit Linux möglich
 
T-OnlineSLIP, ab Sommer auch PPP, mit PAP/CHAP 194.25.2.129
CompuServePPP mit Terminal-Login 149.174.211.5
MetronetPPP mit Terminal-Login oder PAP(CHAP) 2.168.100.1

[Zur Übersicht]

 

Die wichtigsten Befehle von DIP:

BefehlErklärung
defaultSetzt das Default-Routing auf das Modem-Interface. Damit gehen die IP-Pakete ins Internet.
dial < n >Wählt die Telefonnummer < n >
getSpeichert den nachfolgenden Wert in einer Variablen oder liest einen Wert von der seriellen Schnittstelle
goto <label>Führt die Abarbeitung an der Stelle <label> weiter
mode <mode>Schaltet die Leitung auf SLIP bzw. CSLIP (SLIP mit Kompression) um und kehrt auf die Kommandozeile zurück
netmaskBeeinflußt das Routing von IP-Adressen. Sollte auf 255.255.255.0 gesetzt sein
port <dev>Definiert die benutzte Modemschnittstelle
resetSetzt das Modem zurück, indem "+++ATZ" gesendet wird
send <string>Sendet die Zeichenkette <string>. Wenn ein Zeilenumbruch folgen soll, muß ein "\r" angehängt werden.
sleep < n >Wartet < n > Sekunden
speed < n >Bezeichnet die Modemgeschwindigkeit < n > (DTE-Rate)
wait <string> <time>Wartet auf die Zeichenkette <string> <time> Sekunden lang

[Zur Übersicht]

 

Das DIP-Script für T-Online

# t-online.dip
#
# GPL and (c) by Martin Schulze <joey@linux.de>
port ttyS1 speed 38400 netmask 255.255.255.0 get $mtu 576 reset main: dial 01910 if $errlvl != 0 goto error wait CONNECT 60 if $errlvl != 0 goto error send .\r wait g: 10 send [Anschlußkennung] wait r: 10 send \r wait t: 10 send [Paßwort] send \r wait g# 10 send *190144100# sleep 5 send 19 sleep 5 wait STATUS OK if $errlvl != 0 goto error send LIN\r wait YOURIP 20 get $local remote 5 wait DESTIP 20 get $remote remote 5 default mode CSLIP print "Die Verbindung ist aufgebaut." goto exit error: print "Es sind Fehler aufgetreten" exit:

[Zur Übersicht]

 

PPP-Authentifizierung

Die hier gezeigten Verfahren setzen ein Terminal-Login voraus. Sie können daher die Einwahlprozedur mit einem normalen Terminalprogramm nachvollziehen. Wer PPP verwendet, hat oft zwei weitere Möglichkeiten zur Authentifizierung: PAP (Password Authentication Protocol) undCHAP (Cryptographic Handshake Authentication Protocol).

Sind diese Verfahren im Einsatz, dann führt der PPP-Dienst die Authentifizierung durch und nicht das Anwahlprogramm chat. Der PPP-Prozeß jagt besondere Befehle über die Leitung, die von der Gegenstelle erkannt und erwidert werden. Außerdem ist dazu entweder die Datei /etc/ppp/pap-secrets oder die Datei /etc/ppp/chap-secrets nötig. In einer der beiden sind die Paßwörter abgelegt. Metronet bietet die Installation seit einiger Zeit an, T-Online seit kurzem ebenfalls.

Die Dateien bestehen aus vier Feldern, von denen man einige freilassen kann. Gibt man statt eines Server-Namens nur "*" an, so gilt die Zeile für jeden Server.

# Secrets-Datei für die Authentifizierung
#
# Benutzer Server Paßwort IP-Addresse
joey       *      GEHEIM

[ back to top ]