/usr/share/doc/HOWTO/de-html/DE-PPP-HOWTO-15.html is in doc-linux-de 2003.10-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.65">
<TITLE>Linux PPP HOWTO: Erzeugen einer eigenen ppp-on Datei</TITLE>
<LINK HREF="DE-PPP-HOWTO-16.html" REL=next>
<LINK HREF="DE-PPP-HOWTO-14.html" REL=previous>
<LINK HREF="DE-PPP-HOWTO.html#toc15" REL=contents>
</HEAD>
<BODY>
<A HREF="DE-PPP-HOWTO-16.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-PPP-HOWTO-14.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PPP-HOWTO.html#toc15"><IMG SRC="toc.png" ALT="Inhalt"></A>
<HR>
<H2><A NAME="s15">15.</A> <A HREF="DE-PPP-HOWTO.html#toc15">Erzeugen einer eigenen <CODE>ppp-on</CODE> Datei</A></H2>
<P>Kopieren Sie die <CODE>ppp-on</CODE> Datei unter einem neuen Namen.
Der Autor selbst benutzt <CODE>ppp-providername</CODE>.
Auf diese Weise kann man immer wieder mit dem Original anfangen,
falls es zu Problemen mit der selbst erstellten Version kommen
sollte.</P>
<P>Nun werden wir die Datei editieren, wobei wir die Informationen
verwenden, die wir vom System Administrator des PPP Servers
erhalten haben.</P>
<P><CODE>ppp-on</CODE> ist ein Bourne Shell Skript. Als erstes setzt es eine
Anzahl von Shellvariablen für die spätere Verwendung.</P>
<H2><A NAME="ss15.1">15.1</A> <A HREF="DE-PPP-HOWTO.html#toc15.1">Lock file Verzeichnis (LOCKDIR)</A>
</H2>
<P>Suchen Sie in dem Verzeichnis <CODE>/var</CODE> und dessen Unterverzeichnissen
nach Ihrem lock file Verzeichnis. Für ein Linux System nach dem
<EM>FSSTND</EM> sollte dieses <CODE>/var/lock</CODE> sein. Ältere Systeme benutzen
eventuell <CODE>/var/spool/lock</CODE>.</P>
<P>Ändern Sie die <CODE>LOCKDIR=</CODE> Zeile so, daß sie auf das
lock Verzeichnis Ihres Systems zeigt.</P>
<H2><A NAME="ss15.2">15.2</A> <A HREF="DE-PPP-HOWTO.html#toc15.2">Serielle Schnittstelle (DEVICE)</A>
</H2>
<P>Dieses ist die serielle Schnittstelle, die mit dem zu verwendenden
Modem verbunden ist, wobei das <CODE>/dev/</CODE> Prefix weggelassen
wird.</P>
<P>Editieren sie die <CODE>DEVICE=</CODE> Zeile, so daß sie auf die serielle
Schnittstelle zeigt, an dem das Modem hängt.</P>
<H2><A NAME="ss15.3">15.3</A> <A HREF="DE-PPP-HOWTO.html#toc15.3">PPP Server Telefonnummer (PHONE)</A>
</H2>
<P>Dieses ist die Telefonnummer, die gewählt werden muß, um den
PPP Server zu erreichen.</P>
<P>Editieren Sie die <CODE>PHONE=</CODE>, so daß sie die Telefonnummer
des PPP Servers enthält.</P>
<H2><A NAME="ss15.4">15.4</A> <A HREF="DE-PPP-HOWTO.html#toc15.4">Benutzername (USER)</A>
</H2>
<P>Dieses ist der Benutzername, der zum Einloggen in den PPP Server
verwendet wird.</P>
<P>Editieren Sie die <CODE>USER=</CODE> 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.</P>
<H2><A NAME="ss15.5">15.5</A> <A HREF="DE-PPP-HOWTO.html#toc15.5">Paßwort (PASSWORD)</A>
</H2>
<P>Dieses ist das Paßwort, das man zum Einloggen in den PPP Server
verwendet.</P>
<P>Editieren sie die <CODE>PASSWORD</CODE> Zeile, so daß sie Ihr Paßwort enthält.
Auch hier wird meistens die Klein- und Großschreibung unterschieden.</P>
<P>Nun gibt es ein kleines Problem. Mit den Zugriffsrechten, wie sie
gerade gesetzt sind, kann jeder die <CODE>ppp-on</CODE> Datei
lesen und kann so an das Paßwort gelangen. Aus diesem Grund muß
man die Dateirechte nach dem Editieren unbedingt auf 750 ändern
(<CODE>chmod 750 /usr/sbin/ppp-on</CODE>), so daß nur <CODE>root</CODE>
und die Mitglieder der <CODE>ppp</CODE> Gruppe diese Datei lesen können.</P>
<P>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.</P>
<H2><A NAME="ss15.6">15.6</A> <A HREF="DE-PPP-HOWTO.html#toc15.6">Ihre IP Adresse (OUR_IP_ADDR)</A>
</H2>
<P>Falls der Server, zu dem man eine Verbindung aufbauen möchte,
<EM>dynamische</EM> 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 <CODE>$OUR_IPADDR:</CODE> vom <CODE>pppd</CODE>
Aufruf zu entfernen.</P>
<P>Falls Sie vom Administrator des PPP Servers eine eigene IP Nummer
erhalten haben, benutzen Sie <EM>statische</EM> IP Nummern. In
diesem Fall muß diese IP Nummer in dieser Zeile eingetragen werden.</P>
<H2><A NAME="ss15.7">15.7</A> <A HREF="DE-PPP-HOWTO.html#toc15.7">Editieren der <CODE>chat</CODE> Zeile</A>
</H2>
<P>Der gesamte <CODE>chat</CODE> Befehl muß aus einer Zeile bestehen. Zeilenumbrüche
sind nicht erlaubt. Ausnahmen werden in der man page von <CODE>chat</CODE>
beschrieben.</P>
<P>Die <CODE>chat</CODE> Zeile beginnt mit Optionen für <CODE>chat</CODE> selbst.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
-l LCK..$DEVICE
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dieses richtet den lock file ein.</P>
<P>Eine andere <EM>sehr</EM> nützliche Option für das Debuggen ist <CODE>-v</CODE>,
welche <CODE>chat</CODE> 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 <CODE>chat</CODE> Zeile wäre also</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
-v -l LCK..$DEVICE
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Die erwarte/sende Paare beginnen mit</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
"" ATZ
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Dieses bedeutet, erwarte nichts und sende <CODE>ATZ</CODE>, welches das Modem
zurücksetzt und dessen Standardeinstellung lädt.</P>
<P>Nun haben wir</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
OK ATDT$PHONE
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>welches auf die <CODE>OK</CODE> Antwort des Modems als Antwort auf den
<CODE>ATZ</CODE> 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</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
OK ATDT&K3S0=0DT$PHONE
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Das nächste Paar ist</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
CONNECT ""
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>welches bedeutet, erwarte <CODE>CONNECT</CODE>, welches das Modem nach einem
Verbindungsaufbau mit dem anderen Modem sendet, und sende nichts.</P>
<P>Nun kommen wir zum eigentlich Einlogprozeß</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ogin: $USER
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>welches auf das login prompt wartet und dann den eigenen Benutzernamen
sendet. Der String, der von <CODE>chat</CODE> erwartet wird, muß an den
Loginprozeß des eigenen Providers, den man vorher genau mitgeschrieben
hat, angepaßt werden.</P>
<P>Nun warten wir auf die Aufforderung, daß Paßwort einzugeben</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
assword: \\q$PASSWORD
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>und senden unser Paßwort. Das <CODE>\\q</CODE> fordert <CODE>chat</CODE>
auf, daß Paßwort nicht in den Logdateien des Systems zu speichern, was
ansonsten bei Verwendung der <CODE>-v</CODE> Option passieren würde.</P>
<P>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.</P>
<P>In meinem Fall benutzt der PPP Server das normale Linux Bash Prompt</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
[hartr@kepler hartr]$
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>und erwartet, daß ich folgendes eingebe</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
ppp
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>um PPP auf dem Server zu starten, so daß mein erwarte/sende Paar
so aussieht</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
hartr ppp
</PRE>
</CODE></BLOCKQUOTE>
</P>
<P>Das <CODE>chat</CODE> Programm hat noch viel mehr Funktionen, wie wir hier
beschrieben haben, wie z.B. die Fehlerbehandlung und fehlende
erwarte Strings. Weitere Informationen zu <CODE>chat</CODE> befinden sich in dessen
man page.</P>
<P>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.</P>
<H2><A NAME="ss15.8">15.8</A> <A HREF="DE-PPP-HOWTO.html#toc15.8">Editieren der <CODE>pppd</CODE> Zeile</A>
</H2>
<P>Da man ja eine <CODE>/etc/ppp/options</CODE> Datei eingerichtet hat,
muß man dem <CODE>pppd</CODE> keine weiteren Optionen außer <CODE>$DEVICE</CODE>
übergeben. Diese Option sagt dem <CODE>pppd</CODE>, welche serielle Schnittstelle
er verwenden soll.</P>
<P>Allerdings kann man auch alle Optionen auf der Kommandozeile
übergeben, wobei der <CODE>pppd</CODE> 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.</P>
<P>Wie wir bereits gesehen haben, kann das Loggen der Debuginformationen
mit der Option <CODE>-d</CODE> vom <CODE>pppd</CODE> 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.</P>
<P>Falls man die Datei mit den PPP Optionen nicht
<CODE>/etc/ppp/options</CODE> oder <CODE>/etc/ppp/options.ttySx</CODE>
genannt hat, übergibt man den Dateinamen mit der <CODE>-f</CODE> Option an
den <CODE>pppd</CODE>, also z.B.</P>
<P>
<BLOCKQUOTE><CODE>
<PRE>
-f options.myserver
</PRE>
</CODE></BLOCKQUOTE>
</P>
<H2><A NAME="ss15.9">15.9</A> <A HREF="DE-PPP-HOWTO.html#toc15.9">Speichern des Skriptes</A>
</H2>
<P><EM>Das war es. Verlassen Sie den Editor und ändern sie die
Zugriffsrechte der Skript Datei auf 750!</EM></P>
<HR>
<A HREF="DE-PPP-HOWTO-16.html"><IMG SRC="next.png" ALT="Weiter"></A>
<A HREF="DE-PPP-HOWTO-14.html"><IMG SRC="prev.png" ALT="Zurück"></A>
<A HREF="DE-PPP-HOWTO.html#toc15"><IMG SRC="toc.png" ALT="Inhalt"></A>
</BODY>
</HTML>
|