<chapter id="dialog-setup">
<title>Mit Hilfe von Dialogen eine Verbindung einrichten</title>

<para>Die Einrichtung einer Verbindung mit Hilfe von Dialogen ist nicht wesentlich schwerer als die Verwendung des Assistenten.</para>

<para>Der Einrichtungsdialog wird auf die gleiche Weise wie der Assistent aufgerufen. Man startet &kppp; aus dem <guimenu>K</guimenu>-Menü im Untermenü <guisubmenu>Internet</guisubmenu> unter der Bezeichnung <guimenuitem>Einwahl ins Internet</guimenuitem>.</para>

<para>Der folgende Dialog erscheint:</para>

<screenshot>
<screeninfo>Der &kppp;-Eingangsbildschirm</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-dialler-tab.png" format="PNG"/>
</imageobject>
<textobject><phrase>Der &kppp;-Eingangsbildschirm</phrase>
</textobject>
<caption><para>Der &kppp;-Eingangsbildschirm</para></caption>
</mediaobject>
</screenshot>

<para>Es befinden sich in diesem Fenster vermutlich keinerlei Einträge. Diese werden wir jetzt hinzufügen.</para>

<para>Für eine neue Internetverbindung klickt man auf den Knopf <guibutton>Einstellungen</guibutton>.</para>

<para>Nun klickt man auf <guilabel>Dialogbasiert</guilabel> und es erscheint der folgende Dialog:</para>

<screenshot>
<screeninfo>Der Dialog <guilabel>Neuer Zugang</guilabel></screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-dial-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Der Dialog <guilabel>Neuer Zugang</guilabel></phrase>
</textobject>
<caption>
<para>Der Dialog <guilabel>Neuer Zugang</guilabel></para>
</caption>
</mediaobject>
</screenshot>

<!-- Make a screenshot of the actual new Account Dialog with no entries -->

<para>Der Dialog <guilabel>Neuer Zugang</guilabel> enthält folgende Abschnitte:</para>

<itemizedlist>
<listitem>
<para><link linkend="account-dial"><guilabel>Wählen</guilabel></link></para>
</listitem>
<listitem>
<para><link linkend="account-ip"><guilabel>IP</guilabel></link></para>
</listitem>
<listitem>
<para><link linkend="account-gateway"><guilabel>Gateway</guilabel></link></para>
</listitem>
<listitem>
<para><link linkend="account-dns"><guilabel>DNS</guilabel></link></para>
</listitem>
<listitem>
<para><link linkend="account-login-script"><guilabel>Anmeldeskript</guilabel></link></para>
</listitem>
<listitem>
<para><link linkend="account-execute"><guilabel>Ausführen</guilabel></link></para>
</listitem>
<listitem>
<para><link
linkend="account-accounting"><guilabel>Abrechnung</guilabel></link></para>
</listitem>
</itemizedlist>

<para>Obwohl jeder Bereich im folgenden Abschnitt beschrieben wird, benötigt man in der Regel nicht alle auszufüllen.</para>

<sect1 id="account-dial">
<title>Die Karteikarte <guilabel>Wählen</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>Wählen</guilabel> des Zugangs</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-dial-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>Wählen</guilabel> des Zugangs</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>Wählen</guilabel> des Zugangs</para>
</caption>
</mediaobject>
</screenshot>

<para>Die Karteikarte <guilabel>Wählen</guilabel> enthält folgende Einstellmöglichkeiten:</para>

<variablelist>
<varlistentry>
<term><guilabel>Verbindungsname:</guilabel></term>
<listitem>
<para>Sie müssen einen Zugangsnamen angeben. Sie können einen beliebigen Namen wählen, aber wenn Sie mehrere Zugänge haben, muss dieser eindeutig sein.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Telefonnummer:</guilabel></term>
<listitem>
<para>Hier muss man die zu wählende Telefonnummer angeben. Man kann Zeichen wie <quote>-</quote> zur besseren Lesbarkeit der Nummer verwenden. Falls man mehrere durch Doppelpunkt getrennte Nummern verwendet (&dh; <userinput>111111:222222:333333</userinput>), versucht &kppp; diese Nummern nacheinander, solange ein Besetztzeichen ertönt. Man kann mit dem Knopf <guibutton>Hinzufügen</guibutton> eine weitere Nummer hinzufügen, durch <guibutton>Entfernen</guibutton> eine Nummer aus der Liste löschen, und mit Hilfe der Pfeilknöpfe <guiicon>Aufwärts</guiicon> und <guiicon>Abwärts</guiicon> die Reihenfolge der Nummern ändern.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Authentifizierung</guilabel></term>
<listitem>
<para>Wählen Sie die passende Authentifizierungsmethode, die &kppp; benutzen soll, um Sie bei Ihrem Provider anzumelden. Erkundigen Sie sich bei Ihrem Provider. Weitere Hinweise zu <acronym>PAP</acronym> oder <acronym>CHAP</acronym> findet man im Kapitel <xref linkend="chap-and-pap"/>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Speichere Passwort</guilabel></term>
<listitem>
<para>Aktivieren Sie diese Option, wenn &kppp; bei der nächsten Verbindung Ihr Passwort automatisch eingeben soll.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guibutton>Bearbeite pppd-Argumente</guibutton></term>
<listitem>
<para>Das öffnet den <application>pppd</application>-Argumente-Dialog. Sie können diesen Dialog nutzen, um jede gewünschte Option hinzuzufügen, die &kppp; an <application>pppd</application> weitergeben soll. Sehen Sie in der <application>pppd</application>-Manpage für eine Liste der verfügbaren Optionen nach. Solange Sie nicht genau wissen, was Sie tun, sollten Sie davon Abstand nehmen, an den <application>pppd</application>-Optionen herumzuspielen.</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="account-ip">
<title>Die <guilabel>IP</guilabel>-Karteikarte</title>

<screenshot>
<screeninfo>Die <guilabel>IP</guilabel>-Karteikarte für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-ip-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die <guilabel>IP</guilabel>-Karteikarte für Zugänge</phrase>
</textobject>
<caption><para>Die <guilabel>IP</guilabel>-Karteikarte für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Dynamische IP-Adresse</guilabel></term>
<listitem>
<para>Aktivieren Sie diese Option, wenn Ihr <acronym>ISP</acronym> dynamische <acronym>IP</acronym>-Adresszuweisung benutzt. Das bedeutet, dass sich Ihre <acronym>IP</acronym>-Adresse vermutlich bei jedem Verbindungsaufbau ändert.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Statische IP-Adresse</guilabel></term>
<listitem>
<para>Diese Option muss man markieren, falls man vom <acronym>ISP</acronym> eine statische <acronym>IP</acronym>-Adresse erhalten hat. Weiterhin muss diese Adresse im Feld <guilabel>IP-Adresse</guilabel> eingetragen werden und möglicherweise eine <guilabel>Subnetz-Maske</guilabel>. Bei Unsicherheit sollte man seinen <acronym>ISP</acronym> befragen. Meistens werden von <acronym>ISP</acronym>s dynamische Adressen verwendet, so dass man dieses Feld in der Regel nicht markieren muss.</para>
</listitem>
</varlistentry>
<varlistentry id="auto-configure-hostname">
<term><guilabel>Hostnamen automatisch von dieser IP einrichten</guilabel></term>
<listitem>
<para>Dieses Ankreuzfeld muss man markieren, falls &kppp; den Rechnernamen und den Domain-Namen nach dem Aufbau einer <acronym>ppp</acronym>-Verbindung automatisch einstellen soll.</para>
<para>Das wird durch die Abfrage des angegebenen Domain Nameservers mit der für die <acronym>ppp</acronym>-Verbindung zugeordneten <acronym>IP</acronym>-Adresse erreicht.</para>
<para>Dieses Ankreuzfeld ist sinnvoll für diejenigen Einzelplatzrechner, die Protokolle wie talk verwenden möchten, für die der Rechnername mit dem im Internet bekannten Namen übereinstimmen muss. Die Einstellung hat Vorrang vor <guilabel>Domain-Name</guilabel> auf der Karteikarte <guilabel>DNS</guilabel>. Die Standardwerte werden beim Beenden der <acronym>ppp</acronym>-Verbindung automatisch wieder hergestellt.</para>
<para>Die Einstellung ist <emphasis>nicht</emphasis> sinnvoll, wenn man nur eine Verbindung zum Surfen, Chatten oder Nachrichten herunterladen aufbaut. Es gibt einen Seiteneffekt: Es sind keine neuen Verbindungen zum eigenen X-Server mehr möglich - mit anderen Worten, man kann keine neuen <acronym>GUI</acronym>-Programme mehr starten.</para>
<para>Dieses Ankreuzfeld sollte man daher nur dann markieren, wenn es unbedingt notwendig ist.</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="account-gateway">
<title>Die Karteikarte <guilabel>Gateway</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>Gateway</guilabel> für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-gateway-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>Gateway</guilabel> für Zugänge</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>Gateway</guilabel> für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Standard-Gateway</guilabel></term>
<listitem>
<para>Wählen Sie das, wenn <application>pppd</application> den Standard-Gateway für Ihre Maschine verwenden soll.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Fester Gateway</guilabel></term>
<listitem>
<para>Wählen Sie diese Einstellung, wenn Sie den zu benutzenden Gateway angeben möchten.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Standardroute auf diesen Gateway setzen</guilabel></term>
<listitem>
<para>Dieses Ankreuzfeld muss fast mit Sicherheit markiert sein (Standard).</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="account-dns">
<title>Die Karteikarte <guilabel>DNS</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>DNS</guilabel> für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-dns-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>DNS</guilabel> für Zugänge</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>DNS</guilabel> für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<variablelist>
<varlistentry>
<term><guilabel>Domain-Name:</guilabel></term>
<listitem>
<para>Geben Sie den Domainnamen für Ihre Maschine an. Wie bei DNS-Adressen wird dies auf die ursprünglichen Angaben aus <filename>/etc/resolv.conf</filename> zurückgesetzt, wenn die Verbindung beendet wird. Falls Sie hier nichts eintragen, werden keine Änderungen am Domainnamen vorgenommen, der in <filename>/etc/resolv.conf</filename> angegeben ist.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Einrichtung:</guilabel></term>
<listitem>
<para>Man kann zwischen <guilabel>Automatisch</guilabel> (der <acronym>ISP</acronym> stellt automatisch <acronym>DNS</acronym>-Serveradressen beim Verbindungsaufbau bereit) und <guilabel>Manuell</guilabel>. Falls man manuell wählt, wird das Eingabefeld <guilabel>DNS-IP-Adresse</guilabel> aktiviert.</para> 
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>DNS-IP-Adresse</guilabel></term>
<listitem>
<para>Fügen Sie die Domain Name Server von Ihrem ISP an. Sie müssen mindestens einen Domain Name Server angeben, um menschlich lesbare IP-Adressen wie <systemitem>ftp.kde.org</systemitem> aufzulösen. Die angegebenen DNS-Serveradressen müssen in numerischer Form vorliegen, z.B. <systemitem>128.231.231.233</systemitem>. Die Adressen werden zur Laufzeit zu denen aus <filename>/etc/resolv.conf</filename> hinzugefügt.</para> 
<para>Um eine neue <guibutton>DNS</guibutton>-Adresse zur DNS-Adressliste hinzuzufügen, wählt man den <guibutton>Hinzufügen</guibutton>-Knopf. Durch den <guibutton>Entfernen</guibutton>-Knopf kann man Einträge aus der Liste löschen.</para> 
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Schalte während Verbindung existierende DNS-Servers aus</guilabel></term>
<listitem>
<para>Falls man dieses Ankreuzfeld markiert, werden alle <acronym>DNS</acronym>-Server, die in der Datei <filename>/etc/resolv.conf</filename> aufgelistet sind, deaktiviert, solange die Verbindung besteht.</para>
</listitem>
</varlistentry>
</variablelist>

</sect1>

<sect1 id="account-login-script">
<title>Die Karteikarte <guilabel>Anmeldeskript</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>Anmeldeskript</guilabel> für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-login-script-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>AnmeldeSkript</guilabel> für Zugänge</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>Anmeldeskript</guilabel> für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<para>Mit diesem Dialog können Sie ein Einwahlskript für Ihren <acronym>ISP</acronym> erstellen. Benutzen Sie das Mini-Terminal und die Informationen von Ihrem <acronym>ISP</acronym>, um herauszufinden, welche Reihenfolge von Aktionen ausgeführt werden muss.</para>

<para>Man wählt eine Möglichkeit aus dem Auswahlfeld auf der linken Seite und trägt alle Parameter in das Eingabefeld rechts davon ein. Dann betätigt man den Knopf <guibutton>Hinzufügen</guibutton>, um diesem Eintrag an das <emphasis>Ende</emphasis> der unten angezeigten Befehlsliste anzuhängen. Mit Hilfe von <guibutton>Einfügen</guibutton> kann man den Eintrag an beliebiger Stelle einfügen, und mit <guibutton>Entfernen</guibutton> kann man einen Eintrag aus der Liste löschen.</para>

<para>Die Auswahlmöglichkeiten sind:</para>

<variablelist>
<varlistentry>
<term><guilabel>Expect</guilabel></term>
<listitem>
<para>&kppp; wartet auf den Empfang der angegebenen Zeichenfolge.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Send</guilabel></term>
<listitem>
<para>&kppp; sendet die angegebene Zeichenfolge.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Scan</guilabel></term>
<listitem>
<para>&kppp; durchsucht die eingehenden Daten nach der gegebenen Zeichenfolge und speichert die darauffolgenden Zeichen bis zum nächsten Zeilenumbruch in einem internen Puffer. Leerzeichen am Anfang und Ende der gespeicherten Zeichenfolge werden entfernt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Save</guilabel></term>
<listitem>
<para>Speichert den vorher mit <quote>Scan</quote> gesuchten String permanent im angegebenen Register. Das einzige gültige Register ist bisher <varname>password</varname>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Pause (sec.)</guilabel></term>
<listitem>
<para>Die angegebene Anzahl Sekunden warten.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Hangup</guilabel></term>
<listitem>
<para>&kppp; sendet den Aufhängen-Befehl an das Modem.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Answer</guilabel></term>
<listitem>
<para>&kppp; versetzt das Modem in den Antwort-Modus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>pppd-Wartezeit</guilabel></term>
<listitem>
<para>Ändert die Standard-Zeitüberschreitung auf die angegebene Anzahl Sekunden dynamisch während der Skript-Ausführung. Sie können dies während der Skriptausführung mehrmals tun, falls nötig.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Prompt</guilabel></term>
<listitem>
<para>Bittet den &kppp;-Benutzer, eine Zeichenkette einzugeben, mit der angegebenen Zeichenfolge als Hinweis. Der Benutzer sieht dabei, was er eingibt. Wenn die angegebene Zeichenfolge die Marke <userinput>##</userinput> enthält, wird diese durch den Inhalt des internen Puffers ersetzt, der durch den letzten <guilabel>Scan</guilabel>-Befehl gespeichert wurde.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>PWPrompt</guilabel></term>
<listitem>
<para>Bittet den &kppp;-Benutzer, eine Zeichenkette einzugeben, mit der angegebenen Zeichenfolge als Hinweis. Der Benutzer sieht ein Sternchen für jedes eingegebene Zeichen.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>IP</guilabel></term>
<listitem>
<para>Falls das <guilabel>Benutzername</guilabel>-Feld in &kppp;'s-Hauptfenster ausgefüllt ist, wird dieser Benutzername gesendet. Falls das <guilabel>Benutzername</guilabel>-Feld nicht ausgefüllt ist, wird der &kppp;-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 oder bei Authentifizierung durch Rückruf, wird in jedem Fall eine Eingabe gefordert mit der angegebenen Zeichenfolge als Hinweis.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Password</guilabel></term>
<listitem>
<para>Wenn das <guilabel>Passwort</guilabel>-Feld in &kppp;'s-Hauptfenster ausgefüllt ist, wird dieses gesendet. Falls nicht, wird der &kppp;-Benutzer aufgefordert, ein Passwort einzugeben, mit der angegebenen Zeichenfolge als Hinweis. Es wird ein Sternchen für jedes eingegebene Zeichen ausgegeben. Bei einem zweiten Aufruf, zum Beispiel aus einer Schleife oder bei Authentifizierung durch Rückruf, wird in jedem Fall eine Eingabe gefordert mit der angegebenen Zeichenfolge als Hinweis.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>LoopStart</guilabel></term>
<listitem>
<para>&kppp; wartet auf den Empfang der angegebenen Zeichenkette. Die Zeichenkette wird gespeichert für die Nutzung durch <varname>LoopEnd</varname>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>LoopEnd</guilabel></term>
<listitem>
<para>&kppp; wartet auf den Empfang der angegebenen Zeichenkette und beendet die Schleife. Falls die Zeichenkette vom entsprechenden <varname>LoopStart</varname> zuerst empfangen wird, wird ein Sprung in die Zeile nach <varname>LoopStart</varname> vorgenommen, was eine Wiederholung von Benutzernamen/Passwort-Dialogen ermöglicht.</para>
</listitem>
</varlistentry>
</variablelist>

<sect2>
<title>Beispielskripte</title>

<example>
<title>Ein einfaches Beispiel für ein Anmeldeskript</title>
<para>Hier ist ein einfaches Skript, das ich zur Verbindung zu meinem <acronym>ISP</acronym> verwenden könnte:</para>

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

</example>

<example>
<title>Ein Anmeldeskript, das mit Hilfe von Schleifen nach Benutzername und Passwort fragt.</title>

<para>Hier ist ein Skript für den gleichen Zugang mit einer Abfrage für Benutzername und Passwort. Das Skript fragt jedes Mal nach Benutzername und Passwort, egal was im Feld <guilabel>Benutzername</guilabel> und <guilabel>Passwort</guilabel> des Hauptfensters von &kppp; eingetragen ist.</para>

<para>Dieses Skript zeigt auch die Benutzung der LoopStart/LoopEnd-Struktur. Falls während des Anmeldevorgangs etwas schiefgeht, ich zum Beispiel das Passwort falsch eingegeben habe, gibt mein <acronym>ISP</acronym> eine Fehlermeldung aus und beginnt die Benutzername/Passwort-Schleife erneut, indem er die Zeichenkette <computeroutput>ID:</computeroutput> erneut sendet. Falls die Zeichenkette <computeroutput>ID:</computeroutput> vor der Abarbeitung von LoopEnd empfangen wird, startet &kppp; das Skript erneut nach dem LoopStart-Befehl.</para>

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

<example>
<title>Fragt Informationen ab, die im Hauptdialog nicht angegeben worden sind.</title>

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

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

</example>

<example>
<title>Ein Skript für eine Authentifizierung beim <acronym>ISP</acronym> nach dem Frage/Antwort-Verfahren (challenge/response).</title>

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

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

<example>
<title>Verwendung von Scan und Save in Skripten</title>

<para>Das folgende Protokoll zeigt die Anmeldeprozedur eines fiktiven <acronym>ISP</acronym>, der bei jeder Anmeldung ein neues Passwort vergibt. Das neue Passwort muss überprüft und für die nächste Anmeldung gespeichert werden. </para>

<screen>Universitä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>&kppp; kann dazu benutzt werden, diese Aufgabe für Sie zu ü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.</para>

<screen>Expect      Login:                     <lineannotation># warte auf Login-Prompt</lineannotation>
ID                                     <lineannotation># sende ID</lineannotation>
Expect      Password:                  <lineannotation># warte auf Passwort-Prompt</lineannotation>
Password                               <lineannotation># sende password</lineannotation>
Scan        ist:                       <lineannotation># warte auf '... naechste Anmeldung ist:' und</lineannotation>
                                       <lineannotation># scanne das folgende Passwort</lineannotation>
Save        password                   <lineannotation># speichere das neue Passwort für nächste Anmeldung</lineannotation>
Expect      Verification:              <lineannotation># warte auf 'Ueberpruefung:'</lineannotation>
Password                               <lineannotation># sende neues Passwort</lineannotation>
Expect      choice:                    <lineannotation># warte auf Prompt, bei dem Sie zwischen verschiedenen</lineannotation>
                                       <lineannotation># Optionen (telnet, SLIP, PPP) wählen können</lineannotation>
Send        3                          <lineannotation># wähle Option 3, PPP</lineannotation>
</screen>
</example>

</sect2>

</sect1>

<sect1 id="account-execute">
<title>Die Karteikarte <guilabel>Ausführen</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>Ausführen</guilabel> für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-execute-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>Ausführen</guilabel> für Zugänge</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>Ausführen</guilabel> für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<para>Hier kann man Befehle angeben, die an bestimmten Stellen der Verbindung ausgeführt werden sollen. Diese Befehle werden mit dem eigenen Benutzernamen ausgeführt, daher kann man keine Befehle angeben, die root-Berechtigungen erfordern, wenn man die Verbindung nicht gerade als root aufbaut (aus vielen Gründen eine schlechte Idee).</para>

<para>Es ist wichtig, den kompletten Programmpfad anzugeben, da &kppp; es sonst möglicherweise nicht findet.</para>

<para>Man kann Programme an vier festgelegten Stellen der Verbindung ausführen lassen:</para>

<variablelist>
<varlistentry>
<term><guilabel>Vor Verbindungsaufbau</guilabel></term>
<listitem>
<para>Dieser Befehl wird vor der Einwahl gestartet, läuft also bereits, wenn die Verbindung zum <acronym>ISP</acronym> aufgebaut wird.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Nach Verbindungsaufbau</guilabel></term>
<listitem>
<para>Dieser Befehl wird nur nach einem erfolgreichen Verbindungsaufbau ausgeführt.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Vor Trennung der Verbindung</guilabel></term>
<listitem>
<para>Dieser Befehl wird ausgeführt, solange die Verbindung noch besteht.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><guilabel>Nach Trennung der Verbindung</guilabel></term>
<listitem>
<para>Dieser Befehl wird ausgeführt, nachdem die Verbindung beendet worden ist.</para>
</listitem>
</varlistentry>
</variablelist>

<para>Zum Beispiel möchte man vielleicht das Programm <application>leafnode</application> zum Herunterladen von Nachrichten ausführen lassen, sobald die Verbindung aufgebaut wurde. Weiterhin möchte man vielleicht sämtliche im Postausgang wartenden Nachrichten versenden, ehe die Verbindung beendet wird und könnte zu diesem Zweck ein <quote>clean-up</quote>-Skript starten und nach dem Verbindungsabbau einen eventuellen Zwischenspeicher leeren lassen.</para>

</sect1>

<sect1 id="account-accounting">
<title>Die Karteikarte <guilabel>Abrechnung</guilabel></title>

<screenshot>
<screeninfo>Die Karteikarte <guilabel>Abrechnung</guilabel> für Zugänge</screeninfo>
<mediaobject>
<imageobject>
<imagedata fileref="kppp-account-accounting-tab.png" format="PNG"/>
</imageobject>
<textobject>
<phrase>Die Karteikarte <guilabel>Abrechnung</guilabel> für Zugänge</phrase>
</textobject>
<caption><para>Die Karteikarte <guilabel>Abrechnung</guilabel> für Zugänge</para>
</caption>
</mediaobject>
</screenshot>

<para>Man muss das Ankreuzfeld <guilabel>Abrechnung aktivieren</guilabel> markieren, um die Abrechnung von Telefonkosten für diesen Zugang durchführen zu lassen.</para>

<para>Aus der Liste wählt man dann die passende Regel für den eigenen Provider.</para>

<para>Falls man den eigenen Provider nicht in der Liste findet, kann man einen Eintrag hinzufügen, indem man die bereitgestellt Vorlage kopiert, die sich in einem <link linkend="appendix-accounting-template">Anhang</link> befindet.</para>

<para>Die letzte Einstellmöglichkeit dieser Seite lautet <guilabel>Volumenberechnung</guilabel> und wird weiter unten beschrieben.</para>

<sect2>
<title>Volumenberechnung</title>

<sect3>
<title>Was ist Volumenberechnung?</title>

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

</sect3>

<sect3>
<title>Warum sollte ich Volumenberechnung benutzen?</title>

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

</sect3>

<sect3>
<title>Welche Art der Volumenberechnung soll ich wählen?</title>

<para>Das hängt von Ihrem Provider ab. Viele berechnen nur die Menge der heruntergeladenen Daten und kümmern sich nicht darum, wieviele Daten gesendet werden. In diesem Fall sollten Sie <guilabel>Bytes empfangen</guilabel> wählen. Wenn Sie für Übertragungen in beide Richtungen zahlen müssen, sollten Sie <guilabel>Bytes gesendet/empfangen</guilabel> wählen. <guilabel>Bytes gesendet</guilabel> ist nicht sehr nützlich und ist nur der Vollständigkeit wegen vorhanden. Es könnte vielleicht nützlich sein, falls man einen Web- oder &FTP;-Server zu Haus betreibt.</para>

</sect3>

<sect3>
<title>Einschränkungen</title>

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

</sect3>

</sect2>

</sect1>

</chapter>
