<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook V3.1-Based Variant V1.0//EN" [
 <!ENTITY kppp "<application>kppp</application>">
 <!ENTITY % addindex "IGNORE">
 <!ENTITY % German "INCLUDE">
 <![ %addindex; [ <!ENTITY docindex SYSTEM "docindex.docbook"> ]]>
]>
<book lang="de">
<bookinfo>
<title>Das Kppp-Handbuch</title>
<authorgroup>
<author>
<firstname>Bernd Johannes</firstname>
<surname>Wuebben</surname>
<affiliation>
<address><email><ulink url="mailto:wuebben@kde.org">wuebben@kde.org</ulink></email></address>
</affiliation>
</author>
</authorgroup>
<releaseinfo>Version 1.6.2</releaseinfo>
<date>5. Februar 1999</date>
<abstract>
<para>Dieses Handbuch beschreibt <emphasis>Kppp</emphasis> Version 1.6.2.</para>
<para>KPPP</para><!-- Merge this with the previous paragraph; it comes from <META NAME="description" CONTENT="..."> --></abstract>
<keywordset>
<keyword>KDE</keyword>
<keyword>internet</keyword>
<keyword>kppp</keyword>
</keywordset>
</bookinfo>

<chapter id="einfuehrung">
<title>Einf&uuml;hrung</title>

<sect1 id="ueber-kppp">
<title>&Uuml;ber Kppp</title>

<para><literal remap="tt"> BITTE DENKEN SIE DARAN, DIE H&Auml;UFIG GESTELLTEN FRAGEN ZU LESEN! DANKE! </literal></para>

<para><emphasis>Kppp</emphasis> ist ein W&auml;hler und Frontend f&uuml;r <emphasis>pppd</emphasis>. Es bietet interaktive
Skript-Erstellung und Netzwerkeinstellung. Es automatisiert den Einwahlprozess
zu Ihrem Internet-Provider w&auml;hrend Sie bequem den gesamten Vorgang
&uuml;berwachen k&ouml;nnen. Sobald Sie verbunden sind, bietet <emphasis>Kppp</emphasis> eine
gro&szlig;e Anzahl an Statistiken und &uuml;berwacht f&uuml;r Sie die online verbrachte
Zeit. Ein eingebautes Terminal und ein Skriptgenerator erlauben Ihnen,
Ihre Verbindung mit Leichtigkeit einzustellen. Sie ben&ouml;tigen keine
weiteren Terminalprogramme wie Seyon oder Minicom, um Ihre Verbindung
zu testen und einzustellen. <emphasis>Kppp</emphasis> bietet eine ausgefeilte
Telefonkostenabrechnung, die Ihnen erlaubt, Ihre Onlinekosten
einfach im Blick zu behalten.</para>
</sect1>

<sect1 id="autoren">
<title>Autoren</title>

<para>
<emphasis>Kppp</emphasis> wurde aus <emphasis>ezppp 0.6</emphasis> von Jay Painter weiterentwickelt. 
Allerdings wurde fast alles in <emphasis>Kppp</emphasis> neu geschrieben, so dass <emphasis>ezppp</emphasis>
und <emphasis>Kppp</emphasis> fast nichts mehr gemeinsam haben.</para>

<para>Die Hauptentwickler sind:
<itemizedlist>
<listitem>
<para><literal remap="tt">Bernd Johannes Wuebben</literal>
<ulink url="mailto:wuebben@kde.org">wuebben@kde.org</ulink></para>
</listitem>
<listitem>
<para><literal remap="tt">Mario Weilguni</literal>
<ulink url="mailto:mweilguni@sime.com">mweilguni@sime.com</ulink></para>
</listitem>
<listitem>
<para><literal remap="tt">Harri Porten</literal>
<ulink url="mailto:porten@kde.org">porten@kde.org</ulink></para>
</listitem>
</itemizedlist>
</para>

<para>Vielen Dank an folgende Leute, die Code zu <emphasis>Kppp</emphasis> beigesteuert haben:</para>

<para><itemizedlist>
<listitem>
<para><ulink url="mailto:jesus.fuentes@etsi.tel.uva.es">Jesus Fuentes Saaverdra</ulink>
f&uuml;r Implementierung einiger Optionen und verschiedener anderer Arbeiten.</para>
</listitem>
<listitem>
<para><ulink url="mailto:wuebben@eure.de">Markus Wuebben</ulink> 
f&uuml;r den ATI Fragedialog.
</para>
</listitem>
<listitem>
<para><ulink url="mailto:peter.silva@videotron.ca">Peter Silva</ulink> 
f&uuml;r Popup-Dialoge und andere Hilfen.</para>
</listitem>
<listitem>
<para><ulink url="mailto:MABrown@etcconnect.com">Martin A. Brown</ulink>
f&uuml;r Testlesen von englischem Text im Programm.</para>
</listitem>
<listitem>
<para><ulink url="mailto:mh@ap-dec717c.physik.uni-karlsruhe.de">Martin H&auml;fner</ulink> 
f&uuml;r das Kapitel <link linkend="cb">callback</link></para>
</listitem>
<listitem>
<para><ulink url="mailto:okir@caldera.de">Olaf Kirch</ulink> 
f&uuml;r Einf&uuml;hrung in die Mysterien der "File-Descriptor"-&Uuml;bergabe.</para>
</listitem>
</itemizedlist>
</para>

<para>Deutsche &Uuml;bersetzung:</para>

<para><itemizedlist>
<listitem>
<para>Oliver Hensel <ulink url="mailto:oliver.hensel@gmx.de">&lt;oliver.hensel@gmx.de&gt;</ulink></para>
</listitem>
<listitem>
<para>Matthias Kiefer <ulink url="mailto:matthias.kiefer@gmx.de">&lt;matthias.kiefer@gmx.de&gt;</ulink></para>
</listitem>
</itemizedlist>
</para>
</sect1>

<sect1 id="lizenz-und-garantie">
<title>Lizenz und Garantie</title>

<para><emphasis>Kppp</emphasis> ist unter den Bedingungen der <link linkend="GPL">GNU  General Public License</link> (GPL) ver&ouml;ffentlicht. Es gibt keine <link linkend="gpl">Garantie</link>,
das dieses Programm funktioniert, oder sonstiges.</para>
</sect1>
</chapter>

<chapter id="installation">
<title>Installation</title>

<para><literal remap="tt"> BITTE DENKEN SIE DARAN, DIE H&Auml;UFIG GESTELLTEN FRAGEN ZU LESEN! DANKE!</literal></para>

<sect1 id="wie-man-kppp-bekommt">
<title>Wie man Kppp bekommt</title>

<para><emphasis>Kppp</emphasis> ist eine Anwendung f&uuml;r das KDE-Projekt <ulink url="http://www.kde.org">http://www.kde.org</ulink>.
<emphasis>Kppp</emphasis> kann auf <ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink> gefunden werden,
des FTP-Servers des KDE-Projekts.</para>
</sect1>

<sect1 id="voraussetzungen">
<title>Voraussetzungen</title>

<para>Um <emphasis>Kppp</emphasis> erfolgreich zu kompilieren, ben&ouml;tigen Sie die aktuellsten
Versionen von <emphasis>libkdecore</emphasis> und <emphasis>libkdeui</emphasis>.
Alle ben&ouml;tigten Bibliotheken sowie <emphasis>Kppp</emphasis> selbst k&ouml;nnen auf
<ulink url="ftp://ftp.kde.org/pub/kde/">ftp://ftp.kde.org/pub/kde/</ulink> gefunden werden.</para>
</sect1>

<sect1 id="kompilierung-und-installation">
<title>Kompilierung und Installation</title>

<para><literal remap="tt"> BITTE DENKEN SIE DARAN, DIE H&Auml;UFIG GESTELLTEN FRAGEN ZU LESEN! DANKE! </literal></para>

<para>Ich konnte <emphasis>Kppp</emphasis> nur auf Linux testen, aber Sie sollten
<emphasis>Kppp</emphasis> auf verschiedenen Plattformen, unter anderem SVR4, Solaris 2, Linux,
FreeBSD, NetBSD, SunOS 4, AIX 4, OSF/1,  zum Laufen bringen,
wenn Sie <emphasis>pppd</emphasis> auf diesen Systemen ebenfalls installiert haben.</para>

<para>Falls Sie <emphasis>Kppp</emphasis> auf einer anderen Plattform als Linux kompilieren m&ouml;chten,
&uuml;berpr&uuml;fen Sie bitte zuerst kurz die ersten paar Zeilen aus <literal remap="tt">pppstats.cpp</literal>
und stellen Sie sicher, dass die ``defines'' und ``includes'' in Ordnung sind.
Wahrscheinlich sind sie das. Bitte informieren Sie mich &uuml;ber etwaige
n&ouml;tige &Auml;nderungen.</para>

<para>Um <emphasis>Kppp</emphasis> auf Ihrem System zu kompilieren und installieren, geben Sie
im Grundverzeichnis des <emphasis>Kppp</emphasis>-Pakets folgendes ein:</para>

<para><screen>% ./configure
% make
% make install
</screen>
</para>

<para>Dies installiert <emphasis>Kppp</emphasis> mit gesetztem <link linkend="setuid">SUID</link>-Bit.</para>

<para>Stellen Sie sicher, das die Optionsdatei von pppd, die normalerweise in <literal remap="tt">/etc/ppp/</literal>
steht, existiert aber leer ist. pppd braucht diese Datei, aber sie muss leer sein, da sonst
pppd keine Einstellungen von <emphasis>Kppp</emphasis> &uuml;bernimmt.</para>

<para><emphasis remap="bf">Nochmal:</emphasis>Sollten bei Ihnen Probleme auftauchen, berichten Sie mir davon.</para>
</sect1>

<sect1 id="vorbereitung-fuer-eine-ppp-verbindung">
<title>Vorbereitung Ihres Linux-Systems f&uuml;r eine PPP-Verbindung</title>

<para>Um <emphasis>Kppp</emphasis>/<emphasis>pppd</emphasis> mit Ihrem Kernel zum laufen zu bringen, ben&ouml;tigen sie
PPP-Unterst&uuml;tzung. Falls sie das nicht haben, holen Sie sich die neueste Version von
<ulink url="ftp://sunsite.unc.edu/pub/Linux/system/Network/serial/ppp/">pppd</ulink>
von einem der popul&auml;ren Linuxarchiven und kompilieren Sie Ihren Kernel
mit eingeschalteter PPP-Unterst&uuml;tzung. Haben Sie keine Angst, das h&ouml;rt
sich schwieriger an, als es ist. Vergessen Sie nicht, <emphasis>pppd</emphasis> danach zu
installieren. Falls Sie unsicher sind, ob Sie einen Kernel mit
PPP-Unterst&uuml;tzung haben, geben Sie <literal remap="tt">dmesg</literal> auf der Kommandozeile
ein, und suchen Sie nach etwas wie:</para>

<para><screen>PPP: version 2.3.0 (demand dialling)
TCP compression code copyright 1989 Regents of the University of California
PPP Dynamic channel allocation code copyright 1995 Caldera, Inc.
PPP line discipline registered
</screen>
</para>

<para>Es gab bei PPP &Auml;nderungen von der Linux-Version 1.2.x nach 2.0.x,
die die Programmierung eines neuen <emphasis>pppd</emphasis>-D&auml;mons ben&ouml;tigten. Bei den
meisten Distributionen kann der <emphasis>pppd</emphasis>-D&auml;mon in <literal remap="tt">/usr/sbin</literal> gefunden
werden. Bei Kernelversionen 1.2.x ist die richtige <emphasis>pppd</emphasis>-Version 2.1;
f&uuml;r Kernelversionen 2.0.x ist das 2.2 oder neuer; f&uuml;r Kernelversionen 2.1.x und 2.2.x 
brauchen Sie pppd Version 2.3. Falls Sie nicht
wissen, welche Version von <emphasis>pppd</emphasis> Ihr System hat, k&ouml;nnen Sie folgendes
eingeben:</para>

<para><screen>% pppd --version
</screen>
</para>

<para>Kein <emphasis>pppd</emphasis>-D&auml;mon hat wirklich eine <literal remap="tt">--version</literal>-Option, aber die
Verwendung dieser Option bewegt den <emphasis>pppd</emphasis>-D&auml;mon dazu, einen Fehler &uuml;ber
eine nicht erkannte Option, eine Liste von Optionen
und die Versionsnummer auszugeben.</para>
</sect1>

<sect1 id="mehr-ueber-ppp-pppd">
<title>Mehr &uuml;ber PPP/pppd</title>

<para>Die folgende Webseiten k&ouml;nnten von Interesse f&uuml;r weiterf&uuml;hrende Informationen
&uuml;ber das PPP-Protokoll, <emphasis>pppd</emphasis> und Netzwerke im allgemeinen sein:
<itemizedlist>
<listitem>
<para> Linux PPP FAQ: <ulink url="http://metalab.unc.edu/mdw/FAQ/PPP-FAQ.html">http://metalab.unc.edu/mdw/FAQ/PPP-FAQ.html</ulink></para>
</listitem>
<listitem>
<para> Linux PPP HOWTO: <ulink url="http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html">http://metalab.unc.edu/mdw/HOWTO/PPP-HOWTO.html</ulink></para>
</listitem>
<listitem>
<para> <ulink url="http://www.thoughtport.com:8080/PPP/index.html">http://www.thoughtport.com:8080/PPP/index.html</ulink></para>
</listitem>
<listitem>
<para> The Network Administrators' Guide: <ulink url="http://metalab.unc.edu/mdw/LDP/nag/nag.html">http://metalab.unc.edu/mdw/LDP/nag/nag.html</ulink></para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>

<chapter id="kppp-einstellen">
<title>Kppp einstellen</title>

<para>Um <emphasis>Kppp</emphasis> einzustellen, starten Sie <emphasis>Kppp</emphasis> und dr&uuml;cken Sie den
<emphasis>Einstellungen</emphasis>-Knopf in <emphasis>Kppp</emphasis>'s Hauptfenster. Ein neuer
Dialog erscheint.</para>

<sect1 id="zugaenge">
<title>Zug&auml;nge</title>

<para>Dieser Dialog zeigt die von Ihnen erzeugten Zug&auml;nge.
Sie m&uuml;ssen mindestens einen Zugang erstellen. Der <emphasis>Kosten zur&uuml;cksetzen</emphasis>-Knopf
setzt die gesamten Kosten f&uuml;r den gew&auml;hlten Zugang auf Null zur&uuml;ck.
Typischerweise werden Sie diesen Knopf einmal im Monat bet&auml;tigen wollen,
nachdem Sie Ihre Telefonrechnung &uuml;berpr&uuml;ft haben.</para>
</sect1>

<sect1 id="geraet">
<title>Ger&auml;t</title>

<para><variablelist>
<varlistentry>
<term>Modemger&auml;t</term>
<listitem>
<para>W&auml;hlen Sie das passende Ger&auml;t f&uuml;r Ihre Hardware. 
Hier sind einige Beispiele:
<itemizedlist>
<listitem>
<para><emphasis remap="bf">/dev/ttyS0</emphasis> - DOS oder Windows Benutzer kennen dies als COM1, 
COM2 ist /dev/ttyS1 und so weiter. Diese Ger&auml;te werden haupts&auml;chlich unter Linux benutzt.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">/dev/cua0</emphasis> - der erste serielle Anschluss (COM1). COM2 w&auml;re /dev/cua1
und so weiter. Diese Ger&auml;te werden haupts&auml;chlich auf BSD Systemen benutzt: FreeBSD, NetBSD
und OpenBSD.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">/dev/ttyI0</emphasis> - unter Linux geh&ouml;rt dieses zu internen ISDN-Karten.
Diese Ger&auml;te emulieren ein gew&ouml;hnliches Hayes-kompatibles Modem.
/dev/ttyI0 ist die erste, /dev/ttyI1 die zweite ISDN-Karte usw.
Diese Ger&auml;te sind nur in der Linux Version vorhanden.</para>
</listitem>
<listitem>
<para><emphasis remap="bf">/dev/modem</emphasis> - viele Linuxdistributionen erstellen einen symbolischen Link
vom realen Modemger&auml;t zu /dev/modem. <emphasis remap="bf">Sie sollten es vermeiden, diesen Link zu 
benutzen.</emphasis> Verwenden Sie besser /dev/ttySx (x ist eine Zahl).</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Flusskontrolle</term>
<listitem>
<para>W&auml;hlen Sie aus Hardware- (CRTSCTS), Software- (XON/XOFF)
und keiner Flusskontrolle. Die empfohlene Einstellung ist
Hardware-Flusskontrolle.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Zeilenende</term>
<listitem>
<para>W&auml;hlen Sie die richtige ``Enter''-Zeichenfolge f&uuml;r Ihr Modem.
Die meisten Modems nutzen ``CR/LF''. Trotzdem ben&ouml;tigen manche Modems eine
andere Einstellung. Falls bei Ihnen Probleme beim Ablauf eine Skripts
auftreten: Spielen Sie mit diesem Parameter herum.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Geschwindigkeit</term>
<listitem>
<para>W&auml;hlen Sie sie aus der Liste, der von Ihrer
seriellen Schnittstelle unterst&uuml;tzten Verbindungsgeschwindigkeiten.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Sperrdatei verwenden</term>
<listitem>
<para>Aktivieren Sie diese Option, wenn Kppp eine Sperrdatei erstellen soll.
Unter Linux wird diese Datei in <literal remap="tt">/var/lock</literal> erstellt.
Programme wie <emphasis>mgetty</emphasis> bestehen auf der Existenz solcher Sperrdateien und
<emphasis>Kppp</emphasis> arbeitet nicht mit <emphasis>mgetty</emphasis>, wenn die Sperrdatei nicht 
verwendet wird.
Stellen Sie sicher, dass Sie nicht die Option ``lock'' bei <emphasis>pppd</emphasis> nutzen, 
falls <emphasis>Kppp</emphasis> die Modemsperrung &uuml;bernimmt, da die Option ``lock''
<emphasis>pppd</emphasis> dazu bringt, selbst das Modemger&auml;t sperren zu wollen.
Da <emphasis>Kppp</emphasis> dann bereits das Modem gesperrt hat, scheitert <emphasis>pppd</emphasis> und
<emphasis>Kppp</emphasis> wird sich mit ``pppd died unexpectedly'' melden.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Modem-Wartezeit</term>
<listitem>
<para>Das ist die Zeit, die <emphasis>Kppp</emphasis> auf die ``CONNECT''-Antwort
von Ihrem Modem nach der Anwahl eines anderen Modems wartet.
(Typischerweise ein Modem von Ihrem ISP.) Ich empfehle eine Einstellung von
etwa 30 Sekunden.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="modem">
<title>Modem</title>

<para><variablelist>
<varlistentry>
<term>Modembefehle</term>
<listitem>
<para>Damit kommen Sie in einen Dialog, den Sie
mit den passenden Modembefehlen f&uuml;r Ihr Modem ausf&uuml;llen m&uuml;ssen.
Falls Sie ein Hayes-kompatibles Modem besitzen, m&uuml;ssen Sie
wahrscheinlich die Standardeinstellungen nicht &auml;ndern. Ich
empfehle Ihnen aber trotzdem den Abschnitt &uuml;ber Hayes-Befehle
im Anhang dieser Dokumentation zu lesen. Die dort gebotenen Informationen
sollten auch von Hilfe sein f&uuml;r den Fall, dass Sie auf Probleme
bei der Einstellung einer stabilen Verbindung zu Ihrem ISP sto&szlig;en.
Die zwei Einstellungen "Pre-Init Verz&ouml;gerung" und "Post-Init Verz&ouml;gerung" 
k&ouml;nnten von besonderem Interesse sein, wenn Sie
Modem lock-ups testen.
Diese Optionen veranlassen <emphasis>Kppp</emphasis> dazu, vor und nach dem Senden des
Init-Strings kurz anzuhalten. Die "Pre-Init-Verz&ouml;gerung" wird durch Senden
eines CR abgeschlossen, wenn nicht als Verz&ouml;gerungsintervall 0 eingestellt wurde.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Modemabfrage</term>
<listitem>
<para>Auf Bet&auml;tigung des <emphasis>Modemabfrage</emphasis>-Knopfs hin befragt
<emphasis>Kppp</emphasis> Ihr Modem nach seiner Identifikation. Bei Erfolg wird die Antwort
Ihres Modems in einem Dialog dargestellt. Das kann, abh&auml;ngig
von Ihrem Modem, mehr oder weniger informativ sein.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Terminal</term>
<listitem>
<para>Durch Bet&auml;tigung des <emphasis>Terminal</emphasis>-Knopfs wird ein
Miniterminal gestartet. Sie k&ouml;nnen das Miniterminal benutzen, um Ihr
Modem zu testen, und mit dem Anmeldeprotokoll f&uuml;r eine PPP-Verbindung
mit Ihrem ISP zu experimentieren. Sie ben&ouml;tigen nicht l&auml;nger ein Terminalprogramm
wie <emphasis>Minicom</emphasis> oder <emphasis>Seyon</emphasis>.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="ppp">
<title>PPP</title>

<para><variablelist>
<varlistentry>
<term><emphasis>pppd</emphasis>-Wartezeit</term>
<listitem>
<para><emphasis>Kppp</emphasis> wartet diese Zeit nach dem Ablauf des Skripts
und dem Start von <emphasis>pppd</emphasis>, bis <emphasis>pppd</emphasis> eine g&uuml;ltige PPP-Verbindung aufgebaut
hat, bevor es aufgibt und <emphasis>pppd</emphasis> beendet.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Bei Verbindung in Kontrollleiste einbinden</term>
<listitem>
<para>Falls diese Option gew&auml;hlt ist,
bindet sich <emphasis>Kppp</emphasis> in die Kontrollleiste ein, wo es durch ein kleines animiertes
Symbol symbolisiert wird. Klicken Sie mit der linken Maustaste darauf, um
das <emphasis>Kppp</emphasis>-Fenster wieder herzustellen. Die rechte Maustaste &ouml;ffnet ein
Popup-Men&uuml; das anbietet, das Fenster wieder herzustellen, weitere
&Uuml;bertragungsstatistiken anzuzeigen oder die Verbindung zu schlie&szlig;en.
Diese Option hat Vorrang vor <emphasis>Minimiere Fenster nach dem Verbinden</emphasis>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Automatische Neuwahl nach Trennung</term>
<listitem>
<para>Diese Auswahl bewirkt, dass
<emphasis>Kppp</emphasis> versucht, sich erneut zu verbinden, falls Sie unabsichtlich
getrennt werden w&auml;hrend Sie online sind.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Zeige Verbindungsdauer im Fenstertitel</term>
<listitem>
<para>Damit zeigt <emphasis>Kppp</emphasis> die
Verbindungszeit im Titel des <emphasis>Kppp</emphasis>-Fensters w&auml;hrend Sie online sind an.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Trennen bei Schlie&szlig;en des <emphasis>X-Servers</emphasis></term>
<listitem>
<para>Die Aktivierung dieser Option
bewirkt, dass <emphasis>Kppp</emphasis> die PPP-Verbindung beendet, das Modem auflegen l&auml;sst
und die Geb&uuml;hrenz&auml;hlung in ordentlicher Weise beendet, wenn der
<emphasis>X-Server</emphasis> beendet wird. Das ist n&uuml;tzlich, falls sie immer wieder
vergessen, <emphasis>Kppp</emphasis> vor Beenden des <emphasis>X-Servers</emphasis> zu schlie&szlig;en, oder falls
Sie sich einfach keine Sorgen &uuml;ber das Trennen Ihrer Verbindung
machen m&ouml;chten. Falls Sie nicht m&ouml;chten, dass <emphasis>Kppp</emphasis> das Modem
bei Beenden des <emphasis>X-Servers</emphasis> auflegen l&auml;sst, sollten Sie diese Option nicht
aktivieren. Denken Sie aber daran, dass Sie bei eingeschalteter Geb&uuml;hrenz&auml;hlung
einen nicht beendeten Geb&uuml;hreneintrag in Ihrer Geb&uuml;hrenabrechnung
haben werden, wenn der <emphasis>X-Server</emphasis> sich und damit<emphasis>Kppp</emphasis> beendet.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Minimiere Fenster nach dem Verbinden</term>
<listitem>
<para>Das <emphasis>Kppp</emphasis>-Fenster
wird nach dem Aufbau einer Verbindung minimiert. Die verstrichene
Verbindungszeit wird in der Programmleiste angezeigt.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>
</chapter>

<chapter id="einen-zugang-konfigurieren">
<title>Einen Zugang konfigurieren</title>

<sect1 id="waehlen">
<title>W&auml;hlen</title>

<para><variablelist>
<varlistentry>
<term>Verbindungsname</term>
<listitem>
<para>Sie m&uuml;ssen einen Zugangsnamen angeben. 
Sie k&ouml;nnen einen beliebigen Namen w&auml;hlen, aber wenn Sie mehrere Zug&auml;nge haben,
muss dieser eindeutig sein. </para>
</listitem>
</varlistentry>
<varlistentry>
<term>Telefonnummer</term>
<listitem>
<para>Geben Sie die zu w&auml;hlende Telefonnummer an.
Sie d&uuml;rfen Zeichen wie ``-'' benutzen, um die Nummer lesbarer zu machen.
Wenn Sie eine Serie von Nummern (durch Doppelpunkte getrennt) eingeben,
wird <emphasis>Kppp</emphasis> sie in dieser Reihenfolge durchprobieren, wenn die Leitung besetzt ist. 
Beispiel: "1111111:2222222:3333333"</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Authentifizierung</term>
<listitem>
<para>W&auml;hlen Sie die passende Authentifizierungsmethode, die <emphasis>Kppp</emphasis> benutzen soll,
um Sie bei Ihrem Provider anzumelden. Erkundigen Sie sich bei Ihrem Provider,
ob er PAP oder CHAP Unterst&uuml;tzung anbietet oder ob Sie eine Skript-
oder Terminal-basierte Anmeldung vornehmen m&uuml;ssen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Speichere Passwort</term>
<listitem>
<para>Aktivieren Sie diese Option, wenn <emphasis>Kppp</emphasis> bei der
n&auml;chsten Verbindung Ihr Passwort automatisch eingeben soll.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>F&uuml;hre bei Verbindung Programm aus</term>
<listitem>
<para><emphasis>Kppp</emphasis> versucht, den hier
angegebenen Befehl auszuf&uuml;hren, sobald eine PPP-Verbindung hergestellt
wurde.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>F&uuml;hre nach Trennung Programm aus</term>
<listitem>
<para>analog zum Vorherigen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>F&uuml;hre vor Trennung Programm aus</term>
<listitem>
<para><emphasis>Kppp</emphasis> wird dieses Kommando vor Trennung der Verbindung
ausf&uuml;hren. DIes ist n&uuml;tzlich, wenn Sie eine Route oder Adresse &auml;ndern m&uuml;ssen, wenn
Sie das Netz verlassen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Bearbeite <emphasis>pppd</emphasis>-Argumente</term>
<listitem>
<para>Das &ouml;ffnet den <emphasis>pppd</emphasis>-Argumente-Dialog. Sie k&ouml;nnen diesen Dialog nutzen,
um jede gew&uuml;nschte Option hinzuzuf&uuml;gen, die <emphasis>Kppp</emphasis> an <emphasis>pppd</emphasis> weitergeben soll.
Sehen Sie in der <emphasis>pppd</emphasis>-Manpage f&uuml;r eine Liste der verf&uuml;gbaren Optionen nach.
Solange Sie nicht genau wissen, was Sie tun, sollten Sie davon Abstand
nehmen, an den <emphasis>pppd</emphasis>-Optionen herumzuspielen.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="auto-configurehostname">
<title>IP</title>

<para><variablelist>
<varlistentry>
<term>Dynamische IP-Adresse</term>
<listitem>
<para>Aktivieren Sie diese Option, wenn Ihr ISP dynamische
IP-Adresszuweisung benutzt. Das bedeutet, dass sich Ihre IP-Adresse vermutlich
bei jedem Verbindungsaufbau &auml;ndert.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Statische IP-Adresse</term>
<listitem>
<para>W&auml;hlen Sie dies, falls Ihr ISP Ihnen eine
feste IP-Adresse gegeben hat. In diesem Fall m&uuml;ssen Sie auch diese Adresse
und die Teilnetz-Maskierung angeben. Fragen Sie Ihren ISP, falls Sie
unsicher sind.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Konfiguriere Hostname automatisch von dieser IP</term>
<listitem>
<para>W&auml;hlen Sie diese Option,
falls Sie m&ouml;chten, dass <emphasis>Kppp</emphasis> den Host- und Domainnamen f&uuml;r Ihren Rechner
nach erfolgreichem Verbindungsaufbau einstellt.
Dies wird gemacht, indem der angegebene Domain Name Server mit der
zugewiesenen IP-Adresse f&uuml;r die PPP-Verbindung befragt wird.
Diese Option ist n&uuml;tzlich f&uuml;r Stand-Alone Rechner, die Protokolle wie
<emphasis>talk</emphasis> nutzen wollen, die ben&ouml;tigen, dass der Hostname der gleiche ist,
wie der, den Ihr Rechner im Internet hat.
Es &uuml;berschreibt die Domain-Namensoption im DNS-Abschnitt.
Die Standardwerte werden auf die urspr&uuml;nglichen Werte zur&uuml;ckgesetzt,
wenn Sie die PPP-Verbindung schlie&szlig;en.
Seien Sie vorsichtig, wenn Sie diese Option w&auml;hlen: sie k&ouml;nnte sich als
n&uuml;tzlich f&uuml;r Sie herausstellen, aber sie kann auch eine Menge an
unerw&uuml;nschten Nebeneffekten verursachen. Spielen Sie damit herum&hellip;</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="dns">
<title>DNS</title>

<para><variablelist>
<varlistentry>
<term>Domain-Name</term>
<listitem>
<para>Geben Sie den Domainnamen f&uuml;r Ihre Maschine an.
Wie bei DNS-Adressen wird dies auf die urspr&uuml;nglichen Angaben aus
<literal remap="tt">/etc/resolv.conf</literal> zur&uuml;ckgesetzt, wenn die Verbindung beendet wird.
Falls Sie hier nichts eintragen, werden keine &Auml;nderungen am Domainnamen
vorgenommen, der in <literal remap="tt">/etc/resolv.conf</literal> angegeben ist.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DNS-Server</term>
<listitem>
<para>F&uuml;gen Sie die Domain Name Server von Ihrem ISP an.
Sie m&uuml;ssen mindestens einen Domain Name Server angeben, um
menschlich lesbare IP-Adressen wie <literal remap="tt">ftp.kde.org</literal> aufzul&ouml;sen.
Die angegebenen DNS-Serveradressen m&uuml;ssen in numerischer Form vorliegen,
z.B. <literal remap="tt">128.231.231.233</literal>. Die Adressen werden zur Laufzeit zu
denen aus <literal remap="tt">/etc/resolv.conf</literal> hinzugef&uuml;gt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Schalte w&auml;hrend Verbindung existierende DNS-Servers aus</term>
<listitem>
<para>W&auml;hlen Sie diese Option, wenn <emphasis>Kppp</emphasis> bereits vorhandene Nameserver-Eintr&auml;ge
aus <literal remap="tt">/etc/resolv.conf</literal> ausschalten soll.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="gateway">
<title>Gateway</title>

<para><variablelist>
<varlistentry>
<term>Standard-Gateway</term>
<listitem>
<para>W&auml;hlen Sie das, wenn <emphasis>pppd</emphasis> den Standard-Gateway f&uuml;r
Ihre Maschine verwenden soll.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Fester Gateway</term>
<listitem>
<para>W&auml;hlen Sie das, wenn Sie den zu benutzenden Gateway
angeben m&ouml;chten.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="login-skript">
<title>Login-Skript</title>

<para><variablelist>
<varlistentry>
<term>Skript bearbeiten</term>
<listitem>
<para>Mit diesem Dialog k&ouml;nnen Sie ein Einwahlskript
f&uuml;r Ihren ISP erstellen. Benutzen Sie das Mini-Terminal und die
Informationen von Ihrem ISP, um herauszufinden, welche Reihenfolge
von Aktionen ausgef&uuml;hrt werden muss.</para>
<para><itemizedlist>
<listitem>
<para>Expect: <emphasis>Kppp</emphasis> wartet auf den Empfang der angegebenen Zeichenfolge.</para>
</listitem>
<listitem>
<para>Send: <emphasis>Kppp</emphasis> sendet die angegebene Zeichenfolge.</para>
</listitem>
<listitem>
<para>Scan: <emphasis>Kppp</emphasis> durchsucht die eingehenden Daten nach der gegebenen Zeichenfolge 
und speichert die darauffolgenden Zeichen bis zum n&auml;chsten Zeilenumbruch in einem
internen Puffer. Leerzeichen am Anfang und Ende der gespeicherten Zeichenfolge
werden entfernt.</para>
</listitem>
<listitem>
<para>Save: speichert den vorher mit 'Scan' gesuchten String permanent im angegebenen 
Register. Das einzige g&uuml;ltige Register ist bisher 'password'.</para>
</listitem>
<listitem>
<para>Pause: Die angegebene Anzahl Sekunden warten.</para>
</listitem>
<listitem>
<para>Hangup: <emphasis>Kppp</emphasis> sendet den Aufh&auml;ngen-Befehl an das Modem.</para>
</listitem>
<listitem>
<para>Answer: <emphasis>Kppp</emphasis> versetzt das Modem in den Antwort-Modus.</para>
</listitem>
<listitem>
<para>Timeout: &Auml;ndert die Standard-Zeit&uuml;berschreitung auf die angegebene
Anzahl Sekunden dynamisch w&auml;hrend der Skript-Ausf&uuml;hrung. Sie k&ouml;nnen dies
w&auml;hrend der Skriptausf&uuml;hrung mehrmals tun, falls n&ouml;tig.</para>
</listitem>
<listitem>
<para>Prompt: Bittet den <emphasis>Kppp</emphasis>-Benutzer, eine Zeichenkette einzugeben, mit
der angegebenen Zeichenfolge als Hinweis. Der Benutzer sieht dabei, was er eingibt.
Wenn die angegebene Zeichenfolge die Marke &num;&num; enth&auml;lt, wird diese durch den Inhalt
des internen Puffers ersetzt.</para>
</listitem>
<listitem>
<para>PWPrompt: Bittet den <emphasis>Kppp</emphasis>-Benutzer, eine Zeichenkette einzugeben, mit
der angegebenen Zeichenfolge als Hinweis. Der Benutzer sieht ein Sternchen f&uuml;r jedes
eingegebene Zeichen.</para>
</listitem>
<listitem>
<para>ID: Falls das Benutzername-Feld in <emphasis>Kppp</emphasis>'s-Hauptfenster ausgef&uuml;llt ist,
wird dieser Benutzername gesendet. Falls das Benutzername-Feld nicht ausgef&uuml;llt ist, wird der
<emphasis>Kppp</emphasis>-Benutzer nach seinem Benutzernamen gefragt, mit der angegebenen
Zeichenfolge als Hinweis. Der Benutzer sieht, was er eingibt. Bei einem zweiten Aufruf,
zum Beispiel aus einer Schleife, wird eine Eingabe gefordert mit der angegebenen
Zeichenfolge als Hinweis.</para>
</listitem>
<listitem>
<para>Password: Wenn das Passwort-Feld in <emphasis>Kppp</emphasis>'s-Hauptfenster ausgef&uuml;llt ist,
wird dieses gesendet. Falls nicht, wird der <emphasis>Kppp</emphasis>-Benutzer aufgefordert,
ein Passwort einzugeben, mit der angegebenen Zeichenfolge als Hinweis. Es wird ein
Sternchen f&uuml;r jedes eingegebene Zeichen ausgegeben. Bei einem zweiten Aufruf,
zum Beispiel aus einer Schleife, wird eine Eingabe gefordert mit der angegebenen
Zeichenfolge als Hinweis.</para>
</listitem>
<listitem>
<para>LoopStart: <emphasis>Kppp</emphasis> wartet auf den Empfang der angegebenen Zeichenkette.
Die Zeichenkette wird gespeichert f&uuml;r die Nutzung durch LoopEnd</para>
</listitem>
<listitem>
<para>LoopEnd: <emphasis>Kppp</emphasis> wartet auf den Empfang der angegebenen Zeichenkette
und beendet die Schleife. Falls die Zeichenkette vom entsprechenden LoopStart zuerst
empfangen wird, wird ein Sprung in die Zeile nach LoopStart vorgenommen,
was eine Wiederholung von Benutzernamen/Passwort-Dialogen erm&ouml;glicht.</para>
</listitem>
</itemizedlist>
</para>
</listitem>
</varlistentry>
</variablelist>
</para>

<sect2 id="beispielskripte">
<title>Beispielskripte</title>

<para>Hier ist ein einfaches Skript, das ich zur Verbindung zu meinem ISP verwenden k&ouml;nnte:</para>

<para><screen>Expect      ID:           # auf 'ID:' warten
Send        myid          # Sie m&uuml;ssen 'myid' durch Ihren Benutzernamen ersetzen
Expect      word:         # warte auf 'password'
Send        4u3fjkl       # sendet mein Passwort '4u3fjkl'
Expect      granted       # Mein ISP sendet 'Permission granted' bei Verbindungserfolg
Send        ppp           # Das startet eine PPP-Verbindung f&uuml;r mich
                          # auf Seiten des ISPs.
</screen>
</para>

<para>Hier ist ein Skript f&uuml;r den selben Zugang mit Benutzername- und Passwort-Abfrage:
Dieses Skript fragt jedes Mal nach Benutzername und Passwort, egal was im
Benutzername- und Passwort-Feld in <emphasis>Kppp</emphasis>'s Hauptdialog eingegeben wurde.
Dieses Skript zeigt auch die Benutzung der LoopStart/LoopEnd-Struktur.
Falls w&auml;hrend des Anmeldevorgangs etwas schiefgeht, ich zum Beispiel
das Passwort falsch eingegeben habe, gibt mein ISP eine Fehlermeldung aus
und beginnt die ID/Passwort-Schleife erneut, indem er die Zeichenkette ``ID:''
erneut sendet. Falls die Zeichenkette ``ID:'' vor der Abarbeitung von LoopEnd
empfangen wird, startet <emphasis>Kppp</emphasis> das Skript erneut nach dem
LoopStart-Befehl.</para>

<para><screen>LoopStart   ID:                        # wartet auf 'ID:'
Prompt      Benutzername eingeben:     # fragt nach meinem Benutzernamen und sendet ihn.
Expect      word:                      # wartet auf 'password'
PWPrompt    Passwort eingeben:          # fragt mich nach meinem Passwort und sendet es.
LoopEnd     granted                    # Mein ISP sendet 'Permission granted' bei Verbindungserfolg
Send        ppp                        # Das startet eine PPP-Verbindung f&uuml;r mich
</screen>
</para>

<para>Hier ist das Skript, das ich zur Verbindung zu meinem ISP nutze:
Dieses Skript fragt nur nach Benutzernamen und Passwort, falls sie nicht in
den entsprechenden Feldern in <emphasis>Kppp</emphasis>'s Hauptdialog eingegeben wurden.</para>

<para><screen>LoopStart   ID:                        # wartet auf 'ID:'
ID          Benutzername eingeben:     # fragt nach meinem Benutzernamen und sendet ihn.
Expect      word:                      # wartet auf 'password'
Password    Passwort eingeben:          # fragt mich nach meinem Passwort und sendet es.
LoopEnd     granted                    # Mein ISP sendet 'Permission granted' bei Verbindungserfolg
Send        ppp                        # Das startet eine PPP-Verbindung f&uuml;r mich
                                       # auf Seiten des ISPs.
</screen>
</para>

<para>Hier ist das Skript, das ich zur Verbindung mit einem ISP benutze, der eine Art
Forderung/Antwort Authentifizierung benutzt. Normalerweise erh&auml;lt man dazu eine
Hardware-Ausr&uuml;stung (eine kleine Karte mit einem Display und einer Taschenrechner&auml;hnlichen
Tastatur) von seinem ISP. Sie m&uuml;ssen ein Passwort kennen, um dieses 
Ger&auml;t nutzen zu k&ouml;nnen.
Nach der Einwahl zeigt der ISP die Forderung an. Sie m&uuml;ssen diese in Ihr Ger&auml;t eingeben
und erhalten als Antwort ein dynamisches Passwort. Dieses m&uuml;ssen Sie dann an den ISP
zur&uuml;cksenden. </para>

<para><screen>LoopStart   ID:                        # wartet auf 'ID:'
ID          Enter ID:                  # fragt mich nach meiner ID und sendet sie
Scan        Challenge:                 #  Wartet auf 'Challenge' und speichert alles dahinter bis zum n&auml;chsten Zeilenumbruch.
Expect      Password:                  # warte auf 'password'
Prompt      Your token is ## - Enter Password  # fragt mich nach meinen Passwort und sendet es.
LoopEnd     granted                    # Mein ISP sendet 'Permission granted' bei Verbindungserfolg
Send        ppp                        # Das startet eine PPP-Verbindung f&uuml;r mich
                                       # auf Seiten des ISPs.
</screen>
</para>

<para>Das folgende Log zeigt die Anmeldeprozedur eines fiktiven ISP, der bei jeder
Anmeldung ein neues Passwort vergibt.
Das neue Passwort muss &uuml;berpr&uuml;ft und f&uuml;r die n&auml;chste Anmeldung gespeichert werden.</para>

<para><screen>Universit&auml;t von Lummerland

Login:mylogin
Password: 
Das Passwort fuer Ihre naechste Anmeldung ist: YLeLfkZb
Bitte speichern Sie es und geben Sie es zur Ueberpruefung ein.
Ueberpruefung:YLeLfkZb

1 = telnet
2 = SLIP
3 = PPP

Ihre Wahl:
</screen>
</para>

<para><emphasis>Kppp</emphasis> kann dazu benutzt werden, diese Aufgabe f&uuml;r Sie zu &uuml;bernehmen
(und schaltet dabei das Risiko aus, dass Sie das kleine Blatt Papier, auf dem
Ihr derzeitiges Passwort steht, verlieren). Der wichtigste Teil des folgenden Skripts ist die
Kombination des Scan/Save Teils.
<screen>Expect      Login:                     # warte auf Login-Prompt
ID                                     # sende ID
Expect      Password:                  # warte auf Passwort-Prompt
Password                               # sende password
Scan        ist:                       # warte auf '... naechste Anmeldung ist:' und
                                       # scanne das folgende Passwort
Save        password                   # speichere das neue Passwort f&uuml;r n&auml;chste Anmeldung
Expect      Verification:              # warte auf 'Ueberpruefung:'
Password                               # sende neues Passwort
Expect      choice:                    # warte auf Prompt, bei dem Sie zwischen verschiedenen
                                       # Optionen (telnet, SLIP, PPP) w&auml;hlen k&ouml;nnen
Send        3                          # w&auml;hle Option 3, PPP
</screen>
</para>
</sect2>
</sect1>

<sect1 id="abrechnung">
<title>Abrechnung</title>

<para><variablelist>
<varlistentry>
<term>Abrechnungs-Einrichtung</term>
<listitem>
<para>Benutzen Sie den
<emphasis remap="bf">Abrechnung ein</emphasis>-Knopf, um die Telefongeb&uuml;hrenz&auml;hlung an- oder
auszuschalten. W&auml;hlen Sie eine f&uuml;r Ihre Region passende Regelung. Falls
Sie keine Regelung f&uuml;r Ihre Region finden k&ouml;nnen, m&uuml;ssen Sie eine
schreiben, indem Sie die beigef&uuml;gte <literal remap="tt">TEMPLATE</literal>-Datei in
<literal remap="tt">&dollar;(KDEDIR)/share/doc/HTML/en/kppp/</literal> nutzen.
Haben Sie keine Angst, denn es ist wirklich einfach. Vergessen Sie nicht,
Ihre neu erzeugte Regeldatei an mich zu senden. Die neu erzeugte Regeldatei
kann  mit dem Befehlszeilen-Parameter <literal remap="tt">-r Regeldatei</literal> von <emphasis>Kppp</emphasis>
auf richtige Syntax &uuml;berpr&uuml;ft werden und muss in <literal remap="tt">&dollar;(KDEDIR)/share/apps/kppp/Rules</literal>
oder in <literal remap="tt">&dollar;(HOME)/.kde/share/apps/kppp/Rules</literal> installiert werden, bevor
Sie sie in diesem Dialog ausw&auml;hlen k&ouml;nnen.</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</sect1>

<sect1 id="volumenberechnung">
<title>Volumenberechnung</title>

<sect2 id="was-ist-volumenberechnung">
<title>Was ist Volumenberechnung?</title>

<para>Haupts&auml;chlich ist damit die Z&auml;hlung der Bytes, die gesendet oder empfangen
werden, gemeint. <emphasis>Kppp</emphasis> kann eingehende, empfangene Bytes oder beides z&auml;hlen.
Es liegt an Ihnen, was Sie benutzen wollen (oder m&uuml;ssen).</para>
</sect2>

<sect2 id="warum-sollte-ich-volumenberechnung-benutzen">
<title>Warum sollte ich Volumenberechnung benutzen?</title>

<para>Weil heutzutage viele Internet Service Provider dazu &uuml;bergehen, die Geb&uuml;hren
nach der Menge der gesendeten Daten zu berechnen. Oder oft ist es so, dass
ein ISP eine Grenze der zu &uuml;bertragenden Daten festlegt, und Sie f&uuml;r jedes
dar&uuml;berliegende Megabyte zahlen m&uuml;ssen. <emphasis>Kppp</emphasis> zeigt Ihnen an, wieviele Daten
sie bisher &uuml;bertragen haben und kann Ihnen dabei helfen, Ihre Rechnungen zu senken.
Nat&uuml;rlich k&ouml;nnen Sie die Volumenberechnung auch benutzen, wenn Sie keine
Begrenzung der Datenmenge haben.</para>
</sect2>

<sect2 id="welche-art-der-volumenberechnung-soll-ich-wh">
<title>Welche Art der Volumenberechnung soll ich w&auml;hlen?</title>

<para>Das h&auml;ngt von Ihrem Provider ab. Viele berechnen nur die Menge der gesendeten Daten
und k&uuml;mmern sich nicht darum, wieviele Daten gesendet werden.
In diesem Fall sollten Sie ''Bytes gesendet'' w&auml;hlen.
Wenn Sie f&uuml;r &Uuml;bertragungen in beide Richtungen zahlen m&uuml;ssen, sollten
Sie ''Bytes gesendet/empfangen'' w&auml;hlen. ''Bytes empfangen'' ist nicht sehr
n&uuml;tzlich und ist nur der Vollst&auml;ndigkeit wegen vorhanden.</para>
</sect2>

<sect2 id="einschrnkungen">
<title>Einschr&auml;nkungen</title>

<para>Ungl&uuml;cklicherweise gibt es eine Einschr&auml;nkung bei der Volumenberechnung.
<emphasis>Kppp</emphasis> z&auml;hlt alle Daten unabh&auml;ngig von Ihrem Ursprung. Viele Provider
setzen Ihre Grenzen aber nur f&uuml;r den Internetzugang, nicht f&uuml;r Ihr 
eigenes Netzwerk. Wenn Sie also im Web surfen und dabei einen Proxy benutzen,
wird dieser Proxy zum Netzwerk Ihres Providers geh&ouml;ren und Ihnen werden
keine Geb&uuml;hren f&uuml;r Daten, die von diesem Proxy stammen, berechnet.
<emphasis>Kppp</emphasis> wei&szlig; nicht, dass diese IP-Pakete von diesem Proxy stammen, und sie
mitz&auml;hlen. Wenn Sie also einen Proxy benutzen, oder Ihr Provider benutzt
einen Newserver mit Zwischenspeicher (wie z.B. <emphasis>nntpcached</emphasis>), wird die
von <emphasis>Kppp</emphasis> angezeigte Datenmenge gr&ouml;&szlig;er sein.</para>
</sect2>
</sect1>
</chapter>

<chapter id="modem-tricks-hinweise">
<title>Modem Tricks &amp; Hinweise</title>

<para>Dieser Abschnitt soll den schwierigen Einstieg in die (nicht so) hohe
Kunst der Modemeinstellung bieten. Die Befehle hier sind alle
Hayes-AT-Standard, aber nicht alle Modems sind gleich, so dass
Ihre Vorgangsweise unterschiedlich sein kann.</para>

<sect1 id="modemsitzungen">
<title>Modemsitzungen</title>

<para>Eine Modemsitzung gibt Ihnen die M&ouml;glichkeit, direkt mit dem Modem zu interagieren.
Sie geben Befehle ein und es antwortet. Um eine Modemsitzung zu erhalten, wenn
keine Verbindung aktiv ist, gehen Sie in den "Einstellungen/Modem/Terminal"-Dialog.
Das &ouml;ffnet ein Fenster zur interaktiven Konfiguration des Modems. Versuchen Sie, <literal remap="tt">ATZ</literal> einzugeben
(das setzt Ihr Modem zur&uuml;ck). Sie sollten eine <literal remap="tt">OK</literal>-Antwort erhalten. Benutzen Sie
"Datei/Beenden", um die Sitzung zu beenden.</para>
</sect1>

<sect1 id="modemprofile">
<title>Modemprofile</title>

<para>Ein Grund, weshalb Sie dem Modem direkt Befehle senden m&ouml;chten, k&ouml;nnte
sein, dass Sie mehrere Modemeinstellungen haben, die Sie behalten
und nicht f&uuml;r jede Verbindung eingeben m&ouml;chten. Ein guter Weg, dies zu
tun, f&uuml;hrt &uuml;ber Modemprofile. Modems k&ouml;nnen mehrere gespeicherte Profile
haben, numeriert mit 0,1,&hellip;. <emphasis remap="bf">AT&amp;V</emphasis> kann zur genutzt werden,
um alle anzusehen. Das Standardprofil ist &uuml;blicherweise 0 (das kann &uuml;ber
<emphasis remap="bf">AT&amp;Y</emphasis> ge&auml;ndert werden). Das derzeit verwendete Profil
wird ``aktives'' Profil genannt.</para>

<para>Wenn Sie eine Einstellung &auml;ndern, wird das aktive Profil ver&auml;ndert. Der <emphasis remap="bf">ATZ</emphasis>-Befehl
veranlasst das Modem, das Standardprofil zu laden und alle Ihre &Auml;nderungen zu verwerfen.
Um &Auml;nderungen zu speichern, laden Sie das Profil, das Sie &auml;ndern m&ouml;chten &uuml;ber
<emphasis remap="bf">ATZ</emphasis><emphasis>n</emphasis> (wobei <emphasis>n</emphasis> die Profilnummer ist).  Machen Sie die gew&uuml;nschten
&Auml;nderungen, dann speichern Sie sie mit <emphasis remap="bf">AT&amp;W</emphasis><emphasis>n</emphasis>.
Damit <emphasis>Kppp</emphasis> das von Ihnen gew&uuml;nschte Profil nutzt, &auml;ndern Sie den
Initialisierungs-String (Einstellungen/Modem/Modembefehle/Init-String).
Zum Beispiel bewirkt <emphasis remap="bf">ATZ1</emphasis>, dass <emphasis>Kppp</emphasis> das Modem zur&uuml;cksetzt und
das gespeicherte Profil 1 l&auml;dt.</para>

<para>Falls Sie Ihr Modem auf einen bekannten Urzustand zur&uuml;cksetzen m&ouml;chten,
benutzen Sie <emphasis remap="bf">AT&amp;F&amp;W</emphasis>, um das aktive Profil auf die
Fabrikeinstellungen zu setzen, und diese im Standardprofil zu sichern.</para>

<para>Beispiele von Profil&auml;nderungen finden Sie im n&auml;chsten Abschnitt.</para>
</sect1>

<sect1 id="das-modem-zum-auflegen-bewegen">
<title>Das Modem zum Auflegen bewegen</title>

<para>Manchmal k&ouml;nnte <emphasis>Kppp</emphasis> Schwierigkeiten beim Auflegen des Modem haben.
Das ist vermutlich die Folge eines Unterschieds zwischen den Einstellungen
von <emphasis>Kppp</emphasis> und denen des Modems.
Ein Standardmodem nutzt zwei Methoden, um sich zum Auflegen zu entscheiden:
Befehl und DTR. Die Befehlsmethode besteht aus dem Senden einer Abbruchsequenz
an das Modem, das es in den Befehlsmodus versetzt, und dann dem Senden des
Auflegen-Befehls (<emphasis remap="bf">ATH</emphasis>).</para>

<para>Au&szlig;erhalb von <emphasis>Kppp</emphasis>, wenn Sie das <emphasis>pppd</emphasis>-Paket manuell
konfigurieren, ist es oft hilfreich die Befehlsmethode zu nutzen,
so dass Sie eine Terminalsitzung verlassen k&ouml;nnen, und dann <emphasis>pppd</emphasis>
starten, ohne das Modem auflegen zu lassen. In den meisten anderen Situationen
wird die DTR-Methode bevorzugt, weil sie einfacher ist.</para>

<sect2 id="dtr-atdn-methode">
<title>DTR (AT&amp;Dn)-Methode</title>

<para>Die DTR-Methode l&auml;sst das Modem immer dann auflegen, wenn <emphasis>Kppp</emphasis> es nicht
mehr nutzt. Wenn Sie eine Modemsitzung starten und den Zustand &uuml;ber
<emphasis remap="bf">AT&amp;V</emphasis> abfragen, und unter den angezeigten Einstellungen f&uuml;r
das aktive Profil ist auch <literal remap="tt">&amp;D0</literal>, dann ist die DTR-auflegen-Methode
abgeschaltet. Um DTR einzuschalten, benutzen Sie <emphasis remap="bf">Einstellungen/Modem/Terminal</emphasis>,
um eine Modemsitzung zu starten. Dann:</para>

<para><screen>ATZ		    # auf Standardprofil zur&uuml;cksetzen
AT&amp;D2		# einstellen auf Auflegen bei DTR-Wegfall
AT&amp;W		# Standardprofil sichern
</screen>
</para>

<sect3 id="wie-die-dtr-methode-funktioniert">
<title>Wie die DTR-Methode funktioniert</title>

<para>Jedesmal wenn die Data Terminal Ready (DTR)-Leitung der seriellen Verbindung
zwischen dem Computer und dem Modem Spannung f&uuml;hrt, legt das Modem auf.
Wenn <emphasis>Kppp</emphasis> die serielle Schnittstelle &ouml;ffnet,
wird dir DTR-Leitung auf niedrige Spannung gesetzt, und bei einem externen Modem k&ouml;nnen Sie
das DTR (oder TR)-L&auml;mpchen angehen sehen, wenn das passiert.
Wenn das TR-L&auml;mpchen ausgeht (weil <emphasis>Kppp</emphasis> die serielle Schnittstelle
geschlossen hat, oder Schlimmeres!), legt das Modem auf.</para>
</sect3>
</sect2>

<sect2 id="befehlsmethode">
<title>Befehlsmethode</title>

<para>Der andere Weg, ein Modem auflegen zu lassen, wenn man verbunden ist
(mit <literal remap="tt">AT&amp;D</literal><emphasis>n</emphasis>, wobei <emphasis>n</emphasis> nicht 2 ist), ist, das  Modem
den Befehl annehmen zu lassen, wenn eine Sitzung l&auml;uft. Um es richtig auflegen zu
lassen, starten Sie eine Modemsitzung und stellen Sie die Guardzeit auf ein
kleines Intervall ein, wie folgt:</para>

<para><screen>ATZ
ATS12=5
AT&amp;W
</screen>
</para>

<para>Dann benutzen Sie den <emphasis remap="bf">Einstellungen/Modem/Modembefehle/Guard-Zeit</emphasis>-Regler,
um den Wert aus Register (S12) auf (5) einzustellen. Das Modem sollte dann richtig auflegen.</para>

<sect3 id="wie-die-befehlsmethode-funktioniert">
<title>Wie die Befehlsmethode funktioniert</title>

<para>Wenn das lokale Modem mit einem entfernten Modem verbunden ist, ist es im ``connect''-Zustand,
in dem es alle empfangenen Zeichen, ohne sie auszuwerten, an das entfernte Modem weitergibt.
Damit das Modem Befehle f&uuml;r sich selbst annimmt, muss man das Modem in den
Befehlszustand versetzen. Der Abbruchcode macht dies.</para>

<para>Der Abbruchcode ist definiert als drei Zeitintervalle, deren L&auml;nge durch S12
definiert wird (in f&uuml;nfzigstel Sekunden).</para>

<para><itemizedlist>
<listitem>
<para>Ruhe (muss mindestens S12/50 Sekunden dauern)</para>
</listitem>
<listitem>
<para>Abbruchzeichen (definiert durch Register S2, Standard ist ``+'')
drei Mal wiederholt (weniger als S12/50 Sekunden zwischen jedem)</para>
</listitem>
<listitem>
<para>Ruhe (muss mindestens S12/50 Sekunden dauern)</para>
</listitem>
</itemizedlist>
</para>

<para>Sobald das Modem im Befehlsmodus ist, k&ouml;nnen Sie ihm Befehle senden. Um es
auflegen zu lassen, senden Sie <emphasis remap="bf">ATH</emphasis>. Die Abbruchcodes und die
Auflegenfolge, die <emphasis>Kppp</emphasis> nutzt, werden im
<emphasis remap="bf">Einstellungen/Modem/Modembefehle</emphasis>-Dialog angezeigt.
Diese sollten zu Ihrem Modem passen.</para>
</sect3>
</sect2>
</sect1>

<sect1 id="tonwahl-schneller-machen">
<title>Tonwahl schneller machen</title>

<para>Falls Sie Tonwahl nutzen k&ouml;nnen, kann die Zeit, die zum W&auml;hlen ben&ouml;tigt wird,
mit dem S11-Register ver&auml;ndert werden. Es gibt die Dauer (in hundertstel Sekunden)
an, um einen Ton w&auml;hrend der Wahl zu senden. Der Standard ist &uuml;blicherweise 95
(fast eine Sekunde). Wie schnell Sie w&auml;hlen k&ouml;nnen, h&auml;ngt von den Ger&auml;ten
Ihrer Telefongesellschaft ab. Die minimale Dauer ist 50, fast doppelt so schnell,
und diese Geschwindigkeit funktioniert h&auml;ufig.</para>

<para><screen>ATZ		# auf Standardprofil zur&uuml;cksetzen
ATS11=50	# schnellstm&ouml;gliche Wahl, nehmen Sie eine h&ouml;here 
                # Zahl, falls es nicht funktioniert.
AT&amp;W	    # Standardprofil sichern
</screen>
</para>
</sect1>
</chapter>

<chapter id="pap-und-chap">
<title>PAP und CHAP</title>

<para>Seit Version 0.9.1 unterst&uuml;tzt <emphasis>Kppp</emphasis> direkt die meistbenutzte Form
der PAP-Authentifizierung. Der Abschnitt 'PAP und CHAP mit <emphasis>Kppp</emphasis>'
beschreibt, wie man im Allgemeinen PAP und CHAP zur Arbeit mit
<emphasis>Kppp</emphasis> bewegt, w&auml;hrend der Abschnitt 'PAP mit <emphasis>Kppp</emphasis>' im Einzelnen
beschreibt, wie Sie <emphasis>Kppp</emphasis>'s eingebaute Unterst&uuml;tzung f&uuml;r die
wichtigsten Versionen von PAP nutzen, die oft von
kommerziellen ISPs verwendet werden.</para>

<sect1 id="pap-mit-kppp">
<title>PAP mit Kppp</title>

<para>Es gibt zwei unterschiedliche Methoden, PAP zu nutzen:</para>

<sect2 id="authentifizierung-auf-seiten-des-clients">
<title>Authentifizierung auf Seiten des Clients</title>

<para>Diese Variante wird von vielen kommerziellen ISP genutzt. Grunds&auml;tzlich
bedeutet das, dass Sie (oder Ihr Computer) sich selbst beim PPP-Server
des ISPs authentifizieren m&uuml;ssen.
Der PPP-Server darf sich nicht selbst auf Ihrem Computer authentifizieren,
und normalerweise ist das auch nicht notwendig, da Sie wissen, mit welchem
Computer Sie verbunden sind (da die Verbindung von Ihnen selbst hergestellt
wurde). Also ist das nicht sehr Sicherheitsrelevant. <emphasis>Kppp</emphasis>
unterst&uuml;tzt diese Variante direkt. F&uuml;r weitere Informationen, wie das
genutzt wird, siehe unten.</para>

<para>Falls Ihr ISP Ihnen nur einen Benutzernamen und ein Passwort gibt,
und Ihnen sagt, PAP-Authentifizierung zu benutzen, m&uuml;ssen Sie diese
Variante nehmen.</para>
</sect2>

<sect2 id="zwei-wege-authentifizierung">
<title>Zwei-Wege-Authentifizierung</title>

<para>Gleich wie oben, aber Ihr Computer fordert den PPP-Server des ISP auf,
sich selbst zu authentifizieren. Um eine Verbindung aufzubauen, m&uuml;ssen
Sie die Authentifizierungs-Methode <emphasis>Skript-basiert</emphasis> und
nicht <emphasis>PAP</emphasis> w&auml;hlen, und m&uuml;ssen dann Sie die Datei
<literal remap="tt">/etc/ppp/pap-secrets</literal> manuell bearbeiten.
Obwohl <emphasis>Kppp</emphasis> keine eingebaute Unterst&uuml;tzung f&uuml;r diese
Variante bietet, ist es einfach, eine Verbindung mit dieser
Variante von PAP mit <emphasis>Kppp</emphasis> aufzubauen. Die Einzelheiten
sind im n&auml;chsten Abschnitt 'PAP und CHAP mit <emphasis>Kppp</emphasis>'
nachzulesen.</para>
</sect2>

<sect2 id="kppp-fr-pap-vorbereiten">
<title>Kppp f&uuml;r PAP vorbereiten</title>

<para><orderedlist><listitem>
<para> Stellen Sie sicher, dass <literal remap="tt">/etc/ppp/options</literal> (und <literal remap="tt">&tilde;/.ppprc</literal>,
falls Sie eine solche Datei haben) <emphasis remap="bf">keinen</emphasis> der folgenden Parameter enth&auml;lt:
<itemizedlist>
<listitem>
<para>+pap</para>
</listitem>
<listitem>
<para>-pap</para>
</listitem>
<listitem>
<para>papcrypt</para>
</listitem>
<listitem>
<para>+chap</para>
</listitem>
<listitem>
<para>+ua</para>
</listitem>
<listitem>
<para>remotename</para>
</listitem>
</itemizedlist>
</para>

<para>Es ist sehr unwahrscheinlich, dass einer dieser Parameter bereits dort steht,
aber nur zur Sicherheit.</para>
</listitem>
<listitem>
<para>Starten Sie <emphasis>Kppp</emphasis></para>
</listitem>
<listitem>
<para>Klicken Sie auf <emphasis remap="bf">Einstellungen</emphasis></para>
</listitem>
<listitem>
<para>W&auml;hlen Sie den Zugang, f&uuml;r den Sie PAP nutzen m&ouml;chten,
und klicken Sie auf <emphasis remap="bf">Bearbeiten</emphasis></para>
</listitem>
<listitem>
<para>Klicken Sie auf die <emphasis remap="bf">W&auml;hlen</emphasis>-Karteikarte.</para>
</listitem>
<listitem>
<para>W&auml;hlen Sie <emphasis remap="bf">PAP</emphasis> aus der Auswahlbox <emphasis remap="bf">Authentifizierung</emphasis></para>
</listitem>
<listitem>
<para>Falls Sie das Passwort nicht bei jeder Einwahl erneut eingeben
m&ouml;chten, w&auml;hlen Sie <emphasis remap="bf">Speichere Passwort</emphasis>.
Damit wird das Passwort gespeichert. Stellen Sie sicher, dass niemand
anderes als Sie Zugriff auf den Zugang hat, sonst hat diese Person
Zugriff auf Ihr Passwort.</para>
</listitem>
<listitem>
<para>Das war's. Schlie&szlig;en Sie die Dialoge, geben Sie den Benutzernamen
und das Passwort, die Sie von Ihrem ISP erhalten haben, an und w&auml;hlen Sie.</para>
</listitem>
</orderedlist>
</para>
</sect2>
</sect1>

<sect1 id="pap">
<title>PAP und CHAP mit Kppp(alternative Methode)</title>

<para>Das Folgende basiert auf einer E-Mail von
<ulink url="kbrown@pdq.net">Keith Brown</ulink>
und beschreibt, wie man <emphasis>Kppp</emphasis> mit einem PAP oder CHAP-Zugang zum Laufen
bringt. Falls Ihr ISP Ihnen gerade eine Benutzerkennung und ein
Passwort f&uuml;r einen PAP-Zugang gegeben hat, k&ouml;nnen Sie wahrscheinlich
diesen Abschnitt &uuml;berspringen und nur den vorherigen Abschnitt 'PAP mit <emphasis>Kppp</emphasis>'
lesen.</para>

<para>PAP scheint auf den ersten Blick wesentlich komplizierter, als es
in Wirklichkeit ist. Der Server (die Maschine, mit der Sie sich
verbinden) sagt dem Client (ihrer Maschine), sich per PAP zu
authentifizieren. Der Client (<emphasis>pppd</emphasis>) sucht in einer bestimmten
Datei nach einem Eintrag, der f&uuml;r diese Verbindung passende
Server- und Clientnamen enth&auml;lt und schickt das dort gefundene
Passwort. Das war's! Und so kann man das machen. Ich nehme eine
<emphasis>pppd</emphasis>-Version von 2.2.0 an und eine Standardinstallation der
Konfigurationsdateien unter <literal remap="tt">/etc/ppp</literal>.</para>

<para>Zur Verdeutlichung nehme ich an, dass ich einen Internetzugang bei
'glob.net' habe, unter dem Benutzernamen 'booger', und das
Passwort lautet 'foobar'. Zuerst muss ich das alles in die Datei
<literal remap="tt">/etc/ppp/pap-secrets</literal> eintragen. Das Format jedes Eintrags
lautet f&uuml;r unsere Zwecke:</para>

<para><screen>BENUTZERNAME  SERVERNAME   PASSWORT
</screen>
</para>

<para>also f&uuml;ge ich die Zeile:</para>

<para><screen>booger  glob  foobar
</screen>
</para>

<para>der Datei hinzu und speichere sie. Hinweis: ich kann jeden Namen f&uuml;r den
Server nehmen, solange ich den gleichen Namen bei den <emphasis>pppd</emphasis>-Argumenten
angebe, wie wir sp&auml;ter sehen werden. Ich habe das mit 'glob' abgek&uuml;rzt.
Dieser Name ist nur dazu da, um das richtige Passwort zu finden.</para>

<para>Nun muss ich meine Verbindung in <emphasis>Kppp</emphasis> einstellen.
Die Grundlagen sind die gleichen wie bei jeder anderen Verbindung, und ich
m&ouml;chte hier nicht auf die Details eingehen, abgesehen davon, dass die
sicherstellen sollten, dass die <literal remap="tt">/etc/ppp/options</literal>-Datei leer ist,
und Sie vermutlich auch kein Anmeldeskript m&ouml;chten. Also, im Einstellungen-Dialog,
ganz unten, ist der <emphasis remap="bf">pppd-Argumente</emphasis>-Knopf. Dieser &ouml;ffnet einen
Dialog, &auml;hnlich dem, der zur Bearbeitung des Anmeldeskripts benutzt wird.
Hier geben wir Werte ein, die an <emphasis>pppd</emphasis> als Befehlszeilen-Argumente
&uuml;bergeben werden, und im Fall von Argumenten mit mehreren Parametern m&uuml;ssen
wir jeden Wert als getrennten Eintrag, aber in der richtigen Reihenfolge
in die Liste eintragen.</para>

<para>Wir k&ouml;nnen hier zuerst alle anderen Parameter angeben, die wir m&ouml;chten.
Nun m&uuml;ssen wir Parameter hinzuf&uuml;gen,
die <emphasis>pppd</emphasis> ben&ouml;tigt, um PAP-Authentifizierung durchzuf&uuml;hren.
In diesem Beispiel werde ich 'user', 'booger', 'remotename', 'glob' in dieser
Reihenfolge hinzuf&uuml;gen. Der 'user'-Parameter sagt <emphasis>pppd</emphasis>, welcher
Benutzername in <literal remap="tt">pap-secrets</literal> zu suchen und an den Server zu senden ist,
'remotename' ist wird von <emphasis>pppd</emphasis> nur genutzt, um den Eintrag
in der <literal remap="tt">pap-secrets</literal>-Datei zu finden, und wird nicht an den Server gesendet,
also nochmal, es kann alles sein, was ich m&ouml;chte, solange es passend zum Eintrag
in der <literal remap="tt">pap-secrets</literal>-Datei ist.</para>

<para>Das ist auch schon alles. Sie sollten jetzt in der Lage sein, Ihre eigene
Verbindung zu einem Server mit PAP-Authentifizierung einzustellen.
CHAP ist nur wenig anders. Schlagen Sie im
<ulink url="http://">Linux Network Administrators' Guide</ulink> f&uuml;r das
Dateiformat von <literal remap="tt">chap-secrets</literal> und den zu benutzenden
<emphasis>pppd</emphasis>-Parametern nach. Der Rest sollte einfach sein,
aber&hellip; Ihr pers&ouml;nliches Vorgehen, sie wissen schon.</para>
</sect1>
</chapter>

<chapter id="fragen-und-antworten">
<title>Fragen und Antworten</title>

<sect1 id="kpppfaq">
<title>H&auml;ufig gestellte Fragen</title>

<sect2 id="ich-kann-kppp-nicht-zum-laufen-bringen.-kppp">
<title>Ich kann Kppp nicht zum laufen bringen. Kppp erz&auml;hlt mir, dass pppd beendet wurde oder dass eine Zeit&uuml;berschreitung eingetreten ist! </title>

<para>Haben Sie dieses Handbuch sorgf&auml;ltig gelesen? Hier sind nochmal die
h&auml;ufigsten Fallen.</para>

<para><itemizedlist>
<listitem>
<para> Klicken Sie auf den <emphasis remap="bf">Details</emphasis>-Knopf. <emphasis>Kppp</emphasis> zeigt Ihnen dann
einen Auszug aus dem PPP-Log (funktioniert evtl. nicht auf nicht-Linux-System oder
sogar mit einigen Distributionen). Diese Meldungen k&ouml;nnen Ihnen Helfen, den Fehler
zu finden.
</para>
</listitem>
<listitem>
<para> Stellen Sie sicher, dass <emphasis>pppd</emphasis> wirklich das <emphasis>pppd</emphasis>-Programm ist,
und kein Skript!
</para>
</listitem>
<listitem>
<para> Stellen Sie sicher, das <emphasis>pppd</emphasis> mit root-Rechten ausgef&uuml;hrt wird.
Sie k&ouml;nnen das als root mit dem Kommando <literal remap="tt">chmod u+s pppd</literal> einstellen.
</para>
</listitem>
<listitem>
<para> Stellen Sie sicher, das die Datei <literal remap="tt">/etc/ppp/options</literal> existiert und keine
widerspr&uuml;chlichen Eintr&auml;ge enth&auml;lt. Falls Sie sich nicht sicher sind, lassen Sie
diese Datei leer.
</para>
</listitem>
<listitem>
<para> Stellen Sie sicher, dass Sie NICHT den Parameter ``lock'' f&uuml;r <emphasis>pppd</emphasis> angegeben haben
(<emphasis>Kppp</emphasis> k&uuml;mmert sich bereit um die Ger&auml;tesperrung)!
</para>
</listitem>
<listitem>
<para> Entfernen Sie den ``lock''-Parameter aus den Dateien <literal remap="tt">/etc/ppp/options</literal>
und <literal remap="tt">&tilde;/.ppprc</literal>!
</para>
</listitem>
<listitem>
<para> Wenn Sie den symbolischen Link <literal remap="tt">/dev/modem</literal> benutzen, kann das zu
Konflikten f&uuml;hren. Verhindern Sie diese Art &Auml;rger, indem Sie das reale Ger&auml;t verwenden,
z.B. <literal remap="tt">/dev/cuaX</literal> oder <literal remap="tt">/dev/ttySX</literal>. 
Hinweis: COM1 ist ttyS0, COM2 ist ttyS1 usw.
</para>
</listitem>
<listitem>
<para> Stellen Sie sicher, dass Sie die richtigen Berechtigungen eingestellt haben.
Im Fall von Problemen sollten Sie es vielleicht zuerst als root ausf&uuml;hren, und
dann, wenn alles gut funktioniert, weniger gef&auml;hrliche Berechtigungen nehmen,
wenn Sie es sich nicht leisten k&ouml;nnen <emphasis>Kppp</emphasis> mit root-Rechten laufen zu lassen.
Die richtige Vorgehensweise w&auml;re vermutlich die Erzeugung einer eigenen ``modem''-Gruppe.
</para>
</listitem>
<listitem>
<para> Eventuell starten Sie <emphasis>pppd</emphasis> zu fr&uuml;h, z.B. bevor der entfernte Server bereit ist,
eine PPP-Verbindung aufzubauen. Wenn Sie ein Login-Skript benutzen, sollten
Sie das eingebaute Terminal benutzen, um Ihre Login-Prozedur zu &uuml;berpr&uuml;fen.
Manche Provider erwarten von Ihnen ein einfaches "Send" oder "Send ppp", um
PPP zu starten. Einige Benutzer berichteten, dass Sie "Pause 1" oder "Pause 2"
an Ihr Skript anh&auml;ngen mussten, um Timing-Probleme zu l&ouml;sen.</para>
</listitem>
</itemizedlist>
</para>

<para>Wenn gar nichts hilft, sollten Sie evtl. Debug-Informationen aus Ihrem Systemlog
erhalten, indem Sie folgendes eingeben:
<screen># tail /var/log/messages
</screen>
</para>
</sect2>

<sect2 id="kppp-sagt-mir-tut-mir-leid-kann-auf-modem-ni">
<title>Kppp sagt mir ``Tut mir leid, kann auf Modem nicht zugreifen''.</title>

<para>Das bedeutet, dass <emphasis>Kppp</emphasis> keine Berechtigung hat, das Modemger&auml;t zu &ouml;ffnen,
oder dass Sie ein ung&uuml;ltiges Modemger&auml;t auf der Modem-Karteikarte gew&auml;hlt haben.
Stellen Sie zun&auml;chst sicher, dass Sie das richtige Modemger&auml;t gew&auml;hlt haben.
Wenn Sie sicher sind, dass dies der Fall ist, m&uuml;ssen Sie <emphasis>Kppp</emphasis>
die richtige Berechtigung geben, um auf das Modemger&auml;t zugreifen zu k&ouml;nnen,
und in der Lage zu sein, <literal remap="tt">/etc/resolv.conf</literal> zu &auml;ndern, im Fall, dass Sie
m&ouml;chten, dass <emphasis>Kppp</emphasis> den DNS richtig f&uuml;r Sie einstellt.
Falls Sie in der Lage sind, <emphasis>Kppp</emphasis> als SETUID root auszuf&uuml;hren,
w&uuml;rde das alle Zugriffsprobleme f&uuml;r Sie l&ouml;sen, wenn nicht, m&uuml;ssen Sie
herausfinden, was die richtigen Berechtigungen f&uuml;r Ihre Zwecke sind.
Um <emphasis>Kppp</emphasis> SETUID root-Berechtigung zu geben, machen Sie Folgendes:</para>

<para><screen>% su root
% chown root:root &dollar;(KDEDIR)/bin/kppp
% chmod +s &dollar;(KDEDIR)/bin/kppp
% exit
</screen>
</para>
</sect2>

<sect2 id="setuid">
<title>Kppp sagt mir, dass es keine Modemsperrung erzeugen kann.</title>

<para>In den meisten F&auml;llen bedeutet das, dass Sie <emphasis>Kppp</emphasis> mit gesetztem
SETUID-Bit installiert haben, w&auml;hrend Sie, die Person, die <emphasis>Kppp</emphasis>
ausf&uuml;hrt, keine Schreiberechtigung f&uuml;r das Sperrdateiverzeichnis haben,
das standardm&auml;&szlig;ig <literal remap="tt">/var/lock</literal> ist. Das ist zum Beispiel der Fall
auf RedHat-Systemen. &Uuml;berpr&uuml;fen Sie den Modem-Dialog nach der genauen Position
der Sperrdatei. Die L&ouml;sung ist einfach, entweder <emphasis>Kppp</emphasis> SETUID
laufen zu lassen, falls Sie k&ouml;nnen, oder normalen Benutzern Schreibzugriff auf
<literal remap="tt">/var/lock</literal> zu gew&auml;hren oder eine modem-Gruppe zu erstellen, die
Zugriff auf die <literal remap="tt">/var/lock</literal>-Datei hat.</para>
</sect2>

<sect2 id="warum-wird-kppp-mit-gesetztem-setuid-bit-ins">
<title>Warum wird Kppp mit gesetztem SETUID-Bit installiert?</title>

<para>Das SETUID-Bit muss nicht gesetzt sein, wenn Sie sich ein bisschen mit
Unix-Systemadministration auskennen. Erstellen Sie einfach eine Modemgruppe,
f&uuml;gen Sie alle Benutzer, denen Sie Zugriff auf das Modem gew&auml;hren wollen,
dieser Gruppe hinzu und machen Sie das Modemger&auml;t les- und schreibbar f&uuml;r diese
Gruppe. Wenn Sie auch DNS-Konfiguration mit <emphasis>Kppp</emphasis> benutzen wollen,
muss <literal remap="tt">/etc/resolv.conf</literal> les- und schreibbar von den Mitgliedern
dieser Gruppe sein. Das gleiche gilt f&uuml;r <literal remap="tt">/etc/ppp/pap-secrets</literal> 
und <literal remap="tt">/etc/ppp/chap-secrets</literal>, wenn Sie die eingebaute PAP- und 
CHAP-Unterst&uuml;tzung benutzen wollen. </para>

<para>Bitte kritisieren Sie mich nicht daf&uuml;r, <emphasis>Kppp</emphasis> mit gesetztem SETUID-Bit
zu installieren, ich kann einfach nicht l&auml;nger die Masse an E-Mail behandeln, die
ich vorher von verzweifelten Benutzern bekommen habe, die Probleme hatten,
<emphasis>Kppp</emphasis> zum laufen zu bringen, weil sie nicht genug &uuml;ber
Unix und Ger&auml;te-Berechtigungen wussten.</para>

<para>Das <emphasis>Kppp</emphasis>-Team hat in letzter Zeit sehr viel daran gearbeitet,
um <emphasis>Kppp</emphasis> SETUID-Sicher zu machen. Aber es liegt an Ihnen, ob und wie Sie
es installieren.</para>

<para>Eventuell wollen Sie dazu auch das Kapitel <link linkend="security">Kppp und die Sicherheit</link> 
lesen.</para>
</sect2>

<sect2 id="kppp-ist-einfach-da-und-wartet-erwarte-ok">
<title>Kppp ist einfach da und wartet: ``erwarte OK''</title>

<para><itemizedlist>
<listitem>
<para> Haben Sie an der CR/LF-Einstellung herumgespielt? Probieren Sie <emphasis remap="bf">CR</emphasis>, 
<emphasis remap="bf">LF</emphasis> oder <emphasis remap="bf">CR/LF</emphasis>.
</para>
</listitem>
<listitem>
<para> Ihr Modem braucht vielleicht einige Zeit, um auf seine Initialisierung 
zu antworten. &Ouml;ffnen Sie den <emphasis remap="bf">Modembefehle</emphasis>-Dialog auf der 
<emphasis remap="bf">Modem</emphasis>-Karteikarte und stellen Sie die Verz&ouml;gerungen <emphasis remap="bf">Pre-Init</emphasis> und
<emphasis remap="bf">Post-Init</emphasis> ein. Probieren Sie, ob Sie erfolgreich sind, wenn Sie die Werte
drastisch senken und stellen Sie sie dann sp&auml;ter genauer ein. </para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="autohostname">
<title>Der Verbindungsaufbau funktioniert gut, aber ich kann keine Programme starten.
</title>

<para>Sie haben vielleicht die Option 
"<link linkend="auto-configurehostname">Konfiguriere Hostname automatisch von dieser IP</link>"
aktiviert und 
der X-Server hat Probleme zum neu eingestellten Hostnamen zu verbinden. Falls Sie
diese Option wirklich ben&ouml;tigen (wahrscheinlich eher nicht), m&uuml;ssen Sie auf eigene Faust
die n&ouml;tigen Authorisationen einstellen.</para>

<para>Eingabe von "<literal remap="tt">xhost +</literal>" l&ouml;st das Problem, aber seien Sie <emphasis remap="bf">gewarnt</emphasis> vor 
Sicherheitsrisiken, die sich daraus ergeben, da dann jeder Zugang zu Ihrem
X-Server hat. </para>
</sect2>

<sect2 id="kppp-meldet-einen-erfolgreichen-verbindungsa">
<title><emphasis>Kppp</emphasis> meldet einen erfolgreichen Verbindungsaufbau, aber Netscape sagt nur "The server does not have a DNS entry"</title>

<para>Versuchen Sie, mit <emphasis>ping</emphasis> einen anderen Server &uuml;ber seine IP-Adresse,
zu erreichen, <literal remap="tt">ping 195.0.254.76</literal>. Wenn das funktioniert, sollten Sie</para>

<para><itemizedlist>
<listitem>
<para> pr&uuml;fen, ob Sie mindestens eine DNS-Adresse angegeben haben.</para>
</listitem>
<listitem>
<para> den Inhalt von <literal remap="tt">/etc/host.conf</literal> pr&uuml;fen. Es sollte eine Zeile 
vorhanden sein, in der etwas &auml;hnliches wie <literal remap="tt">order hosts, bind</literal> steht. 
Der <literal remap="tt">bind</literal>-Schl&uuml;sselbegriff sagt der resolver-Bibliothek, dass sie
einen Nameserver einbinden soll, wenn Sie eine Adresse sucht.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="wie-bringe-ich-kppp-dazu-ein-n-oder-ein-r-zu">
<title>Wie bringe ich Kppp dazu, ein \n oder ein \r zu senden?</title>

<para>Schicken Sie einfach eine leere Zeichenfolge, so wie im folgenden Skript:
<screen>Send                   # eine leere Zeichenfolge senden
Expect      ID:
Send        itsme
Expect      word:
Send        forgot
Expect      granted
Send        ppp
</screen>
</para>
</sect2>

<sect2 id="kppp-beschwert-sich-kann-keine-modemsperrung">
<title>Kppp beschwert sich: ``kann keine Modemsperrung erzeugen''</title>

<para>Das bedeutet, dass Sie keine Berechtigung haben, eine Sperrdatei zu erzeugen.
Wenn Sie eine Sperrdatei benutzen wollen, m&uuml;ssen Sie Schreibrechte
in dem Verzeichnis haben, indem die Datei erzeugt werden soll (typischerweise
/var/lock). Das ist nat&uuml;rlich kein Problem,
wenn Sie <emphasis>Kppp</emphasis> SETUID-Berechtigung gegeben haben.
Lesen Sie bitte den Abschnitt &uuml;ber die <link linkend="geraet">Modem-Sperrdatei</link>.</para>
</sect2>

<sect2 id="mein-modem-macht-beim-whlen-groen-lrm">
<title>Mein Modem macht beim W&auml;hlen gro&szlig;en L&auml;rm!</title>

<para>Klicken Sie auf <emphasis remap="bf">Einstellungen/Modem </emphasis> Sie k&ouml;nnen die Lautst&auml;rke
des Modems hier in drei Schritten einstellen: aus, mittel, gro&szlig;.
Bei den meisten Modems bekommen Sie die gleiche Lautst&auml;rke f&uuml;r
"mittel" und "gro&szlig;". Falls das nicht funktioniert, stellen Sie sicher,
dass Sie die richtigen Einstellungen in <emphasis remap="bf">Einstellungen/Modem/Modembefehle</emphasis>
eingestellt haben"</para>
</sect2>

<sect2 id="ich-habe-die-modemlautstrke-ausgeschaltet-un">
<title>Ich habe die Modemlautst&auml;rke ausgeschaltet und die Modembefehle
&uuml;berpr&uuml;ft, aber ich h&ouml;re immer noch W&auml;hlger&auml;usche!</title>

<para>Der Lautst&auml;rke-Befehl kann verloren gehen, wenn Ihr Modem nicht mit
der Geschwindigkeit zurechtkommt, in der es die Befehle von <emphasis>Kppp</emphasis>
erh&auml;lt. Verringern Sie den Wert der "Post-Init Verz&ouml;gerung" in
<emphasis remap="bf">Einstellungen/Modem/Modembefehle</emphasis>.</para>
</sect2>

<sect2 id="kppp-meldet-ungewhnliche-modemgeschwindigkei">
<title><emphasis>Kppp</emphasis> meldet ungew&ouml;hnliche Modemgeschwindigkeiten, wie  115200, 57600
oder &auml;hnliches </title>

<para>Viele Modems melden standardm&auml;&szlig;ig nur die Geschwindigkeit der seriellen 
Schnittstelle und nicht die Geschwindigkeit &uuml;ber die Telefonleitung.
Sie m&uuml;ssen diese Modem erst so einstellen, dass Sie die wirkliche 
Daten&uuml;bertragungsgeschwindigkeit melden (f&uuml;gen Sie dies dem Init- oder W&auml;hlstring bei).
Bei vielen Modems ist der Befehl <emphasis remap="bf">ATW2</emphasis>. Wenn Sie dies dem W&auml;hlstring
(typischerweise <emphasis remap="bf">ATD</emphasis>) beif&uuml;gen wollen, w&auml;re der neue W&auml;hlstring <emphasis remap="bf">ATW2D</emphasis>.</para>
</sect2>

<sect2 id="kppp-meldet-unbekannte-geschwindigkeit">
<title><emphasis>Kppp</emphasis> meldet "Unbekannte Geschwindigkeit"</title>

<para>Neue Modems haben oft komplizierte Verbindungsmeldungen wie 
"CONNECT LAP.M/V42.bis/115000:RX/31200:TX", und <emphasis>Kppp</emphasis> kann die Nachrichten
nicht korrekt behandeln. Schalten Sie <emphasis remap="bf">Zeige Log-Fenster</emphasis> ein, und Sie
werden die Verbindungsgeschwindigkeit sehen. Ich arbeite gerade an einer L&ouml;sung
dieses Problems, und der Parser ist schon viel besser, aber immer noch nicht
perfekt.</para>
</sect2>

<sect2 id="langsame-bertragungsgeschwindigkeiten">
<title>Langsame &Uuml;bertragungsgeschwindigkeiten</title>

<para>Wenn Sie mit der Modemgeschwindigkeit nicht zufrieden sind, stellen Sie
sicher, dass die Verbindungsgeschwindigkeit (<emphasis remap="bf">Einstellungen/Ger&auml;t/Geschwindigkeit</emphasis>)
auf 57600 oder h&ouml;her eingestellt ist. Stellen Sie sicher, dass Ihre serielle 
Schnittstelle h&ouml;here Geschwindigkeiten unterst&uuml;tzt. Viele auf i486 basierende Systeme
arbeiten nicht korrekt, wenn die Geschwindigkeit auf 115200 eingestellt ist.
Wenn Sie einen 8250 UART Chip haben, wird es nicht funktionieren. Wenn Sie einen 16550
oder 16550A haben, sollte es problemlos funktionieren.</para>

<para>Schauen Sie zus&auml;tzlich in Ihrem Modem-Handbuch nach Init-Strings, die 
den Hochgeschwindigkeit-Modus aktivieren.</para>
</sect2>

<sect2 id="sehr-langsame-bertragungsgeschwindigkeiten">
<title>SEHR langsame &Uuml;bertragungsgeschwindigkeiten</title>

<para>Wenn die Daten&uuml;bertragungsrate nur ein paar Byte pro Minute betr&auml;gt,
sollten Sie Ihre Hardware-Einstellungen &uuml;berpr&uuml;fen. Falls Bewegungen der
Maus die Daten&uuml;bertragung beschleunigen, ist das auf jeden Fall ein
Hardwareproblem.</para>

<para>Sie erhalten Informationen &uuml;ber Ihre serielle Schnittstelle mit
<literal remap="tt">setserial -a /dev/ttySx</literal>. Schauen Sie nach Interrupt-Konflikten
mit anderen Komponenten Ihres Systems.</para>
</sect2>

<sect2 id="meine-telefonleitung-benutzt-das-impuls-anst">
<title>Meine Telefonleitung benutzt das Impuls- anstatt das Tonwahlverfahren
 (oder umgekehrt)</title>

<para>Sie m&uuml;ssen den Modem-W&auml;hlstring ver&auml;ndern. Fast alle Modems unterst&uuml;tzen die
folgenden AT-Befehle:
<itemizedlist>
<listitem>
<para>ATDT - aktiviert das Tonwahlverfahren</para>
</listitem>
<listitem>
<para>ATDP - aktiviert das Impulswahlverfahren</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="kppp-macht-sehr-komische-dinge-was-auch-imme">
<title><emphasis>Kppp</emphasis> macht sehr komische Dinge (was auch immer)</title>

<para>Haben Sie <emphasis>Kppp</emphasis> oder die Bibliotheken mit <emphasis>gcc-2.8</emphasis> kompiliert? Diese Version
des <emphasis>gcc</emphasis> hat ein paar Fehler und arbeitet nicht wie erwartet.</para>
</sect2>

<sect2 id="wie-schreibe-ich-eine-telefongebhren-regel">
<title>Wie schreibe ich eine Telefongeb&uuml;hren-Regel?</title>

<para>Sehen Sie sich die <literal remap="tt">TEMPLATE</literal>-Regeldatei, die bei <emphasis>Kppp</emphasis> dabei ist, an.
Sie sollten eine Kopie davon in <literal remap="tt">&dollar;KDEDIR/doc/HTML/en/kppp</literal> finden.
Benutzen Sie den Kommandozeilen-Parameter <literal remap="tt">-r</literal> von <emphasis>Kppp</emphasis>, um die Syntax Ihrer
Geb&uuml;hrenregel-Datei zu &uuml;berpr&uuml;fen.</para>
</sect2>

<sect2 id="ich-habe-eine-gebhrenregel-datei-fr-meine-re">
<title>Ich habe eine Geb&uuml;hrenregel-Datei f&uuml;r meine Region geschrieben. Wem
 kann ich sie schicken, so dass auch andere sie nutzen k&ouml;nnen?</title>

<para>Ich nehme gerne jegliche geschriebene Regeldatei. Ich mache Sie
verf&uuml;gbar auf meiner <emphasis>Kppp</emphasis>-
<ulink url="http://math.cornell.edu/~wuebben/kppp/kppp.html">Webseite</ulink>.
Bevor Sie mir eine neue Regeldatei senden, stellen Sie sicher, dass sie
nicht bereits auf der <emphasis>Kppp</emphasis>-Webseite verf&uuml;gbar ist.
Dann senden Sie die neue Regeldatei an
<ulink url="mailto:wuebben@math.cornell.edu">mich</ulink>.</para>
</sect2>

<sect2 id="kann-meine-telefongebhren-regeldatei-bruchte">
<title>Kann meine Telefongeb&uuml;hren-Regeldatei Bruchteile einer Zeiteinheit enthalten, z.B. "(0.17,45.5)"?</title>

<para>Ja, das ist m&ouml;glich. Aber Sie sollten kein ungew&ouml;hnlich kleinen Bruchteile
benutzen (unter einer 1/10 Sekunde), da dies in einer h&ouml;heren CPU-Belastung 
resultieren w&uuml;rde. (Obwohl ich nicht glaube, dass Sie das bei einer modernen
CPU bemerken w&uuml;rden.:-)</para>
</sect2>

<sect2 id="mein-land-hat-auer-ostern-noch-einen-verschi">
<title>Mein Land hat au&szlig;er Ostern noch einen verschiebbaren Feiertag.</title>

<para>In diesem Fall m&uuml;ssen Sie neuen Code schreiben, der Ihnen die Berechnung
dieses Feiertags erm&ouml;glicht. Sehen Sie in <literal remap="tt">ruleset.cpp</literal> nach und
imitieren Sie das ``easter''-Beispiel.
Dann senden Sie <ulink url="mailto:wuebben@math.cornell.edu">mir</ulink> die Patches.</para>
</sect2>
</sect1>

<sect1 id="wie-man-das-system-log-interpretiert">
<title>Wie man das System-Log interpretiert</title>

<sect2 id="serial-line-is-looped-back">
<title>Serial line is looped back</title>

<para>Kurze Antwort: Sie haben die PPP Software auf dem entfernten System
nicht gestartet.</para>

<para>Lesen Sie dazu das Posting von Al Longyear auf 
<ulink url="http://www.dejanews.com/getdoc.xp?AN=184945314">http://www.dejanews.com/getdoc.xp?AN=184945314</ulink> f&uuml;r eine genauere Beschreibung.</para>
</sect2>

<sect2 id="signal-15">
<title>Signal 15</title>

<para>Wenn Sie die folgenden Zeilen sehen, haben Sie evtl. gerade einen Fehler wegen 
Zeit&uuml;berschreitung von <emphasis>Kppp</emphasis> erhalten. <emphasis>Kppp</emphasis> hat darauf gewartet, dass das PPP 
Interface startete, und hat dann nach einer bestimmten Zeit aufgegeben.
Dem pppd wurde mit dem Signal 15 (i.A. SIGTERM) signalisiert, abzubrechen.
<screen>pppd[26921]: pppd 2.3.5 started by me, uid 500
pppd[26921]: Using interface ppp0
pppd[26921]: Connect: ppp0 &lt;--&gt; /dev/ttyS0
pppd[26921]: Terminating on signal 15.
pppd[26921]: Connection terminated.
pppd[26921]: Exit.
</screen>
</para>
</sect2>

<sect2 id="receive-serial-link-is-not-8-bit-clean">
<title>Receive serial link is not 8-bit clean</title>

<para>Der PPP D&auml;mon wurde misstrauisch, da alle empfangenen Daten das Bit 8 auf Null
gesetzt hatten. In den meisten F&auml;llen zeigt das an, dass der entfernte PPP Server
noch nicht gestartet ist. Es wird dabei vielleicht immer noch ein
Anmeldeprompt geben, der alle Daten, die von Ihrem pppd gesendet wurden, zur&uuml;cksendet.</para>
</sect2>

<sect2 id="cant-locate-module-ppp-compress">
<title>can't locate module ppp-compress</title>

<para>Bekommen Sie folgende Nachrichten?
<screen>modprobe: can't locate module ppp-compress-21 
modprobe: can't locate module ppp-compress-26 
modprobe: can't locate module ppp-compress-24
</screen>
</para>

<para>F&uuml;gen Sie einfach diese Zeilen</para>

<para><screen>alias ppp-compress-21 bsd_comp 
alias ppp-compress-24 ppp_deflate 
alias ppp-compress-26 ppp_deflate 
</screen>
</para>

<para>zu Ihrer Datei <literal remap="tt">/etc/conf.modules</literal> hinzu. </para>
</sect2>
</sect1>
</chapter>

<chapter id="security">
<title><emphasis>Kppp</emphasis> und die Sicherheit</title>

<para>Dieses Kapitel ist haupts&auml;chlich f&uuml;r Administratoren(root), Leute
mit hohen Sicherheitsanspr&uuml;chen oder einfach technisch Interessierte.
Es ist nicht notwendig, dieses Kapitel zu lesen, wenn Sie nur Linux
f&uuml;r sich zu Hause laufen lassen (obwohl Sie vielleicht etwas Neues
lernen k&ouml;nnten, wenn Sie es lesen).</para>

<sect1 id="den-zugang-zu-kppp-beschrnken">
<title>Den Zugang zu <emphasis>Kppp</emphasis> beschr&auml;nken</title>

<para>Ein Systemadministrator m&ouml;chte vielleicht Zugang zu <emphasis>Kppp</emphasis>
auf diejenigen beschr&auml;nken, denen es erlaubt ist, es zu benutzen.
Es gibt zwei Wege, dies zu tun:</para>

<sect2 id="mit-gruppenrechten">
<title>Mit Gruppenrechten</title>

<para>Erstellen Sie eine neue Gruppe (Sie k&ouml;nnen sie z.B. "dialout" oder so 
&auml;hnlich nennen), nehmen Sie alle Benutzer, die <emphasis>Kppp</emphasis> benutzen d&uuml;rfen,
in die Gruppe auf und geben Sie folgendes ein: 
<screen>chown root.dialout $KDEDIR/bin/kppp
chmod 4750 $KDEDIR/bin/kppp
</screen>
</para>

<para>Dabei wurde angenommen, dass die neue Gruppe "dialout" genannt wurde.</para>
</sect2>

<sect2 id="kppps-weg">
<title><emphasis>Kppp</emphasis>'s Weg</title>

<para>Bevor <emphasis>Kppp</emphasis> irgend etwas macht, pr&uuml;ft es nach, ob die Datei
<literal remap="tt">/etc/kppp.allow</literal> existiert. Falls diese Datei existiert, d&uuml;rfen NUR
Benutzer, die in dieser Datei aufgef&uuml;hrt sind, hinausw&auml;hlen.
Die Datei muss f&uuml;r alle Benutzer lesbar (aber nat&uuml;rlich NICHT schreibbar)
sein. Es werden nur Login-Namen erkannt, sodass Sie keine UID's benutzen
k&ouml;nnen. Hier ist ein kurzes Beispiel:</para>

<para><screen># /etc/kppp.allow
# Kommentarzeilen, wie diese werden ignoriert, 
# genau wie leere Zeilen
fred
karl

# Ich f&uuml;ge mich selbst hinzu :-)
mweilguni
</screen>

Im obigen Beispiel d&uuml;rfen nur die Benutzer <emphasis remap="it">fred</emphasis>, <emphasis remap="it">karl</emphasis> und
<emphasis remap="it">mweilguni</emphasis> <emphasis>Kppp</emphasis> zum Hinausw&auml;hlen benutzen, ebenso wie alle
Benutzer mit UID 0. Sie m&uuml;ssen also <emphasis remap="it">root</emphasis> nicht in der Datei auff&uuml;hren.</para>
</sect2>
</sect1>

<sect1 id="kppp-hat-das-suid-bit-gesetzt.-wo-bleibt-die">
<title><emphasis>Kppp</emphasis> hat das SUID Bit gesetzt. Wo bleibt die Sicherheit?</title>

<para>Es ist realistisch gesehen nicht m&ouml;glich, ein W&auml;hlprogramm ohne gesetztes
SUID Bit zu schreiben, das sicher und dabei f&uuml;r unerfahrene Benutzer 
einfach zu benutzen ist.
<emphasis>Kppp</emphasis> geht das Sicherheitsproblem mit folgender Strategie an:</para>

<para><itemizedlist>
<listitem>
<para>Gleich nach dem Programmstart startet <emphasis>Kppp</emphasis> einen neuen Prozess.</para>
</listitem>
<listitem>
<para>Der Masterprozess (der die GUI, Benutzerinteraktion u.&auml;. verwaltet)
legt den SUID-Status danach ab und l&auml;uft dann mit den normalen 
Benutzerprivilegien.</para>
</listitem>
<listitem>
<para>Der Slaveprozess beh&auml;lt seine Privilegien bei und k&uuml;mmert sich um alles,
f&uuml;r das man root-Rechte ben&ouml;tigt. Um diesen Teil sicher zu machen,
werden hier keine Funktionen der KDE/QT-Bibliotheken aufgerufen,
sondern nur einfache Funktionen der C-Bibliothek.
Der Quellcode f&uuml;r diesen Prozess ist kurz (etwa 500 Zeilen) und gut
dokumentiert. Dadurch ist es einfach, Sicherheitsl&ouml;cher zu entdecken.</para>
</listitem>
<listitem>
<para>Master- und Slaveprozess kommunizieren mit standard UNIX IPC.</para>
</listitem>
</itemizedlist>
</para>

<para>Vielen Dank an Harri Porten f&uuml;r das Schreiben dieses exzellenten St&uuml;ck
Quellcodes. Ich dachte, es sei unm&ouml;glich - er schrieb es in einer Woche.</para>
</sect1>
</chapter>

<chapter id="cb">
<title><emphasis>Kppp</emphasis> und R&uuml;ckrufverbindungen </title>

<para>Das folgende Kapitel wurde von
<ulink url="mailto:mh@ap-dec717c.physik.uni-karlsruhe.de">Martin H&auml;fner</ulink>
zur Verf&uuml;gung gestellt.</para>

<para>Dieses Kapitel beschreibt die Konfiguration von <emphasis>Kppp</emphasis> f&uuml;r R&uuml;ckrufverbindungen.
Die folgenden Server werden unterst&uuml;tzt:</para>

<sect1 id="cb-intro">
<title>Unix (Linux) R&uuml;ckruf-Server</title>

<para>Dieser Abschnitt ist eine Einf&uuml;hrung in den Ablauf beim Aufbau einer Unix (Linux)
R&uuml;ckrufverbindung und wie Kppp eingestellt werden kann, um eine Verbindung mit einem 
Unix R&uuml;ckruf-Server, speziell mit einen Skript-basierten Linux 
<link linkend="cb-ressources">R&uuml;ckruf-Server</link>, zu erstellen.</para>

<para>Wenn Sie irgendwelche Fragen oder Probleme haben, scheuen Sie sich nicht, den
<ulink url="mailto:mh@ap-dec717c.physik.uni-karlsruhe.de">Autor</ulink> dieses Kapitels
zu kontaktieren.</para>

<sect2 id="cb-kppp">
<title>Einf&uuml;hrung in R&uuml;ckrufverbindungen</title>

<para>Um die Sicherheit Ihres lokalen Netzes zu verbessern oder die Kosten
Ihrer ausw&auml;rts arbeitenden Mitarbeiter zu senken, k&ouml;nnte ein R&uuml;ckruf-Server
Ihre erste Wahl sein. Machen Sie sich dar&uuml;ber Sorgen, dass jemand die Nummer Ihres 
Einw&auml;hlservers w&auml;hlt, und versucht das Passwort zu knacken? Warum betreiben
Sie dann &uuml;berhaupt einen Firewall f&uuml;r Ihre Internetverbindungen?</para>

<para>R&uuml;ckrufsoftware fragt generell nach einem Namen und sucht die dazugeh&ouml;rige
Telefonnummer in einer Datenbank. Dazu muss die Nummer auf dem Server gespeichert
sein. Nach der Authentifizierung legt der Server auf und ruft Sie unmittelbar danach
unter der Nummer aus der Datenbank zur&uuml;ck. Der Client nimmt den Anruf an
und f&auml;hrt mit dem Verbindungsaufbau fort, als wenn nichts gewesen w&auml;re.
Der Server wird Sie nach Ihrem Benutzernamen und Passwort fragen, dann
steht die Verbindung und der pppd kann gestartet werden. </para>

<para>Nun, wie kann ich dem Client sagen, dass er den Anruf annehmen soll?
Brauche ich dazu ein Programm wie <emphasis>mgetty</emphasis>? Die Antwort ist "NEIN"!
Sie brauchen kein spezielles Programm auf Ihrem Client. Allgemein gesagt,
k&ouml;nnen alle Clients f&uuml;r R&uuml;ckrufverbindungen benutzt werden.
Sie k&ouml;nnen sogar ein gew&ouml;hnliches Terminalprogramm wie <emphasis>minicom</emphasis>
dazu benutzen, eine Verbindung zu einem R&uuml;ckruf-Server aufzubauen.
Alles was Sie machen m&uuml;ssen, ist, Ihr Modem in den <literal remap="tt">AutoAnswer</literal>-Modus
zu schalten. Dies erreichen Sie durch ein spezielles Modemkommando:</para>

<para><screen>AT&amp;S0=1
</screen>
</para>

<para>Das hei&szlig;t, Ihr Modem nimmt einen Anruf nach einem <literal remap="tt">RING</literal> an.
Erinnern Sie sich, dies passiert ohne Mitwirkung einer Software
auf Ihrem Rechner.</para>

<para>Wie viele andere W&auml;hlprogramme auch, pr&uuml;ft <emphasis>Kppp</emphasis> ob die Verbindung
vom Server beendet wurde und beendet dann die Verbindung, wenn ein 
<literal remap="tt">NO CARRIER</literal> registriert wurde. Und das ist das n&auml;chste Problem:</para>

<para><literal remap="tt">NO CARRIER</literal> wird auch registriert, wenn der R&uuml;ckruf-Server auflegt,
nachdem er wei&szlig; unter welcher Nummer er zur&uuml;ckrufen soll.
Manche Server benutzen daf&uuml;r ein spezielles Anmeldeprogramm. Wie k&ouml;nnen Sie
dieses Problem l&ouml;sen? Sagen Sie Ihrem Modem, dass es die ganze Zeit
eine <emphasis>offene Leitung</emphasis> zeigen soll (was kein Problem bereitet,
wenn der Client auflegt), indem Sie das Modemkommando
<screen>AT&amp;C0
</screen>
 benutzen.</para>

<para>Wenn Sie das testen wollen, k&ouml;nnen Sie zuerst ein normales Terminalprogramm
wie <emphasis>minicom</emphasis> benutzen und Ihren R&uuml;ckruf-Server anrufen. </para>
</sect2>

<sect2 id="cb-trouble">
<title>Die <emphasis>Kppp</emphasis> Einstellungen</title>

<para><emphasis>Kppp</emphasis> einzustellen, um damit zu einem Linux R&uuml;ckruf-Server zu verbinden,
ist einfach.</para>

<para><orderedlist><listitem>
<para>Sie m&uuml;ssen Ihrem Modem nur mitteilen, dass es Anrufe annehmen soll
(<link linkend="cb-intro">siehe oben</link>) und dass es die Leitung nicht schlie&szlig;t,
wenn der R&uuml;ckruf-Server zum ersten Mal auflegt, um Sie zur&uuml;ckzurufen.
Beides sind Modemeinstellungen, die auf der Karteikarte "<emphasis remap="bf">Modem</emphasis>"
in den Einstellungen eingestellt werden m&uuml;ssen. Stellen Sie sicher, dass Ihre
Einstellungen wie folgt aussehen: 
<screen>W&auml;hlstring:   AT&amp;C0S0=1DT
</screen>


Alle anderen Einstellungen k&ouml;nnen Sie so belassen wie sie sind.
<emphasis>Kppp</emphasis> hat ein paar Probleme beim Initialisieren und Zur&uuml;cksetzen des Modem.
Falls Sie Probleme haben, schauen Sie im Abschnitt 
<link linkend="cb-trouble">Problembeseitigung</link> nach.
</para>
</listitem>
<listitem>
<para>Machen Sie sich jetzt ein paar Gedanken &uuml;ber Ihren Server.
Denken Sie daran, dass Windows und Unix-Betriebssysteme unterschiedlicher Meinung
sind, wie Zeilenenden in Textdateien (und Anmeldeprozeduren) aussehen:
einfaches CR oder CR/LF oder LF. Falls Sie eine Verbindung zu einem Macintosh-Server
aufbauen wollen, benutzen Sie <emphasis>CR</emphasis> als Zeilenende.

</para>
</listitem>
<listitem>
<para>Der n&auml;chste Abschnitt beschreibt die Einstellung von <emphasis>Kppp</emphasis> auf der Basis
eines Linux R&uuml;ckruf-Pakets (<link linkend="cb-ressources">siehe unten</link>),
das eine gew&ouml;hnliche Anmeldeprozedur (kein PAP oder sonstiges) benutzt.
Daf&uuml;r m&uuml;ssen Sie die folgende Art der Authentifizierung auf der Karteikarte
"<emphasis remap="bf">W&auml;hlen</emphasis>" in den Zugangseinstellungen ausw&auml;hlen:
<screen>Authentifizierung:   Skript-basiert
</screen>


Nat&uuml;rlich k&ouml;nnen Sie auch zuerst "<emphasis remap="bf">Terminal-basiert</emphasis>" w&auml;hlen und Ihre
Verbindung testen.
Achten Sie darauf, was Sie der Server fragt, damit Sie danach Ihr
Login-Skript schreiben k&ouml;nnen.
</para>
</listitem>

<listitem id="cb-scripting">
<para>Nun m&uuml;ssen Sie das Login-Skript schreiben. Auf meinen Server, braucht der
Benutzer "xyz" das folgende Skript, um zu Hause zur&uuml;ckgerufen zu werden
(der R&uuml;ckruf-Server hat eine Tabelle mit Namen und Nummern, so dass Sie
Ihre Telefonnummer &uuml;ber einen Alias ausw&auml;hlen m&uuml;ssen (Sicherheit!)):

<screen>Expect      ogin:       # denken Sie daran, wir melden uns auf einem Terminal an
ID          ""          # Kppp sendet den Benutzernamen, den Sie im Hauptfenster
                        # angegeben haben.
Expect      for xyz:    # Eine Liste verf&uuml;gbarer Nummern wird gezeigt, von denen
                        # der Benutzer eine ausw&auml;hlen muss
Send        xyz-home    # Der Benutzer will zur&uuml;ckgerufen werden
Expect      ogin:       # Der R&uuml;ckrufprozess l&auml;uft. Eine neue Verbindung, eine neue Anmeldung
ID
Expect      assword:
Password                # Jetzt Ihr Passwort
Expect      &gt;           # warte auf die Eingabeaufforderung (das kann variieren)
Send        start_ppp   # start_ppp startet den pppd

</screen>


Ignorieren Sie die Kommentare, die mit "&num;" beginnen.
Nachdem die Anmeldeaufforderung erscheint, sendet der Benutzer seinen Benutzernamen
und wartet auf die Liste mit verf&uuml;gbaren Verbindungen. Dann teilt er dem Server mit 
unter welcher Nummer er zur&uuml;ckgerufen werden will. <emphasis>Kppp</emphasis> kann daf&uuml;r einen Dialog
aufmachen (sehr n&uuml;tzliche Eigenschaft), wenn sich Ihr Aufenthaltsort schnell &auml;ndert
(z.B. wenn Sie ein Vertreter sind und von Hotel zu Hotel reisen).
Danach erwartet der Server Ihren Benutzernamen und die Passworteingabe.
In der Zwischenzeit h&auml;ngt der Server auf und ruft den Benutzer zur&uuml;ck.
<emphasis>Kppp</emphasis> wartet auf die Eingabeaufforderung und startet dann ein kurzes
Skript, das den pppd auf dem Server startet. Das Skript k&ouml;nnte etwa 
folgenderma&szlig;en aussehen:

<screen>  #!/bin/sh

  stty -echo

  exec /usr/sbin/pppd -detach silent modem
</screen>


Nat&uuml;rlich geht die Konfiguration eines R&uuml;ckruf-Servers etwas &uuml;ber die Intention
dieses Kapitel hinaus. F&uuml;r mehr Informationen lesen Sie die pppd-Manpage.
Einen Beispiel f&uuml;r die Konfiguration eines R&uuml;ckruf-Servers finden Sie 
<ulink url="http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback">hier</ulink>.</para>
</listitem>
</orderedlist>
</para>

<para>Alle anderen Einstellungen (z.B. pppd Konfiguration oder IP-Einstellungen)
sind die gleichen wie sonst auch. Denken Sie daran, dass keine spezielle
Software n&ouml;tig ist, um den R&uuml;ckruf anzunehmen.</para>

<para><emphasis>Hinweis:</emphasis> <emphasis>Kppp</emphasis> R&uuml;ckruf und andere Programme wie mgetty oder andere faxgetty
k&ouml;nnen auf die gleiche serielle Schnittstelle zugreifen. Dabei gibt es beim Einw&auml;hlen
keine Probleme, da <emphasis>Kppp</emphasis> eine Sperrdatei erzeugt, die anderen getty-Programmen
anzeigt, dass gerade ein anderes Programm die Leitung benutzt. Wegen genereller Probleme
mit mgetty lesen Sie den Abschnitt <link linkend="cb-trouble">Problembeseitigung</link> weiter unten.</para>
</sect2>

<sect2 id="cb-ressources">
<title>Problembeseitigung</title>

<para>Es gibt ein paar bekannte Probleme mit <emphasis>Kppp</emphasis> im R&uuml;ckruf-Modus:</para>

<para><itemizedlist>
<listitem>
<para>Da Sie das Modem mit <literal remap="tt">AutoAnswer</literal> initialisieren, m&uuml;ssen Sie es
nach dem Verbindungsabbruch zur&uuml;cksetzen. Wenn Sie das nicht tun, wird das Modem
alle Anrufe f&uuml;r Sie annehmen.</para>
</listitem>
<listitem>
<para>Wie schon im Abschnitt <link linkend="cb-kppp">Die Kppp Einstellungen</link> beschrieben,
m&uuml;ssen Sie das Modem mit dem W&auml;hlstring initialisieren. Der normale <emphasis>Kppp</emphasis>
"Init-String" kann solche komplexeren Init-Strings, die f&uuml;r R&uuml;ckrufverbindungen ben&ouml;tigt 
werden, nicht aufnehmen.</para>
</listitem>
<listitem>
<para>Der n&auml;chste Punkt ist allgemeiner und nicht beschr&auml;nkt auf R&uuml;ckrufverbindungen:
<emphasis>Kppp</emphasis> hat leichte Problem, wenn die Modemschnittstelle mit einem anderen Programm
wie mgetty gemeinsam benutzt wird. Wenn mgetty die gleiche Schnittstelle benutzt,
kann <emphasis>Kppp</emphasis> das Modem nicht korrekt initialisieren. Das klappt erst beim zweiten
Versuch.</para>
</listitem>
<listitem>
<para><emphasis>Kppp</emphasis> kann w&auml;hrend einer Skript-basierten Verbindung nach einer
Benutzereingabe fragen. Leider fragt <emphasis>Kppp</emphasis> Sie auch nach dem Benutzernamen, wenn
der Server zum zweiten Mal den Benutzernamen wissen will (siehe den Login-Skript
Abschnitt <link linkend="cb-scripting">oben</link>). 
Wenn Sie das abstellen wollen, m&uuml;ssen Sie Ihren Benutzernamen direkt in das
Login-Skript schreiben (nicht sehr sch&ouml;n, aber es hilft).</para>
</listitem>
</itemizedlist>
</para>
</sect2>

<sect2 id="serversoftware-im-internet">
<title>Serversoftware im Internet</title>

<para>Linux R&uuml;ckruf-Server Softwarepakete sind &uuml;berall im Internet erh&auml;ltlich.
Nat&uuml;rlich geh&ouml;rt auch das sehr bekannte und leistungsf&auml;hige mgetty dazu, mit
dem man auch R&uuml;ckrufverbindungen erstellen kann. Eine Beschreibung, wie man mgetty
daf&uuml;r konfigurieren muss, gibt es 
<ulink url="http://www.dyer.demon.co.uk/slug/tipscrip.htm">hier</ulink>.
Die Seite wird betreut von <ulink url="mailto:colin@wew.co.uk">Colin Mc Kinnon</ulink>, 
also fragen Sie bitte nicht mich, wenn Sie irgendwelche Probleme haben. Aber es ist auch 
ein fertig benutzbares Paket f&uuml;r Linux R&uuml;ckruf-Server 
<ulink url="http://www.icce.rug.nl/docs/programs/callback/callback.html">hier</ulink> 
erh&auml;ltlich. Das Paket wird betreut von 
<ulink url="mailto:frank@icce.rug.nl">Frank B. Brokken</ulink>. 
Weil das Paket nicht so leicht einzustellen ist (obwohl die Konfiguration
eigentlich unkompliziert ist), habe ich eine 
<ulink url="http://ap-dec717c.physik.uni-karlsruhe.de/~mh/callback/">kurze Einleitung</ulink> 
daf&uuml;r geschrieben. Schauen Sie dort ebenfalls nach, wenn Sie eine weitergehende allgemeine 
Einf&uuml;hrung in R&uuml;ckrufverbindungen wollen.   </para>
</sect2>
</sect1>

<sect1 id="windows-nt-ras-rckrufverbindungen">
<title>Windows NT RAS R&uuml;ckrufverbindungen</title>

<para>Windows NT benutzt einen v&ouml;llig verschiedenen Ansatz als der hier beschriebene (wie &uuml;blich).
NT ben&ouml;tigt eine Erweiterung des PPP Protokolls namens  CBCP (Call Back Control Protocol).
<literal remap="tt">pppd</literal> unterst&uuml;tzt dieses Protokoll, aber Sie m&uuml;ssen <literal remap="tt">pppd</literal> dazu neu kompilieren.</para>

<para> 
Wenn irgend jemand Erfahrungen dazu gesammelt hat, wie man dies mit <emphasis>Kppp</emphasis> macht,
teilen Sie <ulink url="mailto:mweilguni@kde.org">mir</ulink> diese bitte mit.</para>
</sect1>
</chapter>

<chapter id="anhang">
<title>Anhang</title>

<sect1 id="der-hayes-modem-befehlssatz">
<title>Der Hayes-Modem-Befehlssatz</title>

<para><ulink url="hayes.html">Der Hayes-Befehlssatz</ulink> k&ouml;nnte n&uuml;tzlich sein, wenn Sie
Ihre Modembefehle feineinstellen m&uuml;ssen.</para>
</sect1>

<sect1 id="dateien-in-zusammenhang-mit-kppp">
<title>Dateien in Zusammenhang mit Kppp</title>

<para>Standardm&auml;&szlig;ig benutzt <emphasis>Kppp</emphasis> folgende Dateien und Verzeichnisse.
Die Position mancher von ihnen kann bei der Kompilierung ge&auml;ndert werden.</para>

<para><screen>&dollar;(KDEDIR)/bin/kppp
&dollar;(KDEDIR)/share/doc/HTML/.../kppp/*
&dollar;(KDEDIR)/share/apps/kppp
&dollar;(KDEDIR)/share/apps/kppp/Rules/*/*.rst
&dollar;(KDEDIR)/share/apps/kppp/pics/*
&dollar;(HOMEDIR)/.kde/share/apps/kppp
&dollar;(HOMEDIR)/.kde/share/apps/kppp/kppp.pid
&dollar;(HOMEDIR)/.kde/share/apps/kppp/Log/*
&dollar;(HOMEDIR)/.kde/share/config/kppprc
</screen>
</para>
</sect1>

<sect1 id="ber-probleme-mit-kppp-berichten">
<title>&Uuml;ber Probleme mit Kppp berichten</title>

<para>Bevor Sie dem <ulink url="mailto:wuebben@kde.org">Betreuer</ulink>
von <emphasis>Kppp</emphasis> &uuml;ber ein Problem oder einen potentiellen Fehler berichten,
stellen Sie bitte sicher, dass Sie den Abschnitt <link linkend="kpppFAQ">H&auml;ufig gestellte Fragen</link> sorgf&auml;ltig gelesen haben.</para>

<para>Wenn Sie dann immer noch Probleme haben, sollten Sie Ihrem Bericht folgende
Informationen beif&uuml;gen:
<itemizedlist>
<listitem>
<para>Die Version von <emphasis>Kppp</emphasis>, die Sie nutzen. <literal remap="tt">kppp -v</literal>
zeigt die Versionsnummer.</para>
</listitem>
<listitem>
<para>Die Version von <application>pppd</application>, die Sie nutzen. <command>/usr/sbin/<application>pppd</application> -h</command>
zeigt die Nummer.</para>
</listitem>
<listitem>
<para>Welches Betriebssystem und -version sie nutzen. <literal remap="tt">uname -a</literal> gibt Ihnen diese Information
bei den meisten UNIX-Systemen.</para>
</listitem>
<listitem>
<para>Wenn <emphasis>Kppp</emphasis> ``pppd died unexpectedly'', f&uuml;gen Sie den <literal remap="tt">debug</literal>-Parameter
zu den <link linkend="waehlen">pppd-Parametern</link> hinzu. W&auml;hlen Sie erneut, um den Fehler
noch einmal zu erzeugen.</para>
<para>Jetzt steht in der <literal remap="tt">/var/log/messages</literal>-Datei (das h&auml;ngt von Ihrem System
und der Konfiguration ab, aber normal installierte Linuxsysteme haben es dort.
Nat&uuml;rlich m&uuml;ssen Sie root-Berechtigung besitzen, um die Datei zu lesen) eine
Menge Debug-Ausgaben am Ende. <emphasis remap="bf">Schicken Sie mir nicht die gesamte Datei.</emphasis>
Sie hat normalerweise Tausende Zeilen und wir haben weder Zeit noch Lust,
eine solche Datei zu bearbeiten. Stattdessen schicken Sie uns nur die letzten Zeilen,
die <literal remap="tt">pppd</literal> enthalten. Stellen Sie sicher, dass diese Datei <emphasis remap="bf">keine</emphasis>
Sicherheitsrelevanten Informationen wie Passw&ouml;rter oder Benutzernamen enth&auml;lt.
Ersetzen Sie solche Eintr&auml;ge mit etwas wie <literal remap="tt">meinbenutzername</literal> und <literal remap="tt">meinpasswort</literal>.</para>
</listitem>
</itemizedlist>
</para>
</sect1>
</chapter>

<chapter id="gpl">
<title>Die GNU General Public License</title>

<para>
Es folgt der Text der GPL (GNU General Public License) in Englisch. 
Da die Übersetzung der Lizenz nicht rechtskräftig ist, wurde hier die 
Originalfassung stehen lassen. Eine inoffizielle Übersetzung der GPL 
finden Sie unter 
<ulink url="http://www.gnu.de/gpl-ger.html">http://www.gnu.de/gpl-ger.html</ulink></para>

<para><programlisting>		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
                          675 Mass Ave, Cambridge, MA 02139, USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
</programlisting>


<programlisting>			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS</programlisting>
</para>
</chapter>
<![ %addindex; [ &docindex; ]]>
</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
sgml-general-insert-case: lower
End:
-->
