Mit verschiedenen Providern durch's Internet surfen

ArticleCategory: [Choose a category for your article]

System Administration

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author and translation history]

original in en Guido Socher

en to de Guido Socher

AboutTheAuthor:[A small biography about the author]

Guido ist ein langj�hriger Linuxfan. Er mag Linux nicht nur wegen seiner hohen technischen Qualit�t, sondern auch wegen der Leute und der Gemeinschaft, die hinter Linux steht. Meine Homepage findest Du hier.

Abstract:[Here you write a little summary]

Dieser Artikel erkl�rt, wie man eine Anzahl verschiedener Provider (im Englischen ISPs = Internet Service Providers) unter Linux benutzt und wie man ganz leicht zwischen ihnen wechseln kann.
Das Konzept, das hier vorgestellt wird, ist dabei nicht nur auf einen PC anwendbar, sondern auf ein ganzes Netzwerk. Zur gleichen Zeit kann die ganze Familie von verschiedenen Rechnern aus im Internet surfen. Um das zu erreichen, benutzen wir einen DNS proxy (DNS forwarding, DNS Weiterleitung) und IP masquerading unter Linux.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Einf�hrung

Ein Internetzugang f�r Privatleute ist immer einfacher geworden. Die meisten Anbieter verlangen keine monatlichen Geb�hren mehr oder Langzeitvertr�ge. Wenn ein Anbieter schlechten Service bietet oder technische Probleme hat, dann nimmt man einfach den n�chsten. In Deutschland geht das sogar noch einen Schritt weiter. Mit "Internet by Call" registriert man sich nicht und unterschreibt auch keinen Papierkram. Man zahlt einfach per Telefonrechnung. Beachte, da� "Internet by Call" nicht mit dem, im angels�chsischen verbreiteten, "Free Internet" gleichzusetzen ist. "Free Internet" ist im allgemeinen der Zustand eines Providers vor seinem Bankrott und meist mit schlechtem Service verbunden. Bei "Internet by Call" zahlt man manchmal recht viel, man kann daf�r aber auch gute Bandbreite erhalten. Unabh�ngig davon, wie die Details in Deinem Land sind, wird dieser Artikel erkl�ren, wie man schnell und einfach zwischen den Providern wechselt und verschiedene Provider zu verschiedenen Zeiten benutzen kann.

Die Art des Internetzugangs, die hier besprochen wird, ist eine point-to-point (PPP) W�hlverbindung von Deinem PC zum Provider. Unter Linux ist ein Programm namens pppd f�r den Aufbau dieser Verbindung verantwortlich. pppd ist eine sehr gute und flexible Software. Leider befassen sich die Beispiele in der Dokumentation zu pppd eher mit veralteten oder ganz speziellen F�llen f�r die Autentifizierung und den Einlogvorgang. Wenn man diese Beispiele bei einem modernen ISP ausprobiert, wird das im allgemeinen versagen. Die meisten ISPs benutzen heutzutage:

Dieser Artikel erkl�rt, wie man diese modernen Features unter Linux benutzt. Alles, was man �ber seinen ISP wissen mu�, ist: Telefonnummer, login-Name und Passwort.

Mit Linux und IP masquerading ist es au�erdem sehr leicht, nicht nur einen Rechner, sondern ein ganzes Netzwerk von Computern �ber eine PPP-Verbindung mit dem Internet zu verbinden. Um das zu machen, braucht man mindestens einen Linuxrechner und eine beliebige Anzahl anderer Rechner. Es sieht etwa so aus:

[network
with IP masquerading]

Benutzt man solch eine IP masquerading Linux Gateway und verschiedene ISPs zu verschiedenen Zeiten, so hat man im allgemeinen 2 Probleme:

  1. Der DNS Server �ndert sich jedes Mal, wenn man den ISP wechselt und man m�chte nat�rlich nicht jedes Mal alle Computer neu konfigurieren. Speziell dann nicht, wenn man Windows oder Mac OS im Netz hat.
  2. Man h�tte gerne eine vorkonfigurierte Liste von Providern, aus der sich jeder einen aussuchen kann. Das sollte nat�rlich f�r alle Betriebssysteme im Netz gleich gut funktionieren.
Wir werden Problem 1) l�sen, indem wir einen DNS proxy namens dnrd einsetzen, und Problem 2), indem wir ein CGI-script benutzen, um eine Webseite (Bild einer solchen Seite) zu erzeugen, von wo aus man die PPP-Verbindung starten und stoppen kann.

 

pppd aufsetzen

Normalerweise befinden sich alle Konfigurationsdateien von pppd in /etc/ppp und im allgemeinen mu� man pppd als root starten. W�hrend der Installation und der ersten Tests sollte man als root eingeloggt sein. Sp�ter werde ich erkl�ren, wie jeder Benutzer pppd starten und stoppen kann. Es ist nicht gut, wenn man immer als root eingeloggt ist, da man dann sehr wenige Restriktionen hat und seine Konfiguration durch einen Handhabungsfehler viel leichter zerst�ren kann.

Die wichtigen Dateien f�r pppd sind:

Du kannst dir diese Dateien als ppp.tar.gz herunterladen. Um sie zu benutzen, entpackt man sie direkt im Verzeichnis /etc. Das Unterverzeichnis ppp und alle anderen weiteren Verzeichnisse werden automatisch erzeugt. Falls es schon ein /etc/ppp Verzeichnis gibt, sollte man es umbenennen:
cd /etc
mv ppp ppp_old
tar zxvf ppp.tar.gz
Nach dem Auspacken wirst Du sehen, da� es noch weitere Dateien im ppp.tar.gz gibt. Das sind zus�tzliche wrapper Scripte, die die Konfiguration vereinfachen. Ihr Zweck wird weiter unten erkl�rt. (Beachte: In den Dateien gibt es einige Preisangaben zu den verschiedenen Internet Providern. Diese k�nnten inzwischen veraltert sein. Besuch die Seite des betreffenden Anbieters, um genaue Informationen zu erhalten.)

La� uns einen Blick auf die Konfigurationsdatei f�r einen Internet Provider namens Arcor werfen:
# This is /etc/ppp/peers/arcor
# Home page of the ISP arcor: http://www.arcor-online.de/
#----------
# serial device and modem speed (normally 38400 or 57600):
/dev/modem 57600
# modem dial-out script with phone number:
connect '/etc/ppp/scripts/ppp-on-dialer-pap 0192070'
# specific options, common options are
# read from /etc/ppp/options
noipdefault
# tell pppd to use this users name for PAP authentication:
user arcor
# try dynamic dns:
usepeerdns
#
Eine Zeile, die mit diesem Gartenzaun (#) anf�ngt, ist ein Kommentar. Der erste Parameter (/dev/modem) bezeichnet die serielle Schnittstelle, die benutzt werden soll. Dabei sollte /dev/modem ein Softlink auf die eigentliche Device Datei sein ((/dev/ttyS0 oder /dev/ttyS1):

cd /dev
ln -s ttyS0 modem
57600 ist die Geschwindigkeit des Modems und h�ngt von deiner Hardware ab. Die Zeile, die mit "connect" beginnt, bezeichnet ein Script (/etc/ppp/scripts/ppp-on-dialer-pap), das die Kommunikation mit deinem Modem �bernimmt. Der Dialog mit dem Modem geht �ber sogenannte AT Befehle. Das sind einfache ASCII Befehle, die alle mit den Buchstaben AT anfangen. Der Parameter, der dem Script �bergeben wird (0192070) ist die Telefonnummer, die gew�hlt werden soll.
noipdefault ist die Option, die f�r dynamische IP Adresszuweisung ben�tigt wird und usepeerdns wird f�r die automatische DNS Konfiguration gebraucht. Die automatische DNS Konfiguration funktioniert so, da� dein Provider ein oder zwei DNS Server Adressen w�hrend der PPP Aushandlungsphase schickt und diese sp�ter in den Umgebungsvariablen DNS1 und DNS2 an das /etc/ppp/ip-up Script �bergeben werden.

Die Bibliotheken zur Aufl�sung von Namen (resolver libraries) lesen eine Datei, die sich /etc/resolv.conf nennt, um zu erfahren, wie diese Aufl�sung der Domainnamen geschehen soll. Diese Datei (/etc/resolv.conf) wird �ber die Bibliotheken dann von Applikationen wie netscape, sendmail u.s.w... benutzt, um den DNS Server zu finden. Wir werden hier einfach die n�tigen Eintr�ge f�r /etc/resolv.conf aus dem ip-up Script generieren. Das hei�t, wir schreiben jedes Mal automatisch eine neue /etc/resolv.conf Datei, wenn ip-up (oder ip-down) ausgef�hrt werden.

Bis jetzt haben wir die Telefonnummer (0192070, im Falle von Arcor) die Modemgeschwindigkeit und die zu benutzende serielle Schnittstelle sowie einige andere Einstellungen f�r pppd vorgenommen. Wir werden hier nicht die restlichen Einstellungen aus /etc/ppp/options besprechen. Wer interessiert ist, kann sich die Einstellungen aus der Beispieldatei ansehen und dann in der man-Seite f�r pppd nachschlagen. Wir werden uns stattdessen gleich bei unserem Provider (arcor in unserem Beispiel) einw�hlen. Daf�r brauchen wir zwei weitere Dinge:
login name: arcor
password: internet

Dies ist ein echtes Beispiel, das in Deutschland so funktionieren sollte. Diese Angaben m�ssen in /etc/ppp/pap-secrets eingetragen werden. Der Login Name geht au�erdem noch in die /etc/ppp/peers/arcor Datei ein (siehe oben). F�ge einfach in /etc/ppp/pap-secrets eine Zeile hinzu, die wie folgt aussieht:
# This is /etc/ppp/pap-secrets
# client server secret IP-addr
arcor   *   internet   0.0.0.0

Das war's. Nun k�nnen wir es testen. Um sich bei Arcor einzuw�hlen, tippt man einfach:

pppd call arcor
arcor ist dabei der Name der Konfigurationsdatei im Verzeichnis /etc/ppp/peers/
Das Modem sollte w�hlen und nach einigen Sekunden solltest du online sein. In dem Moment, wo man online ist, sollte das Kommando /sbin/ifconfig ein Interface namens ppp0 zeigen. Tipp einfach ein paar Mal /sbin/ifconfig bis sich der Eintrag zeigt. Nun kannst Du einen Webbrowser nehmen und zu linuxfocus.org surfen.

Um die Verbindung wieder zu beenden, benutzt man den Befehl:
killall pppd
Ich hoffe, da� dieses Beispiel bei Dir funktioniert hat. Es sollte definitiv genau so funktionieren f�r unsere Leser aus Deutschland. F�r andere Provider und L�nder mu� man nat�rlich Telefonnummer, login und password anpassen. Falls es nicht funktioniert hat, dann wirf einen Blick auf den Abschnitt Fehleranalyse am Ende des Artikles.

Jetzt hast Du einen funktionierenden Provider. Um weitere hinzuzuf�gen, macht man folgendes:

  1. kopiere die Datei /etc/ppp/peers/arcor auf einen neuen Namen.
  2. �ndere die Telefonnummer und den User Eintrag in dieser neuen Datei.
  3. f�ge eine neue Zeile zu /etc/ppp/pap-secrets hinzu
Die Datei einfach zu kopieren und dann einen Texteditor zu benutzen, ist viel schneller und einfacher als ein grafisches Konfigurationsprogram.

Nun wei�t Du in etwa wie die grundlegenden Mechanismen funktionieren. Als n�chstes benutzen wir ein paar Skripte, um die Handhabung einfacher zu machen. Speziell werden wir zwei Set-UID Perlskripte benutzen, die es m�glich machen, die Internetverbindung auf- und abzubauen, auch wenn man als normaler Benutzer eingeloggt ist (nicht root).

Set-UID ist ein Mechanismus, der es erlaubt, ein Kommando so auszuf�hren, als w�re es von der Person ausgef�hrt worden, der die Datei geh�rt. Das Set-UID Programm mu� nat�rlich mit Sorgfalt entwickelt werden, da sonst ein Sicherheitsloch entsteht. Die Set-UID Perlskripte sind schon in dem ppp.tar.gz Paket dabei gewesen, das du oben ausgepackt hast. Diese Perlskripte sollten ein "s" in den Dateizugriffsrechten haben und dem Benutzer root geh�ren:
> cd     /etc/ppp/scripts
> ls -al     ppp-on   ppp-off
-rwsr-sr-x 1 root root 1258 Jan 7 13:24 ppp-off
-rwsr-sr-x 1 root root 2619 Jan 9 20:30 ppp-on

Falls das "s" fehlt, kannst Du das als root mit dem Befehl
chmod 6755 ppp-off ppp-on
korrigieren.
Die ppp-off, ppp-on Skripte wickeln (wrapper) die anderen Befehle gewisserma�en ein. Sie bringen also keine neue Funktion, sondern f�hren die schon bekannten Befehle lediglich aus: Sie rufen pppd call some-config-file oder killall pppd auf. Der Vorteil ist, da� jetzt jeder Benutzer die Internetverbindung starten kann. Das ppp-on Skript hat au�erdem noch einen speziellen Mechanismus zur Behandlung von Providern, die statische DNS Adressen benutzen. Falls das bei Deinen Providern der Fall sein sollte, dann suche einfach nach dem Wort "static" und �ndere das enthaltene Beispiel ab. Man benutzt die ppp-on/ppp-off Befehle wie folgt:

Um online zu gehen:
/etc/ppp/scripts/ppp-on arcor
Um die Internetverbindung
zu beenden: 
/etc/ppp/scripts/ppp-off
Das sollte jetzt f�r jeden Benutzer auf deinem Computer funktionieren. arcor ist hier wieder der Name der Datei in /etc/ppp/peers/. Du k�nntest vielleicht einen anderen Namen gew�hlt haben.

Letztendlich wollen wir eine grafische Oberfl�che benutzen, um die Internetverbindung zu starten und zu stoppen. Ein cgi-Programm ist ein Programm, das interaktive Webseiten erzeugen kann. Ein sauber geschriebenes cgi-Programm funktioniert mit jedem Browser und jedem Betriebssystem. Das ist der Grund, warum wir diese L�sung w�hlen. Es wird etwa so aussehen:

[pppcontrol]

Fast alle Linuxdistributionen enthalten heute einen schon vorkonfigurierten Apache Webserver. Alles, was man machen mu� ist, die Datei pppcontrol.gz mit dem Befehl gunzip auszupacken, sie in das cgi Verzeichnis des Webservers zu kopieren (das ist vermutlich /home/httpd/cgi-bin/), sie mit dem Befehl
chmod 755 pppcontrol
ausf�hrbar zu machen und dann mit einem Texteditor die Variable $url in der Datei zu �ndern. $url mu� dabei die http Adresse des Skripts selbst sein. Bei einem alleinstehenden PC ist das die loop-back IP Adresse:
$url="http://127.0.0.1/cgi-bin/pppcontrol";

Das pppcontrol cgi-Skript liest eine Konfigurationsdatei namens /etc/ppp/gpppwrap.conf. Die Syntax dieser Datei ist wie folgt:
ppponarg: <agument_to_pass_to_ppp_on> - some additional comment string
Das Minuszeichen (-) beginnt einen Kommentar, der auf der pppcontrol html-Seite angzeigt wird, aber dem /etc/ppp/scripts/ppp-on Program nicht �bergeben wird.
Hier ist ein Beispiel f�r einen Fall, bei dem es die Dateien "arcor" und "talknet" im Verzeichnis /etc/ppp/peers gibt:

# This is /etc/ppp/gpppwrap.conf
ppponarg: arcor -- arcor.net 3pf/min
ppponarg: talknet -- internet by call 3.5pf/min
Beachte: Die Preise 3pf/min und 3.5pf/min k�nnten sich inzwischen ge�ndert haben.

Das war m�glicherweise eine ganze Menge neuer Informationen, aber wenn Du es einmal aufgesetzt hast, dann wirst Du lediglich von Zeit zu Zeit einen neuen Provider hinzuf�gen oder einen l�schen.
Nun kannst du bequem einen Internetprovider aus der Liste auf der Webseite (pppcontrol) ausw�hlen und ihn mit einem einzigen Tastendruck anw�hlen.

DNS proxy

Im vorangegangenen Kapitel haben wir gesehen, wie man alles f�r nur einen Linuxrechner konfiguriert. Die DNS Konfiguration erfolgte, indem wir einfach die Datei /etc/resolv.conf bei jedem Aufbau einer PPP Verbindung neu geschrieben haben.
Wenn man IP masquerading benutzt, um einen Internetzugang f�r ein ganzes Netzwerk zur Verf�gung zu stellen, dann ist es recht schwierig, auf jedem Rechner im Netz die Datei /etc/resolv.conf jedes Mal zu �nderen. Hat man zu dem noch irgendwo Windows laufen, dann wird es unm�glich, da man Windows jedes Mal neu booten mu�.
Die L�sung ist ein DNS proxy. Das ist ein kleiner Server, der innerhalb des eigenen Netzes wie ein DNS Server aussieht, aber alle Anfragen einfach an den DNS Server des Providers weitergibt. Es ist m�glich den Bind-DNS Server f�r diesen Zweck zu benutzen, aber Bind wurde daf�r eigentlich nicht gebaut.
dnrd ist ein sehr guter DNS proxy, der speziell f�r unseren Zweck entwickelt wurde. Im Abschnitt Referenzen dieses Artikels finden sich die Links, wo man dnrd erhalten kann.
F�r ein Netz, das wie folget aussieht
[network with IP
masquerading]
hat man dnrd einfach auf dem Linux PC laufen und man konfiguriert die interne IP-Adresse des Linux PCs (192.168.0.1) als DNS Server Adresse f�r alle anderen PCs im LAN. Das ist eine statische Einstellung und man braucht sie nie wieder zu �ndern. Ganz einfach.

Um dnrd vom Quellcode zu installieren macht, man folgendes:

Das Paket auspacken:
tar zxvf dnrd-2.10.tar.gz
cd dnrd-2.10/src/
kompilieren:
make
strip dnrd
installieren:
cp dnrd /usr/local/sbin/
ein leeres Verzeichnis namens /etc/dnrd/ erzeugen :
mkdir /etc/dnrd/
Der DNS proxy dnrd wird wie folgt benutzt (in diesem Beispiel sind 195.50.149.33 und 195.50.140.6 die IP Adressen der DNS Server deines Providers):
sobald die ppp-Verbindung aktiv wird:
dnrd -s 195.50.149.33 -s 195.50.140.6
wenn die  Verbindung beendet wird:
dnrd
dnrd wird in unseren Fall einfach von den Skripten /etc/ppp/ip-up und /etc/ppp/ip-down aus gestartet und das geschieht alles automatisch. Die Skripte, die du oben heruntergeladen hast, sind schon daf�r vorbereitet und sie erwarten dnrd im Verzeichnis /usr/local/sbin/.

dnrd kann viel mehr als nur das. Es kann sogar als eigener kleiner DNS Server arbeiten. Unter Unix kann man immer in /etc/host.conf die Zeile
order hosts, bind
schreiben und dann allen Rechnern im kleinen privaten Netzwerk in der Datei /etc/hosts einen Namen geben. Leider k�nnen das die dummen Windows Rechner nicht. Falls dnrd die Datei /etc/hosts findet, dann spielt er automatisch DNS Server f�r die Eintr�ge in dieser Datei. Das l�st das Problem!

Die Syntax der /etc/hosts Datei ist wie folgt:
# syntax:
# ip-addr hostname alias1 alias2 ...
# example:
192.168.0.1 linuxpc.mynet linuxpc
192.168.0.2 peppermint.mynet pepper mint
Wenn dnrd l�uft, dann kann man von �berallaus im Netz http://linuxpc.mynet/ oder http://linuxpc/ anstelle von http://192.168.0.1/ benutzen.

Um dnrd nicht nur als DNS proxy, sondern auch als DNS Server f�r Eintr�ge in /etc/hosts zu benutzen, sollte man dnrd schon beim Booten starten. Dazu f�gt man die Zeile

daemon /usr/local/sbin/dnrd
am Ende des Abschnittes start in dem boot Skript /etc/rc.d/init.d/network ein (die Syntax diese Eintrages ist f�r redhat, mandrake etc... Bei Deiner Distribution mag das anders sein).

Das ist alles. Nun kann jeder in deinem Netz parallel mit jedem anderen Benutzer im Netz surfen und es ist ganz einfach, die PPP Verbindung zu starten, zu beenden oder einen anderen Provider zu benutzen. Setze einfach ein Bookmark auf den Link zu pppcontrol in deinem Browser.

Verbesserungen

Diejenigen, die sich entschieden haben, den DNS proxy dnrd zu benutzen, k�nnen auch die Dateien /etc/ppp/ip-up und /etc/ppp/ip-down editieren, so da� /etc/resolv.conf nicht mehr modifiziert wird. Kommentiere einfach die Zeilen mit
echo .....> /etc/resolv.conf
oder
cat > /etc/resolv.conf << ENDOFCAT
...
ENDOFCAT

aus. Danach benutzt man die loop back Adresse als DNS Server Adresse (�berpr�fe mit /sbin/ifconfig, da� es auch ein lo Interface gibt):
# This is /etc/resolv.conf when dnrd is running
nameserver 127.0.0.1
Der Vorteil ist, da� man nun den internen Pufferspeicher von dnrd auf allen Rechnern im Netz und nicht nur f�r die Rechner innerhalb des Netzes benutzt.

Um zu testen, ob der DNS proxy funktioniert, kann man nslookup verwenden:
>nslookup
Default Server:  localhost
Address:  127.0.0.1

>pepper
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
Name:    peppermint.mynet
Address:  192.168.0.2
nslookup wird durch Tippen von strg-d (crtl-d) beendet.  

Fehleranalyse

In diesem Abschnit werde ich erk�ren, wie man debug Ausgaben f�r pppd aktiviert. Das wird dir helfen, herauszufinden, was schief gelaufen ist, falls es mal nicht funktioniert. Leider habe ich oft festgestellt, da� es nicht mein Konfigurationsfehler war, sondern ein Problem auf der Seite des Porviders.

Das erste, was pppd in unserem Fall macht, ist die serielle Schnittstelle (/dev/modem, z.b ein Link auf /dev/ttyS0) zu �ffnen, um das Skript /etc/ppp/scripts/ppp-on-dialer-pap laufen zu lassen. Dieses Skript wird dann AT Befehle an das Modem schicken. Diese Befehle veranlassen dein Modem dazu, deinen Provider anzurufen. Wenn irgendetwas dabei daneben geht, finden sich die Fehlermeldungen in der Datei /etc/ppp/connect-errors. Meistens wird die Datei connect-errors gen�gend Hinweise auf das geben, was schief gelaufen ist. Falls das nicht der Fall ist, kann man die AT Befehle manuell eintippen. Dazu braucht man ein Terminalprogramm, das mit der seriellen Schnittstelle reden kann. Hierzu sind minicom (fast bei jeder Linuxdistribution dabei) oder cu (normalerweise Teil eines Paketes namens uucp) oder kermit (kann von http://www.columbia.edu/kermit/ck70.html heruntergeladen werden) geeignet. Man benutzt dieses Terminalprogramm, um mit dem Modem zu "reden". Wenn man AT tippt, sollte das Modem "OK" antworten. Falls nicht, dann �berpr�fe die Einstellung der Geschwindigkeit, die Stromversorgung usw... Falls es mit OK geantwortet hat, dann kann man den Befehl ATDT1234 probieren. Das Modem sollte dann die Nummer 1234 anrufen. Falls nicht, ist das Handbuch des Modems zu befragen. Das Kommando k�nnte auch ATD1234 (ohne T) hei�en oder irgendeine andere Einstellung ist falsch.

Nachdem das Modem den Provider angerufen hat, ist der n�chste Schritt die PPP Verhandlungsphase. Um zu beobachten, was dort passiert, mu� man die syslog facility daemon.debug in /etc/syslog.conf einschalten. Editiere die Datei /etc/syslog.conf und f�ge ";daemon.debug" zu der Zeile, die mit /var/log/messages endet, hinzu. Z.B so:

*.info;mail.none;authpriv.none;daemon.debug   /var/log/messages
Als n�chstes startet man syslog mit folgedem Befehl neu:
/etc/rc.d/init.d/syslog restart
Nun kann man die Option "debug" in /etc/ppp/options eintragen (das ist schon geschehen f�r die Dateien, die du oben im Kapitel pppd aufsetzen heruntergeladen hast). Nun tippt man:
tail -f /var/log/messages
und beobachtet die Debugmitteillungen w�hrend sich pppd mit dem Rechner des Providers unterh�lt:

Ein erfolgereicher Aufbau der Verbindung sieht so aus:
Jan 14 17:18:11 bearix pppd[721]: pppd 2.3.10 started by root, uid 0
Jan 14 17:18:34 bearix pppd[721]: Serial connection established.
Jan 14 17:18:34 bearix pppd[721]: Using interface ppp0
Jan 14 17:18:34 bearix pppd[721]: Connect: ppp0 <--> /dev/modem
Jan 14 17:18:35 bearix pppd[721]: sent [LCP ConfReq id=0x1 ]
Jan 14 17:18:37 bearix pppd[721]: rcvd [LCP ConfReq id=0x46 ]
Jan 14 17:18:37 bearix pppd[721]: sent [LCP ConfNak id=0x46 ]
Jan 14 17:18:38 bearix pppd[721]: rcvd [LCP ConfReq id=0x47 ]
Jan 14 17:18:38 bearix pppd[721]: sent [LCP ConfAck id=0x47 ]
Jan 14 17:18:38 bearix pppd[721]: sent [LCP ConfReq id=0x1 ]
Jan 14 17:18:38 bearix pppd[721]: rcvd [LCP ConfAck id=0x1 ]
Jan 14 17:18:38 bearix pppd[721]: sent [PAP AuthReq id=0x1 user="arcor" password="internet"]
Jan 14 17:18:40 bearix pppd[721]: rcvd [LCP ConfReq id=0x49 ]
Jan 14 17:18:40 bearix pppd[721]: sent [LCP ConfReq id=0x2 ]
Jan 14 17:18:40 bearix pppd[721]: sent [LCP ConfAck id=0x49 ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [LCP ConfAck id=0x2 ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [CHAP Challenge id=0x5 <0c7672840494152025f937ac4f5e135e>, name = "klndiinternet"]
Jan 14 17:18:41 bearix pppd[721]: sent [CHAP Response id=0x5 , name = "arcor"]
Jan 14 17:18:41 bearix pppd[721]: rcvd [CHAP Success id=0x5 ""]
Jan 14 17:18:41 bearix pppd[721]: sent [IPCP ConfReq id=0x1 ]
Jan 14 17:18:41 bearix pppd[721]: sent [CCP ConfReq id=0x1 ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [IPCP ConfReq id=0x8e ]
Jan 14 17:18:41 bearix pppd[721]: sent [IPCP ConfAck id=0x8e ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [IPCP ConfRej id=0x1 ]
Jan 14 17:18:41 bearix pppd[721]: sent [IPCP ConfReq id=0x2 ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [LCP ProtRej id=0xfb 80 fd 01 01 00 0f 1a 04 78 00 18 04 78 00 15 03 2f]
Jan 14 17:18:41 bearix pppd[721]: rcvd [IPCP ConfNak id=0x2 ]
Jan 14 17:18:41 bearix pppd[721]: sent [IPCP ConfReq id=0x3 ]
Jan 14 17:18:41 bearix pppd[721]: rcvd [IPCP ConfAck id=0x3 ]
Jan 14 17:18:41 bearix pppd[721]: local IP address 145.253.88.6
Jan 14 17:18:41 bearix pppd[721]: remote IP address 145.253.1.150
Jan 14 17:18:41 bearix pppd[721]: primary DNS address 145.253.2.11
Jan 14 17:18:41 bearix pppd[721]: secondary DNS address 145.253.2.75
Jan 14 17:18:41 bearix pppd[721]: Script /etc/ppp/ip-up started (pid 723)
Jan 14 17:18:42 bearix pppd[721]: Script /etc/ppp/ip-up finished (pid 723), status = 0x0
Um das ganz zu verstehen, sollte man vermutlich die Details des ppp Protokolles kennen. Ich habe auch keine Ahnung, wie diese Protokoll funktioniert, aber ich kann einige Dinge erraten und das ist genug. "sent ... ConfReq" bedeutet z.B., da� dein Rechner eine Konfigurationsanfrage (configuration request) schickt, um irgendetwas auszuhandeln. Die Antwort darauf ist ein "rcvd ... ConfAck" (receive configuration request acknowledge) oder rcvd ... ConfRej" (receive configuration request reject). Falls alles glatt gelaufen ist, sieht man am Ende die dynamisch zugewiesene IP Adresse (local IP address) und die IP Adresse des Gateway Rechners deines Providers (remote IP address).

Es ist unm�glich jeden Fehlerfall hier zu beschreiben, zum einen, weil ich nicht wei�, was f�r einen Rechner/Modem du hast und zum anderen, weil es einfach zu viele M�glichkeiten gibt. Mit etwas Kreativit�t und den Dingen, die du hier gelernt hast, solltest du jedoch in der Lage sein, die meisten Fehler zu finden. Falls du es einfach nicht zum Laufen bekommst und es nicht wie ein Fehler auf deiner Seite aussieht, dann kann es sehr gut ein Fehler beim Provider sein. Nimm einfach einen anderen.

 

Referenzen