Anleitungen - Wählleitung | Linux im Textmodus

Linux - das Betriebssystem, das im Internet entstanden ist - bringt natürlich alle Werkzeuge mit, die man braucht, um seinen Rechner per Modem ins Internet zu hängen. Es gibt kein Standard-Linux, und alle am Markt befindlichen Distributionen werden mit eigenen (grafischen) Tools ausgeliefert, die den Internetzugang vereinfachen sollen. Falls Sie z.B. als grafische Oberfläche KDE verwenden, haben Sie mit kppp ein Windows-artiges Programm, mit dem Sie alle Einstellungen vornehmen können, die für den Verbindungsaufbau notwendig sind. Falls Sie schon eine funktionierende Internetanbindung für Ihren Linux-Rechner haben, brauchen Sie nichts zu ändern (Never touch a running system). Diese Dokumentation beschreibt einen Weg, der auf jedem Linux-Rechner funktionieren sollte.

Was Sie brauchen:
(oder: Wie Sie nachsehen, ob Sie es schon haben)


Damit Sie wissen, was Sie tun:


Los geht's!

Falls Sie über keine grafische Oberfläche verfügen, loggen Sie sich bitte auf zwei Konsolen (Konsolenwechsel mit Alt-F1-6, aber das wissen Sie sicher) als root ein. Falls Sie X-Windows installiert haben, machen Sie zwei xterm-Fenster auf und werden dort root (mit dem Befehl su).

Auf der zweiten Konsole oder im zweiten xterm-Fenster starten Sie tail -f /var/log/messages. Damit sind Sie immer am laufenden, was passiert: Sowohl pppd als auch chat schicken sehr viele Informationen an dieses File. Dieses tail -f können Sie die ganze Zeit laufen lassen - es dient nur dazu, eventuelle Fehlermeldungen auszulesen. Alles weitere hier Beschriebene machen Sie in der ersten Konsole bzw. dem ersten xterm-Fenster.

Editieren Sie die Datei /etc/resolv.conf und fügen Sie die Zeilen
nameserver 131.130.1.11
nameserver 131.130.1.12
ein. Dadurch werden die Nameserver der Uni Wien Ihrem Rechner bekanntgemacht.

Editieren Sie die Datei /etc/ppp/pap-secrets und fügen Sie die Zeile
a0815xyz uni abc123
ein. Statt a0815xyz geben Sie Ihre UserID auf dem Unet- oder Mailbox-Rechner ein, danach ein frei wählbares Wort, das die Verbindung kennzeichnet (uni ist keine schlechte Wahl), und statt abc123 das dazugehörige Passwort. Sie sehen: Ihr Passwort steht im Klartext in dieser Datei! Vergewissern Sie sich deshalb bitte mittels ls -l /etc/ppp/pap-secrets, dass diese Datei wirklich nur vom User root gelesen werden kann. Die Ausgabe sollte etwa so aussehen:
franzi:/root #ls -l /etc/ppp/pap-secrets -rw--- 1 root root 94 Sep 1 18:21 /etc/ppp/pap-secrets

Falls diese Datei andere Permissions hat, ändern Sie diese bitte mittels chmod 600 /etc/ppp/pap-secrets.

Jetzt wird¿s ernst. Geben Sie bitte folgende Zeile ein (was das zu bedeuten hat, wird in der Tabelle erklärt):
franzi:/root #pppd -detach /dev/ttyS1 connect 'chat -v "" at\&f1; OK atdt0718914012 CONNECT' 38400 modem crtscts defaultroute user a0815xyz remotename uni

pppd Damit wird der Point to Point Protocol-Dämon gestartet.
-detach Damit wird der pppd nicht gleich in den Hintergrund geschickt (in unserem Fall sinnvoll, solange wir noch nicht sicher sind, ob alles so funktioniert, wie wir wollen).
/dev/ttyS1 Die serielle Schnittstelle, an der Ihr Modem hängt. /dev/ttyS0 steht für COM1 und /dev/ttyS1 für COM2 unter DOS bzw. Windows.
connect Diese Option steht vor dem Programm, das mit dem Modem spricht. In unserem Fall verwenden wir chat, und da wir chat auch einiges mitzugeben haben, muss alles unter einfachen Anführungszeichen (') stehen.
'chat -v ""
at\&f1; OK atdt0718914012
CONNECT'
chat wird gestartet. -v bewirkt, dass chat alles mitloggt - dadurch können wir im anderen Fenster, wo das tail -f /var/log/messages läuft, alles mitverfolgen. chat funktioniert ganz einfach: Abwechselnd wird gewartet und gesendet. In unserem Fall wartet das Modem zunächst auf nichts (""), sendet dann den Modeminit-String (mit at&f1; werden die meisten Modems in den Ursprungszustand versetzt), wartet auf ein OK, sendet dem Modem die Telefonnummer (atdt steht für Los, Modem, wähle die folgende Nummer und benutze das Tonwahlverfahren) und wartet auf ein CONNECT - fertig.
38400 Die Geschwindigkeit der seriellen Schnittstelle. Sie sollten auch einen höheren Wert verwenden können (z.B. 115200). Mehr dazu finden Sie mit man setserial.
modem Wir verwenden ein Modem.
crtscts Hardware Flow Control wird verwendet.
defaultroute Die Modemverbindung wird Ihre Default-Route, d.h. alle Datenpakete, die ans Internet gehen, werden über das Modem geschickt.
user a0815xyz Da muss jetzt genau der Username stehen, den Sie in /etc/ppp/pap-secrets eingetragen haben.
remotename uni Da muss jetzt das zweite Wort aus /etc/ppp/pap-secrets stehen.

Erläuterung der Linux-Befehlszeile für den manuellen Verbindungsaufbau


Nachdem Sie diese lange Zeile eingegeben haben, brauchen Sie nur noch Enter zu drücken, und das Modem sollte zu wählen beginnen und die Verbindung herstellen. Im Logfenster sollten Sie etwas in dieser Art sehen:

Sep 3 15:08:33 franzi pppd[197]: pppd 2.4.1 started by root, uid 0
Sep 3 15:08:34 franzi chat[200]: send (at&f1;^M)
Sep 3 15:08:34 franzi chat[200]: expect (OK)
Sep 3 15:08:34 franzi chat[200]: at&f1;^M^M
Sep 3 15:08:34 franzi chat[200]: OK - got it
Sep 3 15:08:34 franzi chat[200]: send (atdt0718914012^M)
Sep 3 15:08:34 franzi chat[200]: expect (CONNECT)
Sep 3 15:08:34 franzi chat[200]: ^M
Sep 3 15:08:52 franzi chat[200]: atdt0718914012^M^M
Sep 3 15:08:52 franzi pppd[197]: Serial connection established.
Sep 3 15:08:52 franzi chat[200]: CONNECT - got it
Sep 3 15:08:53 franzi pppd[197]: Using interface ppp0
Sep 3 15:08:53 franzi pppd[197]: Connect: ppp0 <-> /dev/cua1
Sep 3 15:09:00 franzi pppd[197]: Remote message:
Sep 3 15:09:03 franzi pppd[197]: local IP address 131.130.231.34
Sep 3 15:09:03 franzi pppd[197]: remote IP address 131.130.230.14

Geschafft, der Rechner ist Teil des Internet! Sie können hier auch auslesen, wo das chat-Skript unter Umständen Fehler hat, und diese vor dem nächsten Versuch ausbessern. Nachdem wir den pppd auf der ersten Konsole im Vordergrund laufen haben, ist diese unbrauchbar. Stoppen Sie daher den Job mittels Strg-Z und schicken Sie Ihn mittels bg in den Hintergrund. Jetzt können Sie auch die erste Konsole wieder verwenden und z.B. mit ping www.univie.ac.at testen, ob die Verbindung wirklich funktioniert.

Beenden kann man die Verbindung mittels killall pppd - das Modem sollte sofort auflegen. Die oben angeführte lange Zeile (so sie funktioniert) ist die Basis unseres weiteren Vorgehens.


Und jetzt ohne Hände:

Nun wollen wir das Ganze automatisieren. Am einfachsten geht das, indem wir zwei Skripts schreiben, die die Verbindung auf- und abbauen. Damit diese Skripts nicht immer mit vollem Pfad aufgerufen werden müssen, erstellen wir sie in einem Verzeichnis, das im Pfad des Users root steht, z.B. /usr/sbin. Wechseln Sie in dieses Verzeichnis und benutzen Sie Ihren Lieblingseditor (vi), um eine neue Datei namens uniup zu erstellen. Diese Datei sollte folgendermaßen aussehen:

#!/bin/bash
pppd /dev/ttyS1 connect \
'chat -v "" at\&f1; OK atdt0718914012 CONNECT' \
38400 modem crtscts defaultroute \
user a0815xyz remotename uni

Was ist anders in der Zeile? Dieses #!/bin/bash ist dazugekommen, das muss da stehen. Das -detach schreiben wir nicht mehr rein - wir wollen ja, dass sich der pppd in den Hintergrund begibt. Die Backslashes (\) haben nur kosmetische Funktion, man könnte alles (außer #!/bin/bash) in eine Zeile schreiben. Stellen Sie bitte sicher, dass sich rechts von den Backslashes wirklich nichts befindet (auch kein Leerzeichen).

Die zweite Datei nennen wir unidown und die sieht so aus:

#!/bin/bash
killall pppd

Jetzt müssen wir diese beiden Dateien noch ausführbar machen:

chmod u+x uniup
chmod u+x unidown

Sie können jetzt jederzeit (als root!) die Wählleitungsverbindung mittels Aufruf von uniup aufbauen und mittels unidown beenden.

zum Seitenanfang