ppp-on
DateiKopieren 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.
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.
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.
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.
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.
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.
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.
chat
ZeileDer 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.
pppd
ZeileDa 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
Das war es. Verlassen Sie den Editor und ändern sie die Zugriffsrechte der Skript Datei auf 750!