Inhalt

15. Erzeugen einer eigenen ppp-on Datei

Kopieren Sie die ppp-on Datei unter einem neuen Namen. Der Autor selbst benutzt ppp-providername. Auf diese Weise kann man immer wieder mit dem Original anfangen, falls es zu Problemen mit der selbst erstellten Version kommen sollte.

Nun werden wir die Datei editieren, wobei wir die Informationen verwenden, die wir vom System Administrator des PPP Servers erhalten haben.

ppp-on ist ein Bourne Shell Skript. Als erstes setzt es eine Anzahl von Shellvariablen für die spätere Verwendung.

15.1 Lock file Verzeichnis (LOCKDIR)

Suchen Sie in dem Verzeichnis /var und dessen Unterverzeichnissen nach Ihrem lock file Verzeichnis. Für ein Linux System nach dem FSSTND sollte dieses /var/lock sein. Ältere Systeme benutzen eventuell /var/spool/lock.

Ändern Sie die LOCKDIR= Zeile so, daß sie auf das lock Verzeichnis Ihres Systems zeigt.

15.2 Serielle Schnittstelle (DEVICE)

Dieses ist die serielle Schnittstelle, die mit dem zu verwendenden Modem verbunden ist, wobei das /dev/ Prefix weggelassen wird.

Editieren sie die DEVICE= Zeile, so daß sie auf die serielle Schnittstelle zeigt, an dem das Modem hängt.

15.3 PPP Server Telefonnummer (PHONE)

Dieses ist die Telefonnummer, die gewählt werden muß, um den PPP Server zu erreichen.

Editieren Sie die PHONE=, so daß sie die Telefonnummer des PPP Servers enthält.

15.4 Benutzername (USER)

Dieses ist der Benutzername, der zum Einloggen in den PPP Server verwendet wird.

Editieren Sie die USER= Zeile, so daß sie Ihren Benutzernamen auf dem PPP Server enthält. Dabei sollte man bedenken, daß Unix und die meisten PPP Server die Klein- und Großschreibung unterscheiden.

15.5 Paßwort (PASSWORD)

Dieses ist das Paßwort, das man zum Einloggen in den PPP Server verwendet.

Editieren sie die PASSWORD Zeile, so daß sie Ihr Paßwort enthält. Auch hier wird meistens die Klein- und Großschreibung unterschieden.

Nun gibt es ein kleines Problem. Mit den Zugriffsrechten, wie sie gerade gesetzt sind, kann jeder die ppp-on Datei lesen und kann so an das Paßwort gelangen. Aus diesem Grund muß man die Dateirechte nach dem Editieren unbedingt auf 750 ändern (chmod 750 /usr/sbin/ppp-on), so daß nur root und die Mitglieder der ppp Gruppe diese Datei lesen können.

Denken Sie bitte daran, daß, auch wenn Sie der einizige Benutzer des Rechners sind, Sie eine Verbindung zum Internet oder einem anderen Netzwerk aufbauen. Da Linux ein Multiuser Betriebssystem ist, könnte jemand versuchen, sich in Ihr System einzuloggen, während die Verbindung besteht und an Ihre Daten (Name und Paßwort) für Ihren PPP Account gelangen. Mit diesen Daten hätte der Angreifer dann die Möglichkeit, sich auf Ihre Kosten ins Internet einzuwählen und unter Ihrem Namen Straftaten zu begehen.

15.6 Ihre IP Adresse (OUR_IP_ADDR)

Falls der Server, zu dem man eine Verbindung aufbauen möchte, dynamische IP Nummern verwendet, muß dieses auf 0.0.0.0 gesetzt werden. Noch besser ist es allerdings, diese Zeile dann komplett zu löschen und auch das $OUR_IPADDR: vom pppd Aufruf zu entfernen.

Falls Sie vom Administrator des PPP Servers eine eigene IP Nummer erhalten haben, benutzen Sie statische IP Nummern. In diesem Fall muß diese IP Nummer in dieser Zeile eingetragen werden.

15.7 Editieren der chat Zeile

Der gesamte chat Befehl muß aus einer Zeile bestehen. Zeilenumbrüche sind nicht erlaubt. Ausnahmen werden in der man page von chat beschrieben.

Die chat Zeile beginnt mit Optionen für chat selbst.

-l LCK..$DEVICE

Dieses richtet den lock file ein.

Eine andere sehr nützliche Option für das Debuggen ist -v, welche chat auffordert, den gesamten Einlogvorgang mittels syslog mitzuspeichern. Wenn man das erste mal eine Verbindung aufbaut, sollte man diese Option verwenden, um eventuelle Fehler aufspüren zu können. Der Anfang der chat Zeile wäre also

-v -l LCK..$DEVICE

Die erwarte/sende Paare beginnen mit

"" ATZ

Dieses bedeutet, erwarte nichts und sende ATZ, welches das Modem zurücksetzt und dessen Standardeinstellung lädt.

Nun haben wir

OK ATDT$PHONE

welches auf die OK Antwort des Modems als Antwort auf den ATZ Befehl wartet und dann das Kommando für die Tonwahl und die entsprechende Telefonnummer sendet. Falls es nicht gelingt, daß Modem so zu konfigurieren, daß es nach dem Reset die richtigen Einstellungen für die PPP Verbindung verwendet, kann man hier einen String für die Initialisierung des Modems einbinden. Zum Beispiel

OK ATDT&K3S0=0DT$PHONE

Das nächste Paar ist

CONNECT ""

welches bedeutet, erwarte CONNECT, welches das Modem nach einem Verbindungsaufbau mit dem anderen Modem sendet, und sende nichts.

Nun kommen wir zum eigentlich Einlogprozeß

ogin: $USER

welches auf das login prompt wartet und dann den eigenen Benutzernamen sendet. Der String, der von chat erwartet wird, muß an den Loginprozeß des eigenen Providers, den man vorher genau mitgeschrieben hat, angepaßt werden.

Nun warten wir auf die Aufforderung, daß Paßwort einzugeben

assword: \\q$PASSWORD

und senden unser Paßwort. Das \\q fordert chat auf, daß Paßwort nicht in den Logdateien des Systems zu speichern, was ansonsten bei Verwendung der -v Option passieren würde.

Falls Sie auf dem PPP Server zuerst ein Kommando eingeben müssen, um PPP zu starten, fügen Sie ein zusätzliches erwarte/sende Paar hinzu. Dieses sollte auf das Login Prompt warten, wobei man auf bestimmte Buchstaben wie $ und [ oder ] achten sollte, die beim Bourne Shell eine besondere Bedeutung haben, und den Befehl zum Start von PPP senden.

In meinem Fall benutzt der PPP Server das normale Linux Bash Prompt

[hartr@kepler hartr]$

und erwartet, daß ich folgendes eingebe

ppp

um PPP auf dem Server zu starten, so daß mein erwarte/sende Paar so aussieht

hartr ppp

Das chat Programm hat noch viel mehr Funktionen, wie wir hier beschrieben haben, wie z.B. die Fehlerbehandlung und fehlende erwarte Strings. Weitere Informationen zu chat befinden sich in dessen man page.

Manche PPP Server haben nicht bei jedem Einloggen genau die gleichen Eingabeaufforderungen, so daß man sich eventuell mehrere male per Hand einloggen muß, um zu verstehen, was genau passiert und welche erwarte Strings man verwenden kann.

15.8 Editieren der pppd Zeile

Da man ja eine /etc/ppp/options Datei eingerichtet hat, muß man dem pppd keine weiteren Optionen außer $DEVICE übergeben. Diese Option sagt dem pppd, welche serielle Schnittstelle er verwenden soll.

Allerdings kann man auch alle Optionen auf der Kommandozeile übergeben, wobei der pppd Befehl und alle seine Optionen in einer Zeile stehen müssen und das device gefolgt von der Geschwindigkeit der Schnittstelle die letzten übergebenen Optionen sein müssen.

Wie wir bereits gesehen haben, kann das Loggen der Debuginformationen mit der Option -d vom pppd eingeschaltet werden. Dieses sollte man bei den ersten Versuchen mit einem neuen Skript immer verwenden. Allerdings sollte man, wenn man nur über wenig freien Platz auf der Festplatte verfügt, bedenken, daß die Logdateien einigen Platz auf der Festplatte einnehmen können.

Falls man die Datei mit den PPP Optionen nicht /etc/ppp/options oder /etc/ppp/options.ttySx genannt hat, übergibt man den Dateinamen mit der -f Option an den pppd, also z.B.

-f options.myserver

15.9 Speichern des Skriptes

Das war es. Verlassen Sie den Editor und ändern sie die Zugriffsrechte der Skript Datei auf 750!


Inhalt