<!--
     The FreeBSD Documentation Project
     The FreeBSD German Documentation Project

     $FreeBSD$
     $FreeBSDde: de-docproj/books/handbook/ppp-and-slip/chapter.sgml,v 1.65 2005/02/15 17:53:52 jkois Exp $
     basiert auf: 1.150
-->

<chapter id="ppp-and-slip">
  <chapterinfo>
    <authorgroup>
      <author>
	<firstname>Jim</firstname>
	<surname>Mock</surname>
	<contrib>Restrukturiert, neu organisiert und aktualisiert von </contrib>
	<!-- 1 Mar 2000 -->
      </author>
    </authorgroup>
    <authorgroup>
      <author>
	<firstname>Thomas</firstname>
	<surname>Schwarzkopf</surname>
	<contrib>&Uuml;bersetzt von </contrib>
	<!-- 20 Sep 2002 -->
      </author>
    </authorgroup>
  </chapterinfo>

  <title>PPP und SLIP</title>

  <sect1 id="ppp-and-slip-synopsis">
    <title>&Uuml;bersicht</title>
    <indexterm id="ppp-ppp">
      <primary>PPP</primary>
    </indexterm>
    <indexterm id="ppp-slip">
      <primary>SLIP</primary>
    </indexterm>

    <para>Unter FreeBSD stehen verschiedene M&ouml;glichkeiten zur
      Verf&uuml;gung, um Computer miteinander zu verbinden.  Der Aufbau
      einer Netzwerk- oder Internetverbindung mit Hilfe eines Einwahlmodems
      &ndash; f&uuml;r den eigenen oder f&uuml;r andere Rechner &ndash;
      erfordert den Einsatz von PPP oder SLIP.</para>

    <para>Nachdem Sie dieses Kapitel gelesen haben, werden Sie wissen:</para>

    <itemizedlist>
      <listitem>
	<para>Wie Sie User-PPP einrichten.</para>
      </listitem>
      <listitem>
	<para>Wie Sie Kernel-PPP einrichten.</para>
      </listitem>
      <listitem>
	<para>Was zu tun ist, um <acronym>PPPoE</acronym> (PPP over
	  Ethernet) einzurichten.</para>
      </listitem>
      <listitem>
	<para>Wie Sie <acronym>PPPoA</acronym> (PPP over
	  ATM) einrichten.</para>
	</listitem>
      <listitem>
	<para>Wie Sie einen SLIP-Client und -Server einrichten und
	  konfigurieren</para>
      </listitem>
    </itemizedlist>

    <indexterm id="ppp-ppp-user">
      <primary>PPP</primary>
      <secondary>User-PPP</secondary>
    </indexterm>
    <indexterm id="ppp-ppp-kernel">
      <primary>PPP</primary>
      <secondary>Kernel-PPP</secondary>
    </indexterm>
    <indexterm id="ppp-ppp-ethernet">
      <primary>PPP</primary>
      <secondary>over Ethernet</secondary>
    </indexterm>

    <para>Bevor Sie dieses Kapitel lesen, sollten Sie:</para>

    <itemizedlist>
      <listitem>
	<para>mit den grundlegenden Begriffen der Netzwerktechnik
	  vertraut sein.</para>
      </listitem>
      <listitem>
	<para>die Grundlagen und den Zweck einer Einwahlverbindung sowie
	  PPP und/oder SLIP kennen.</para>
      </listitem>
    </itemizedlist>

    <para>Sie fragen sich vielleicht, worin denn der Hauptunterschied
      zwischen User-PPP und Kernel-PPP liegt.  Die Antwort ist einfach:
      User-PPP verarbeitet die ein- und ausgehenden Daten im Userland,
      statt im Kernel.  Dies ist zwar aufw&auml;ndig, im Hinblick auf
      die Daten, die dadurch zwischen Kernel und Userland hin und her
      kopiert werden m&uuml;ssen, doch es erm&ouml;glicht auch eine
      PPP-Implementierung mit weitaus mehr Funktionen.  User-PPP verwendet
      das Ger&auml;t <devicename>tun</devicename>, um mit anderen Rechnern
      zu kommunizieren, w&auml;hrend Kernel-PPP hierf&uuml;r das
      Ger&auml;t <devicename>ppp</devicename> benutzt.</para>

    <note>
      <para>In diesem Kapitel wird durchg&auml;ngig vom Programm
        <application>ppp</application> gesprochen, wenn damit User-PPP
        gemeint ist. Ausnahmen werden gemacht, wenn eine
        Unterscheidung gegen&uuml;ber anderer PPP-Software, wie
        <application>pppd</application>, notwendig wird. Soweit nichts
        anderes angegeben ist, sollten alle Befehle, die in diesem
        Kapitel erkl&auml;rt werden, als <username>root</username>
        ausgef&uuml;hrt werden.</para>
    </note>
  </sect1>

  <sect1 id="userppp">
    <sect1info>
      <authorgroup>
        <author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Aktualisiert und erweitert von </contrib>
	</author>
      </authorgroup>
      <authorgroup>
        <author>
          <firstname>Brian</firstname>
          <surname>Somers</surname>
	  <contrib>Urspr&uuml;nglich geschrieben von </contrib>
        </author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Nik</firstname>
	  <surname>Clayton</surname>
	  <contrib>Mit Beitr&auml;gen von </contrib>
        </author>
        <author>
	  <firstname>Dirk</firstname>
          <surname>Fr&ouml;mberg</surname>
        </author>
        <author>
          <firstname>Peter</firstname>
          <surname>Childs</surname>
        </author>
      </authorgroup>
    </sect1info>

    <title>User-PPP</title>

    <sect2>
      <title>User-PPP</title>

      <sect3>
	<title>Voraussetzungen</title>

	<para>Dieses Dokument geht davon aus, dass Sie Folgendes zur
	  Verf&uuml;gung haben:</para>

	<itemizedlist>
	  <indexterm id="ppp-isp">
	    <primary>ISP</primary>
	  </indexterm>
	  <indexterm id="ppp-ppp2">
	    <primary>PPP</primary>
	  </indexterm>
	  <listitem>
	    <para>Einen Account bei einem Internet Service Provider (ISP),
	      zu dem Sie mit PPP eine Verbindung aufbauen k&ouml;nnen.</para>
	  </listitem>

	  <listitem>
	    <para>Ein Modem oder ein anderes Ger&auml;t, das, richtig
	      konfiguriert und mit Ihrem Rechner verbunden, Ihnen die
	      Herstellung einer Verbindung zu Ihrem ISP erlaubt.</para>
	  </listitem>

	  <listitem>
	    <para>Die Einwahlnummer(n) Ihres ISP.</para>
	  </listitem>

	  <indexterm id="ppp-pap">
	    <primary>PAP</primary>
	  </indexterm>
	  <indexterm id="ppp-chap">
	    <primary>CHAP</primary>
	  </indexterm>
	  <indexterm id="ppp-unix">
	    <primary>UNIX</primary>
	  </indexterm>
	  <indexterm id="ppp-login">
	    <primary>Login Name</primary>
	  </indexterm>
	  <indexterm id="ppp-password">
	    <primary>Passwort</primary>
	  </indexterm>
	  <listitem>
	    <para>Ihren Login-Namen und Ihr Passwort (entweder ein
	      regul&auml;res Login/Passwort-Paar im UNIX-Stil oder
	      ein PAP bzw. CHAP Login/Passwort-Paar).</para>
	  </listitem>

	  <indexterm id="ppp-nameserver">
	    <primary>Nameserver</primary>
	  </indexterm>
	  <listitem>
	    <para>Die IP-Adresse von einem oder mehreren Nameservern.
	      &Uuml;blicherweise werden Ihnen von Ihrem ISP zwei
	      IP-Adressen f&uuml;r diesen Zweck zur Verf&uuml;gung gestellt.
	      Wenn Sie keine solche IP-Adresse von Ihrem
	      Provider bekommen haben, k&ouml;nnen Sie das Kommando
	      <command>enable dns</command> in der Datei
	      <filename>ppp.conf</filename> verwenden, um
	      <application>ppp</application> anzuweisen, den Nameserver
	      f&uuml;r Sie einzutragen.  Diese Funktion setzt allerdings
	      voraus, dass Ihr ISP eine PPP-Implementierung verwendet,
	      die das Aushandeln eines Nameservers unterst&uuml;tzt.</para>
	  </listitem>
	</itemizedlist>

	<para>Die folgenden Informationen werden Ihnen m&ouml;glicherweise
	  von Ihrem ISP zur Verf&uuml;gung gestellt, sie sind aber nicht
	  zwingend erforderlich:</para>

	<itemizedlist>
	  <listitem>
	    <para>Die Gateway IP-Adresse Ihres ISP.  Als Gateway wird
	      der Computer bezeichnet, zu dem Sie eine Verbindung aufbauen.
	      Die IP-Adresse dieses Rechners wird als
	      <emphasis>default route</emphasis> eingetragen.  Wenn Sie
	      diese Information nicht zur Verf&uuml;gung haben, kann PPP so
	      konfiguriert werden, dass der PPP-Server Ihres ISP w&auml;hrend
	      des Verbindungsaufbaus eine g&uuml;ltige Adresse
	      &uuml;bermittelt.</para>

	    <para>
	      <application>ppp</application> bezieht sich mit
	      <literal>HISADDR</literal> auf diese IP-Adresse.</para>
	  </listitem>

	  <listitem>
	    <para>Die Netzmaske, die Sie verwenden sollten.  Falls Ihnen Ihr
	      ISP keine Netzmaske vorgegeben hat, k&ouml;nnen Sie
	      <hostid role="netmask">255.255.255.255</hostid> verwenden.</para>
	  </listitem>

	  <indexterm id="ppp-static-ip">
	    <primary>feste IP-Adresse</primary>
	  </indexterm>
	  <listitem>
	    <para>Wenn Ihnen Ihr ISP eine statische IP-Adresse zur
	      Verf&uuml;gung stellt, k&ouml;nnen Sie diese eintragen.
	      Andernfalls lassen wir uns einfach von der Gegenstelle
	      eine IP-Adresse zuweisen.</para>
	  </listitem>
	</itemizedlist>

	<para>Falls Ihnen die erforderlichen Informationen fehlen
	  sollten, nehmen Sie bitte Kontakt mit Ihrem ISP auf.</para>

	<note>
	  <para>Die Beispieldateien, die in diesem Kapitel dargestellt werden,
	    enthalten Zeilennummern.  Die Nummerierung dient lediglich einer
	    leichteren Orientierung und sollte von Ihnen nicht in Ihre Dateien
	    &uuml;bernommen werden.  Richtiges Einr&uuml;cken, durch
	    Tabulatoren und Leerzeichen, ist ebenfalls wichtig.</para>
	</note>
      </sect3>

      <sect3>
	<title>PPP-Ger&auml;tedateien erstellen</title>
	<indexterm>
	  <primary>PPP</primary>
	  <secondary>Ger&auml;tedateien</secondary>
	</indexterm>

	<para>Unter normalen Umst&auml;nden werden die meisten Anwender
	  nur ein <devicename>tun</devicename>-Ger&auml;t ben&ouml;tigen:
	  (<filename>/dev/tun0</filename>).  Weiter unten werden wir
	  uns statt auf <devicename>tun0</devicename> auch auf
	  <devicename>tunN</devicename> beziehen, wobei <literal>N</literal>
	  jedem m&ouml;glichen weiteren Tunnel-Ger&auml;t Ihres Rechners
	  entspricht.</para>

        <para>Bei FreeBSD-Installationen, die &man.devfs.5; nicht aktiviert
	  haben (FreeBSD&nbsp;4.X und fr&uuml;here Versionen),
          sollte &uuml;berpr&uuml;ft werden, ob
	  <devicename>tun0</devicename> vorhanden ist.  Dies ist nicht
	  erforderlich, wenn &man.devfs.5; aktiviert ist, da in diesem Fall
	  Ger&auml;tedateien bei Bedarf erzeugt werden.</para>

	<para>Der einfachste Weg, um sicherzustellen, dass das
	  <devicename>tun0</devicename>-Ger&auml;t richtig konfiguriert
	  ist, besteht darin, die Ger&auml;tedatei neu zu erzeugen.
	  Dazu geben Sie bitte Folgendes ein:</para>

	<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV tun0</userinput></screen>

	<para>Wenn Sie 16 Tunnel-Ger&auml;te im Kernel ben&ouml;tigen,
	  k&ouml;nnen Sie die Ger&auml;tedateien mit
	  folgenden Befehlen erstellen:</para>

	<screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>sh MAKEDEV tun15</userinput></screen>
      </sect3>

      <sect3>
        <title>Automatische Konfiguration von
	  <application>PPP</application></title>

	<indexterm>
	  <primary>PPP</primary>
	  <secondary>Konfiguration</secondary>
	</indexterm>

	<para>Sowohl <command>ppp</command> als auch <command>pppd</command>
	  (die PPP-Implementierung auf Kernelebene) verwenden die
	  Konfigurationsdateien im Verzeichnis <filename>/etc/ppp</filename>.
          Beispiele f&uuml;r User-PPP sind in
	  <filename>/usr/share/examples/ppp/</filename> zu finden.</para>

	<para>Die Konfiguration von <command>ppp</command> erfordert,
	  je nach Ihren besonderen Bedingungen, die Bearbeitung
	  einiger Dateien.  Was Sie in diese Dateien eintragen, h&auml;ngt
	  unter anderem davon ab, ob Ihnen Ihr ISP eine statische
	  IP-Adresse (Sie verwenden immer dieselbe IP-Adresse,
	  die Ihnen einmal zugeteilt wurde) oder eine dynamische IP-Adresse
	  (Ihre IP-Adresse &auml;ndert sich bei jeder Verbindung
	  mit dem ISP) zugewiesen hat.</para>

	<sect4 id="userppp-staticIP">
	  <title>PPP und statische IP-Adressen</title>
	  <indexterm>
	    <primary>PPP</primary>
	    <secondary>mit fester IP-Adresse</secondary>
	  </indexterm>

	  <para>Sie m&uuml;ssen die Konfigurationsdatei
	    <filename>/etc/ppp/ppp.conf</filename> bearbeiten.  Sie sollte
            so aussehen, wie in dem unten angegebenen Beispiel.</para>

	  <note>
	    <para>Zeilen die mit einem <literal>:</literal> enden,
	      beginnen in der ersten Spalte (am Beginn der Zeile).  Alle
	      anderen Zeilen sollten wie dargestellt durch Leerzeichen
	      oder Tabulatoren einger&uuml;ckt werden.</para>
	  </note>

	  <programlisting>1     default:
2       set log Phase Chat LCP IPCP CCP tun command
3       ident user-ppp VERSION (built COMPILATIONDATE)
4       set device /dev/cuaa0
5       set speed 115200
6       set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \
7                 \"\" AT OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
8       set timeout 180
9       enable dns
10
11    provider:
12      set phone "(123) 456 7890"
13      set authname foo
14      set authkey bar
15      set login "TIMEOUT 10 \"\" \"\" gin:--gin: \\U word: \\P col: ppp"
16      set timeout 300
17      set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0
18      add default HISADDR</programlisting>

	  <variablelist>
	    <varlistentry>
	      <term>Zeile 1:</term>

	      <listitem>
		<para>Gibt den Standardeintrag an.  Befehle dieses
		  Eintrags werden automatisch ausgef&uuml;hrt, wenn
		  ppp l&auml;uft.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 2:</term>

	      <listitem>
		<para>Schaltet die Loggingparameter ein.  Wenn die
		  Verbindung zufriedenstellend funktioniert, k&ouml;nnen
		  Sie diese Zeile verk&uuml;rzen:</para>

	        <programlisting>set log phase tun</programlisting>

                <para>Dies verhindert ein &uuml;berm&auml;&szlig;iges
		  Anwachsen der Logdateien.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 3:</term>

	      <listitem>
		<para>Gibt PPP an, wie es sich gegen&uuml;ber der
		  Gegenstelle identifizieren soll.  PPP identifiziert
		  sich gegen&uuml;ber der Gegenstelle, wenn es Schwierigkeiten
		  bei der Aushandlung und beim Aufbau der Verbindung gibt.
		  Dabei werden Informationen bereitgestellt, die dem
		  Administrator der Gegenstelle helfen
		  k&ouml;nnen, die Ursache der Probleme zu finden.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 4:</term>

	      <listitem>
		<para>Gibt das Device an, an dem das Modem
		  angeschlossen ist.
		  <devicename>COM1</devicename> entspricht
		  <filename>/dev/cuaa0</filename> und
		  <devicename>COM2</devicename> entspricht
		  <filename>/dev/cuaa1</filename>.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 5:</term>

	      <listitem>
		<para>Legt die Geschwindigkeit fest, mit der Sie
		  die Verbindung betreiben m&ouml;chten.  Falls ein Wert
		  von 115200 nicht funktioniert (was aber bei jedem
		  einigerma&szlig;en neuen Modem
		  funktionieren sollte), versuchen Sie es stattdessen
		  mit 38400.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeilen 6 & 7:</term>

	      <indexterm>
		<primary>PPP</primary>
		<secondary>User-PPP</secondary>
	      </indexterm>

	      <listitem>
		<para>Die Zeichenfolge f&uuml;r die Einwahl.  User-PPP
		  verwendet eine expect-send Syntax, &auml;hnlich dem
		  &man.chat.8;-Programm.  Weitere Informationen zu den
		  Eigenschaften dieser Sprache bietet die Manual-Seite.</para>

		<para>Beachten Sie, dass dieser Befehl aufgrund der
		  besseren Lesbarkeit auf der n&auml;chsten Zeile weitergeht.
                  Das kann f&uuml;r jeden Befehl in
                   <filename>ppp.conf</filename> gelten, wenn ``\''
		   das letzte Zeichen in einer Zeile ist.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 8:</term>

	      <listitem>
		<para>Legt den Zeitrahmen fest, innerhalb dessen eine Reaktion
		  erfolgen muss.  Der Standardwert liegt bei 180&nbsp;Sekunden, so
		  dass diese Zeile lediglich einen kosmetischen Charakter
		  hat.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 9:</term>

	      <listitem>
		<para>Weist PPP an, bei der Gegenstelle eine Best&auml;tigung
		  der lokalen Resolvereinstellungen anzufordern.  Wenn Sie
		  einen lokalen Nameserver betreiben, sollte diese Zeile
		  auskommentiert oder gel&ouml;scht werden.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 10:</term>

	      <listitem>
		<para>Eine leere Zeile zur besseren Lesbarkeit.  Leere Zeilen
		  werden von PPP ignoriert.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 11:</term>

	      <listitem>
		<para>Bestimmt einen Provider, namens
		  <quote>provider</quote>.  Wenn Sie hier den Namen Ihres
		  ISP einsetzen, k&ouml;nnen Sie sp&auml;ter die Verbindung
		  mit <option>load ISP</option> aufbauen.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 12:</term>

	      <listitem>
		<para> Gibt die Telefonnummer des Providers an.  Mehrere
		  Telefonnummern k&ouml;nnen angegeben werden, indem Doppelpunkte
		  (<literal>:</literal>) oder Pipe-Zeichen
		  (<literal>|</literal>) als Trennzeichen verwendet werden.
		  Der Unterschied zwischen diesen beiden Trennzeichen ist in
		  &man.ppp.8; beschrieben.
		  Zusammenfassend: Wenn Sie die verschiedenen Nummern
		  abwechselnd verwenden m&ouml;chten, sollten Sie die
		  Nummern durch einen Doppelpunkt trennen.
		  Wenn Sie immer die erste Nummer verwenden m&ouml;chten und
		  die anderen nur zum Einsatz kommen sollen, wenn eine Einwahl
		  mit der ersten Telefonnummer nicht m&ouml;glich ist, sollten
		  Sie das Pipe-Zeichen zur Trennung verwenden.
		  Wie im Beispiel, sollten Sie die gesamte Reihe der
		  Telefonnummern in Anf&uuml;hrungszeichen setzen.</para>

		<para>Sie m&uuml;ssen die Telefonnummer in
		  Anf&uuml;hrungszeichen (<literal>"</literal>) setzen,
		  wenn Sie Leerzeichen in der Telefonnummer verwenden,
		  ansonsten rufen Sie einen Fehler hervor, der vielleicht
		  schwer zu finden ist.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeilen 13 & 14:</term>

	      <listitem>
		<para>Gibt den Benutzernamen und das Passwort an.  Wenn Sie
		  zur Verbindung einen Login-Prompt im UNIX-Stil verwenden,
		  bezieht sich der Befehl <command>set login</command>
		  mit den \U und \P Variablen auf diese Werte.  Wenn Sie
		  zum Verbindungsaufbau PAP oder CHAP verwenden, werden
		  diese Werte zum Zeitpunkt der
		  Authentifizierung verwendet.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 15:</term>

	      <listitem>
		<indexterm><primary>PAP</primary></indexterm>
		<indexterm><primary>CHAP</primary></indexterm>

		<para>Wenn Sie PAP oder CHAP einsetzen, gibt es an
		  dieser Stelle keinen Login-Prompt, weshalb Sie diese
		  Zeile auskommentieren oder l&ouml;schen sollten.  Der
		  Abschnitt <link linkend="userppp-PAPnCHAP">Authentifizierung
		    mit PAP und CHAP</link> enth&auml;lt hierzu weitere
		  Einzelheiten.</para>

                <para>Der Login-String hat die gleiche chat-&auml;hnliche
		  Syntax, wie der Einwahlstring.  Der String in diesem
		  Beispiel funktioniert mit einem ISP, dessen
		  Login-Session folgenderma&szlig;en aussieht:</para>

		<screen>J. Random Provider
login: <replaceable>foo</replaceable>
password: <replaceable>bar</replaceable>
protocol: ppp</screen>

		<para>Sie m&uuml;ssen dieses Skript noch an Ihre
		  eigenen Erfordernisse anpassen.  Wenn Sie dieses Skript
		  zum ersten Mal schreiben, sollten Sie sicherstellen,
		  dass Sie <quote>chat</quote>-logging aktiviert haben,
		  damit Sie &uuml;berpr&uuml;fen zu k&ouml;nnen, ob
		  die Konversation zwischen Ihrem Rechner und dem Rechner
		  des Providers wie erwartet abl&auml;uft.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 16:</term>

	      <indexterm><primary>Zeitbeschr&auml;nkung</primary></indexterm>
	      <listitem>
		<para>Setzt einen Zeitrahmen (in Sekunden), innerhalb
		  dessen eine Reaktion erfolgen muss.  In diesem Fall,
		  wird die Verbindung nach 300&nbsp;Sekunden automatisch
		  geschlossen, wenn keine Aktivit&auml;t zu
		  verzeichnen ist.  Wenn Sie keinen Zeitrahmen festlegen
		  wollen, nach dessen &Uuml;berschreiten die Verbindung
		  geschlossen wird, k&ouml;nnen Sie diesen Wert auf 0
		  setzen oder die Kommandozeilen-Option
		  <option>-ddial</option> verwenden.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 17:</term>
	      <indexterm><primary>ISP</primary></indexterm>
	      <listitem>
		<para>Gibt die IP-Adresse f&uuml;r das Interface an.
		  Der String <replaceable>x.x.x.x</replaceable> sollte
		  durch die IP-Adresse ersetzt werden, die Ihnen Ihr
		  Provider zugeteilt hat.  Der String
		  <replaceable>y.y.y.y</replaceable> sollte durch die
		  IP-Adresse ersetzt werden, die Ihr ISP als Gateway
		  angegeben hat (das ist der Rechner, mit dem Ihr Rechner
		  eine Verbindung aufbaut).  Wenn Ihnen Ihr ISP keine
		  Gateway Adresse zur Verf&uuml;gung gestellt hat,
		  verwenden Sie hier einfach <hostid
		    role="netmask">10.0.0.2/0</hostid>.  Wenn Sie
		  eine <quote>erratene</quote> IP-Adresse verwenden
		  m&uuml;ssen, sollten Sie in der Datei
		  <filename>/etc/ppp/ppp.linkup</filename> einen
		  entsprechenden Eintrag machen.  Folgen Sie dazu den
		  Anweisungen im Abschnitt <link
		    linkend="userppp-dynamicIP">PPP und dynamische
		    IP-Adressen</link>.  Wenn diese Zeile ausgelassen
		  wird, kann <command>ppp</command> nicht im
		  <option>-auto</option> Modus betrieben werden.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 18:</term>

	      <listitem>
		<para>F&uuml;gt eine Defaultroute f&uuml;r das Gateway Ihres
		  Providers hinzu.  Das Wort <literal>HISADDR</literal> wird
		  dabei durch die in Zeile&nbsp;17 angegebene Gateway
		  Adresse ersetzt.  Wichtig ist, dass diese Zeile nach
		  Zeile&nbsp;17 erscheint, da andernfalls
		  <literal>HISADDR</literal> noch nicht initialisiert
		  ist.</para>

		<para>Wenn Sie ppp nicht im <option>-auto</option>
		  Modus betreiben, sollte diese Zeile in die Datei
		  <filename>ppp.linkup</filename>
		  verschoben werden.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>

	  <para>Wenn Sie eine statische IP-Adresse verwenden und ppp im
	    <option>-auto</option> Modus l&auml;uft, ist es nicht notwendig,
	    einen Eintrag in die Datei <filename>ppp.linkup</filename>
	    hinzuzuf&uuml;gen.  In diesem Fall hat ihre Routingtabelle
	    bereits die richtigen Eintr&auml;ge, bevor Sie die Verbindung
	    aufbauen.  Sie m&ouml;chten aber vielleicht einen Eintrag
	    hinzuf&uuml;gen, um ein Programm aufzurufen, nachdem die
	    Verbindung aufgebaut ist.  Dies wird weiter unten am Beispiel
	    von Sendmail erkl&auml;rt.</para>

	  <para>Beispiele f&uuml;r Konfigurationsdateien finden Sie
	    im Verzeichnis <filename>/usr/share/examples/ppp/</filename>.</para>
	</sect4>

	<sect4 id="userppp-dynamicIP">
	  <title>PPP und dynamische IP-Adressen</title>
	  <indexterm>
	    <primary>PPP</primary>
	    <secondary>mit dynamischen IP-Adressen</secondary>
	  </indexterm>
	  <indexterm><primary>IPCP</primary></indexterm>

	  <para>Wenn Ihnen Ihr ISP keine statische IP-Adresse zuteilt,
	    kann <command>ppp</command> so konfiguriert werden, dass die
	    lokale und die entfernte IP-Adresse beim Verbindungsaufbau
	    ausgehandelt werden.  Dies geschieht, indem zun&auml;chst eine
	    IP-Adresse <quote>erraten</quote> wird, die von
	    <command>ppp</command>, unter Verwendung des IP
	    Configuration Protocol (IPCP) durch eine richtige ersetzt wird,
	    wenn die Verbindung aufgebaut ist.  Die Konfiguration der Datei
	    <filename>ppp.conf</filename> entspricht derjenigen, die im
	    Abschnitt <link linkend="userppp-staticIP">PPP und statische IP-
	      Adressen</link> dargestellt wurde, jedoch mit folgender
	    &Auml;nderung:</para>

	  <programlisting>17      set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255</programlisting>

	  <para>Auch hier dient die Zeilennummerierung lediglich der
	    besseren &Uuml;bersichtlichkeit.  Einr&uuml;ckungen, von
	    mindestens einem Leerzeichen, sind allerdings erforderlich.</para>

	  <variablelist>
	    <varlistentry>
	      <term>Zeile 17:</term>

	      <listitem>
		<para>Die Zahl nach dem <literal>/</literal> Zeichen,
		  gibt die Anzahl der Bits der Adresse an, auf die ppp
		  besteht.  Sie m&ouml;chten vielleicht andere IP-Adressen
		  verwenden, die oben angegebenen werden aber immer
		  funktionieren.</para>

		<para>Das letzte Argument (<literal>0.0.0.0</literal>) weist
		  PPP an, den Verbindungsaufbau mit der Adresse <hostid
		  role="ipaddr">0.0.0.0</hostid> zu beginnen, statt <hostid
		  role="ipaddr">10.0.0.1</hostid> zu verwenden.  Dies ist bei
		  einigen ISPs notwendig.  Verwenden Sie nicht
		  <literal>0.0.0.0</literal>
		  als erstes Argument f&uuml;r <command>set ifaddr</command>,
		  da so verhindert wird, dass
                  PPP im <option>-auto</option> Modus eine initiale Route
		  setzt.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>

	  <para>Wenn PPP nicht im  <option>-auto</option> Modus l&auml;uft,
	    m&uuml;ssen Sie die Datei<filename>/etc/ppp/ppp.linkup</filename>
	    editieren.  <filename>ppp.linkup</filename> kommt zum Einsatz, wenn
	    eine Verbindung aufgebaut worden ist.  Zu diesem Zeitpunkt hat
	    <command>ppp</command> die Interface Adressen vergeben und es ist
	    m&ouml;glich, die Eintr&auml;ge in der Routingtabelle
	    hinzuzuf&uuml;gen:</para>

	  <programlisting>1     provider:
2      add default HISADDR</programlisting>

	  <variablelist>
	    <varlistentry>
	      <term>Zeile 1:</term>

	      <listitem>
		<para>Beim Aufbau einer Verbindung sucht <command>ppp</command>
		  in der Datei <filename>ppp.linkup</filename> nach einem
		  Eintrag.  PPP geht dabei nach folgenden Regeln vor:
		  Suche zun&auml;chst nach der gleichen Bezeichnung,
		  die wir auch in der Datei <filename>ppp.conf</filename>
		  verwendet haben.  Falls das nicht
		  funktioniert, suche nach einem Eintrag der IP-Adresse unseres
		  Gateways.  Dieser Eintrag ist eine Bezeichnung im Stil von
		  IP-Adressen, die sich aus vier Oktetts zusammensetzt.  Falls
		  immer noch kein passender Eintrag gefunden wurde, suche nach
		  dem Eintrag <literal>MYADDR</literal>.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 2:</term>

	      <listitem>
		<para>Diese Zeile weist <command>ppp</command> an, eine
		  Defaultroute zu verwenden, die auf <literal>HISADDR</literal>
		  zeigt.  <literal>HISADDR</literal> wird nach der
		  Aushandlung mit IPCP durch die IP-Adresse des
		  Gateways ersetzt.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>

	  <para>Die Dateien
	    <filename>/usr/share/examples/ppp/ppp.conf.sample</filename>
	    und <filename>/usr/share/examples/ppp/ppp.linkup.sample</filename>
	    bieten detaillierte Beispiele f&uuml;r <literal>pmdemand</literal>
	    Eintr&auml;ge.</para>
	</sect4>

	<sect4>
	  <title>Annahme eingehender Anrufe</title>
	  <indexterm>
	    <primary>PPP</primary>
	    <secondary>eingehende Anrufe annehmen</secondary>
	  </indexterm>

	  <para>Wenn Sie <application>ppp</application> auf einem Rechner,
	    der in ein LAN eingebunden ist, so konfigurieren, dass eingehende
	    Anrufe angenommen werden, m&uuml;ssen Sie entscheiden,
	    ob Pakete an das LAN weitergeleitet werden sollen.  Wenn Sie das
	    m&ouml;chten, sollten Sie an die Gegenstelle eine IP-Adresse aus
	    Ihrem lokalen Subnetz vergeben und den Befehl
	    <command>enable proxy</command>
	    in die Datei <filename>/etc/ppp/ppp.conf</filename> einf&uuml;gen.
	    Au&szlig;erdem sollte die Datei <filename>/etc/rc.conf</filename>
	    Folgendes enthalten:</para>

	  <programlisting>gateway_enable="YES"</programlisting>
	</sect4>

	<sect4>
	  <title>Welches getty?</title>

	  <para>Der Abschnitt <link
	      linkend="dialup">Einw&auml;hlverbindungen</link>
	    bietet eine gute Beschreibung, wie Einw&auml;hlverbindungen unter
	    Verwendung von &man.getty.8; genutzt werden k&ouml;nnen.</para>

	  <para>Eine Alternative zu <command>getty</command> ist <ulink
	    url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>,
	    eine raffiniertere Version von <command>getty</command>, die mit
	    Blick auf Einw&auml;hlverbindungen entworfen wurde.</para>

	  <para>Der Vorteil von <command>mgetty</command> ist,
	    dass es auf aktive Weise mit Modems <emphasis>spricht</emphasis>,
	    das hei&szlig;t wenn ein Port in <filename>/etc/ttys</filename>
	    ausgeschaltet ist, wird Ihr Modem nicht auf Anrufe
	    reagieren.</para>

	  <para>Sp&auml;tere Versionen von <command>mgetty</command> (von
	    0.99beta aufw&auml;rts) unterst&uuml;tzen auch die automatische
	    Erkennung von PPP-Streams, was Ihren Clients den skriptlosen
	    Zugang zu Ihren Servern erlaubt.</para>

	  <para>Der Abschnitt <link linkend="userppp-mgetty">Mgetty und
	    AutoPPP</link> bietet weitere Informationen zu
	    <command>mgetty</command>.</para>
	</sect4>

	<sect4>
	  <title><application>PPP</application> und Rechte</title>

	  <para>Der Befehl <command>ppp</command> muss normalerweise als
	    <username>root</username> ausgef&uuml;hrt werden.  Wenn Sie
	    jedoch m&ouml;chten, dass <command>ppp</command> im Server-Modus
	    auch von einem normalen Benutzer, wie unten beschrieben,
	    durch Aufruf von <command>ppp</command>
	    ausgef&uuml;hrt werden kann, m&uuml;ssen Sie
	    diesem Benutzer die Rechte erteilen, <command>ppp</command>
	    auszuf&uuml;hren, indem Sie ihn in der Datei
	    <filename>/etc/group</filename> der Gruppe
	    <username>network</username> hinzuf&uuml;gen.</para>

	  <para>Sie werden ihm ebenfalls den Zugriff auf einen oder mehrere
	    Abschnitte der Konfigurationsdatei geben m&uuml;ssen, indem Sie
	    den <command>allow</command> Befehl verwenden:</para>

	  <programlisting>allow users fred mary</programlisting>

	  <para>Wenn dieser Befehl im <literal>default</literal>
	    Abschnitt verwendet wird, erhalten die angegebenen Benutzer
	    vollst&auml;ndigen Zugriff.</para>
	</sect4>

	<sect4>
	  <title>PPP-Shells f&uuml;r dynamische IP-Adressen</title>
	  <indexterm><primary>PPP Shells</primary></indexterm>

	  <para>Erzeugen Sie eine Datei mit dem Namen
	    <filename>/etc/ppp/ppp-shell</filename>, die Folgendes
	    enth&auml;lt:</para>

	  <programlisting>#!/bin/sh
IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'`
CALLEDAS="$IDENT"
TTY=`tty`

if [ x$IDENT = xdialup ]; then
        IDENT=`basename $TTY`
fi

echo "PPP for $CALLEDAS on $TTY"
echo "Starting PPP for $IDENT"

exec /usr/sbin/ppp -direct $IDENT</programlisting>

	  <para>Dieses Skript sollte ausf&uuml;hrbar sein.  Nun
	    erzeugen Sie einen symbolischen Link
	    <filename>ppp-dialup</filename> auf dieses Skript
	    mit folgendem Befehl:</para>

	  <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen>

	  <para>Sie sollten dieses Skript als
	    <emphasis>Shell</emphasis> f&uuml;r alle Benutzer von
	    Einw&auml;hlverbindungen verwenden.  Dies ist ein Beispiel
	    aus der Datei <filename>/etc/password</filename>
	    f&uuml;r einen Benutzer namens <username>pchilds</username>,
	    der PPP f&uuml;r Einw&auml;hlverbindungen verwenden kann
	    (Denken Sie daran, die Passwortdatei nicht direkt zu
	    editieren, sondern daf&uuml;r den Befehl
	    <command>vipw</command> zu verwenden).</para>

	  <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>

	  <para>Erstellen Sie ein Verzeichnis <filename>/home/ppp</filename>,
	    das von allen Benutzern gelesen werden kann und die folgenden leeren
	    Dateien enth&auml;lt:</para>

	  <screen>-r--r--r--   1 root     wheel           0 May 27 02:23 .hushlogin
-r--r--r--   1 root     wheel           0 May 27 02:22 .rhosts</screen>

	  <para>Dies verhindert, dass <filename>/etc/motd</filename>
	    angezeigt wird.</para>
	</sect4>

	<sect4>
	  <title>PPP-Shells f&uuml;r statische IP-Adressen</title>
	  <indexterm><primary>PPP Shells</primary></indexterm>

	  <para>Erstellen Sie die Datei <filename>ppp-shell</filename>
	    wie oben oben dargestellt.  Erzeugen Sie nun f&uuml;r
	    jeden Account mit statischer IP-Adresse einen symbolischen
	    Link auf <filename>ppp-shell</filename>.</para>

	  <para>Wenn Sie beispielsweise die drei Kunden,
	    <username>fred</username>, <username>sam</username>, und
	    <username>mary</username> haben, f&uuml;r die Sie Netzwerke
	    der Klasse C routen, schreiben Sie Folgendes:</para>

	  <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput>
&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput>
&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen>

	  <para>Jeder Einw&auml;hlzugang dieser Kunden sollte den
	    oben erzeugten symbolischen Link als Shell haben
	    (<username>mary</username>'s Shell
	    sollte also <filename>/etc/ppp/ppp-mary</filename> sein).</para>
	</sect4>

	<sect4>
	  <title>Einrichten von <filename>ppp.conf</filename> f&uuml;r
	    dynamische IP-Adressen</title>

	  <para>Die Datei <filename>/etc/ppp/ppp.conf</filename> sollte in
	    etwa wie folgt aussehen:</para>

	  <programlisting>default:
  set debug phase lcp chat
  set timeout 0

ttyd0:
  set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
  enable proxy

ttyd1:
  set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
  enable proxy</programlisting>

	  <note>
	    <para>Die Einr&uuml;ckungen sind wichtig.</para>
	  </note>

	  <para>Der Abschnitt <literal>default:</literal> wird f&uuml;r
	    jede Sitzung geladen.  Erstellen Sie f&uuml;r jede
	    Einw&auml;hlverbindung, die Sie in der Datei
	    <filename>/etc/ttys</filename> erm&ouml;glicht haben, einen
	    Eintrag, wie oben f&uuml;r <literal>ttyd0:</literal> gezeigt.
	    Jede Verbindung sollte eine eigene IP-Adresse aus dem Pool
	    der Adressen bekommen, die sie f&uuml;r diese Benutzergruppe
	    reserviert haben.</para>
	</sect4>

	<sect4>
	  <title>Einrichten von <filename>ppp.conf</filename> f&uuml;r
	    statische IP-Adressen</title>

	  <para>Zu dem bisher dargestellten Inhalt der Beispieldatei
	    <filename>/usr/share/examples/ppp/ppp.conf</filename> sollten
	    Sie einen Abschnitt f&uuml;r jeden Benutzer mit statisch
	    zugewiesener IP-Adresse hinzuf&uuml;gen.  Wir werden nun
	    unser Beispiel mit den
	    Accounts <username>fred</username>, <username>sam</username> und
	    <username>mary</username> weiterf&uuml;hren.</para>

	  <programlisting>fred:
  set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255

sam:
  set ifaddr 203.14.100.1 203.14.102.1 255.255.255.255

mary:
  set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255</programlisting>

	  <para>Die Datei <filename>/etc/ppp/ppp.linkup</filename> sollte,
	    falls erforderlich, ebenfalls Routinginformationen f&uuml;r
	    jeden Benutzer mit statischer IP-Adresse enthalten.  Die unten
	    dargestellte Zeile w&uuml;rde dem Klasse C Netzwerk  <hostid
	    role="ipaddr">203.14.101.0</hostid> eine Route &uuml;ber die
	    PPP-Verbindung des Client hinzuf&uuml;gen.</para>

	  <programlisting>fred:
  add 203.14.101.0 netmask 255.255.255.0 HISADDR

sam:
  add 203.14.102.0 netmask 255.255.255.0 HISADDR

mary:
  add 203.14.103.0 netmask 255.255.255.0 HISADDR</programlisting>
	</sect4>

	<sect4 id="userppp-mgetty">
	  <title><command>mgetty</command> und AutoPPP</title>
	  <indexterm>
            <primary><command>mgetty</command></primary>
          </indexterm>
	  <indexterm><primary>AutoPPP</primary></indexterm>
	  <indexterm><primary>LCP</primary></indexterm>

	  <para>Wird <command>mgetty</command> mit der Option
	    <literal>AUTO_PPP</literal> konfiguriert und kompiliert,
	    kann <command>mgetty</command> die LCP Phase von PPP-Verbindungen
	    erkennen und automatisch eine ppp-Shell starten.
	    Da hierbei jedoch die  Login/Passwort-Sequenz nicht
	    durchlaufen wird, ist es notwendig, Benutzer durch PAP
	    oder CHAP zu authentifizieren.</para>

	  <para>In diesem Abschnitt wird davon ausgegangen, dass der
	    Benutzer eine Version von <command>mgetty</command> mit
	    der Option <literal>AUTO_PPP</literal> (v0.99beta oder
	    neuer) erfolgreich konfiguriert, kompiliert und
	    installiert hat.</para>

	  <para>Stellen Sie sicher, dass die Datei
	    <filename>/usr/local/etc/mgetty+sendfax/login.config</filename>
	    Folgendes enth&auml;lt:</para>

	  <programlisting>/AutoPPP/ -     -		      /etc/ppp/ppp-pap-dialup</programlisting>

	  <para>Hierdurch wird <command>mgetty</command> angewiesen,
	    das Skript <filename>ppp-pap-dialup</filename> f&uuml;r
	    die erkannten PPP-Verbindungen auszuf&uuml;hren.</para>

	  <para>Erstellen Sie nun die Datei
	    <filename>/etc/ppp/ppp-pap-dialup</filename> mit folgendem
	    Inhalt (die Datei sollte ausf&uuml;hrbar sein):</para>

	  <programlisting>#!/bin/sh
exec /usr/sbin/ppp -direct pap$IDENT</programlisting>

	  <para>Erstellen Sie bitte f&uuml;r jede Einw&auml;hlverbindung,
	    die Sie in <filename>/etc/ttys</filename> erm&ouml;glicht haben,
	    einen korrespondierenden Eintrag in der Datei
	    <filename>/etc/ppp/ppp.conf</filename>.  Diese
	    Eintr&auml;ge k&ouml;nnen problemlos, mit den Definitionen
	    die wir weiter oben gemacht haben, koexistieren.</para>

	  <programlisting>pap:
  enable pap
  set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40
  enable proxy</programlisting>

	  <para>Jeder Benutzer, der sich auf diese Weise anmeldet,
	    ben&ouml;tigt einen Benutzernamen und ein Passwort in der Datei
	    <filename>/etc/ppp/ppp.secret</filename>.  Sie haben auch die
	    M&ouml;glichkeit, Benutzer mit Hilfe von PAP zu authentifizieren,
	    indem Sie der Datei <filename>/etc/password</filename> folgende
	    Option hinzuf&uuml;gen:</para>

	  <programlisting>enable passwdauth</programlisting>

	  <para>Wenn Sie bestimmten Benutzern eine statische IP-Adresse
	    zuweisen m&ouml;chten, k&ouml;nnen Sie diese als drittes
	    Argument in der Datei
	    <filename>/etc/ppp/ppp.secret</filename> angeben.  In
	    <filename>/usr/share/examples/ppp/ppp.secret.sample</filename>
	    finden Sie hierf&uuml;r Beispiele.</para>
	</sect4>

	<sect4>
	  <title>MS-Erweiterungen</title>
	  <indexterm><primary>DNS</primary></indexterm>
	  <indexterm><primary>NetBIOS</primary></indexterm>
	  <indexterm>
	    <primary>PPP</primary>
	    <secondary>Erweiterungen von Microsoft</secondary>
	  </indexterm>

	  <para>Es ist m&ouml;glich PPP so zu konfigurieren, dass bei Bedarf
	    DNS und NetBIOS Nameserveradressen bereitgestellt werden.</para>

	  <para>Um diese Erweiterungen f&uuml;r die PPP Version 1.x
	    zu aktivieren, sollte der entsprechende Abschnitt der Datei
	    <filename>/etc/ppp/ppp.conf</filename> um folgende Zeilen
	    erg&auml;nzt werden:</para>

	  <programlisting>enable msext
set ns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5</programlisting>

	  <para>F&uuml;r PPP Version 2 und h&ouml;her:</para>

	  <programlisting>accept dns
set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5</programlisting>

	  <para>Damit werden den Clients die prim&auml;ren und sekund&auml;ren
	    Nameserveradressen sowie ein NetBIOS Nameserver-Host
	    mitgeteilt.</para>

	  <para>In Version 2 und h&ouml;her verwendet PPP die Werte, die
	    in <filename>/etc/resolv.conf</filename> zu finden sind, wenn
	    die Zeile <literal>set dns</literal> weggelassen wird.</para>
	</sect4>

        <sect4 id="userppp-PAPnCHAP">
	  <title>Authentifizierung durch PAP und CHAP</title>
	  <indexterm><primary>PAP</primary></indexterm>
	  <indexterm><primary>CHAP</primary></indexterm>
	  <para>Einige ISPs haben ihr System so eingerichtet, dass der
	    Authentifizierungsteil eines Verbindungsaufbaus mit Hilfe von
	    PAP oder CHAP-Mechanismen durchgef&uuml;hrt wird.  Wenn dies bei
	    Ihnen der Fall sein sollte, wird Ihnen Ihr ISP bei der Verbindung
	    keinen <prompt>login:</prompt>-Prompt pr&auml;sentieren,
	    sondern sofort mit der Aushandlung der PPP-Verbindung
	    beginnen.</para>

	  <para>PAP ist nicht so sicher wie CHAP, doch die Sicherheit ist
	    hierbei normalerweise kein Problem, da Passw&ouml;rter, obgleich
	    von PAP im Klartext versandt, lediglich &uuml;ber die
	    serielle Verbindung verschickt werden.  Es gibt f&uuml;r Cracker
	    wenig M&ouml;glichkeiten zu <quote>lauschen</quote>.</para>

	  <para>Zur&uuml;ckkommend auf die Abschnitte
	    <link linkend="userppp-staticIP">PPP und statische
	      IP-Adressen</link> oder <link
	      linkend="userppp-dynamicIP">PPP und dynamische IP-Adressen</link>
	    m&uuml;ssen folgende Ver&auml;nderungen vorgenommen werden:</para>

	  <programlisting>13      set authname <replaceable>MyUserName</replaceable>
14      set authkey <replaceable>MyPassword</replaceable>
15      set login</programlisting>

	  <variablelist>
	    <varlistentry>
	      <term>Zeile 13:</term>

	      <listitem>
		<para>Diese Zeile legt Ihren PAP/CHAP Benutzernamen fest.
		  Sie m&uuml;ssen den richtigen Wert f&uuml;r
		  <replaceable>MyUserName</replaceable> eingeben.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 14:</term>
	      <indexterm><primary>Passwort</primary></indexterm>
	      <listitem>
		<para>Diese Zeile legt Ihr PAP/CHAP Passwort fest.  Sie
		  m&uuml;ssen den richtigen Wert f&uuml;r
		  <replaceable>MyPassword</replaceable> eingeben.
		  Sie k&ouml;nnen eine zus&auml;tzliche Zeile, wie etwa:</para>

		<programlisting>16      accept PAP</programlisting>

		<para>oder</para>

		<programlisting>16      accept CHAP</programlisting>

		<para>verwenden, um deutlich zu machen, dass dies
		  beabsichtigt ist, aber sowohl PAP wie auch CHAP als
		  standardm&auml;&szlig;ig akzeptiert werden.</para>
	      </listitem>
	    </varlistentry>

	    <varlistentry>
	      <term>Zeile 15:</term>

	      <listitem>
		<para>Ihr ISP wird normalerweise nicht von Ihnen verlangen,
		  dass Sie sich am Server einloggen, wenn Sie PAP oder CHAP
		  verwenden.  Sie m&uuml;ssen deshalb den String
		  <quote>set login</quote> deaktivieren.</para>
	      </listitem>
	    </varlistentry>
	  </variablelist>
	</sect4>

	<sect4>
	  <title>Ver&auml;nderung Ihrer <command>ppp</command>
	    Konfiguration im laufenden Betrieb</title>

	  <para>Es ist m&ouml;glich, dem Programm <command>ppp</command>
	    Befehle zu erteilen, w&auml;hrend es im Hintergrund l&auml;uft.
	    Dazu ist jedoch die Einrichtung eines passenden Diagnose-Ports
	    erforderlich.  Erg&auml;nzen Sie hierzu Ihre Konfigurationsdatei
	    um folgende Zeile:</para>

	  <programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting>

	  <para>Damit wird PPP angewiesen, auf den angegebenen
	    UNIX-Domainsocket zu h&ouml;ren und Clients nach dem angegebenen
	    Passwort zu fragen, bevor der Zugang Gew&auml;hrt wird.  Das
	    <literal>%d</literal> wird durch die Nummer des benutzten
	    <devicename>tun</devicename>-Devices ersetzt.</para>

	  <para>Wenn ein Socket eingerichtet ist, kann das Programm
	    &man.pppctl.8; in Skripten verwendet werden, mit denen in das
	    laufende Programm eingegriffen wird.</para>
	</sect4>
      </sect3>

      <sect3 id="userppp-nat">
        <title>Interne NAT von PPP benutzen</title>
        <indexterm>
	  <primary>PPP</primary>
	  <secondary>NAT</secondary>
        </indexterm>

        <para>PPP kann Network Address Translation (NAT) ohne Hilfe des
          Kernels durchf&uuml;hren.  Wenn Sie diese Funktion benutzen
	  wollen, f&uuml;gen Sie die folgende Zeile in
	  <filename>/etc/ppp/ppp.conf</filename> ein:</para>

        <programlisting>nat enable yes</programlisting>

        <para>Sie k&ouml;nnen NAT mit der Option <option>-nat</option>
          auf der Kommandozeile von PPP aktivieren.  Weiterhin kann
	  NAT in <filename>/etc/rc.conf</filename> mit der Variablen
	  <varname>ppp_nat</varname> aktiviert werden.  Dies ist auch die
	  Voreinstellung.</para>

        <para>Die nachstehende <filename>/etc/ppp/ppp.conf</filename>
          benutzt NAT f&uuml;r bestimmte eingehende Verbindungen:</para>

        <programlisting>nat port tcp 10.0.0.2:ftp ftp
nat port tcp 10.0.0.2:http http</programlisting>

	<para>Wenn Sie Verbindungen von au&szlig;en &uuml;berhaupt nicht
	  trauen, benutzen Sie die folgende Zeile:</para>

        <programlisting>nat deny_incoming yes</programlisting>
      </sect3>

      <sect3 id="userppp-final">
	<title>Abschlie&szlig;ende Systemkonfiguration</title>
	<indexterm>
	  <primary>PPP</primary>
	  <secondary>Konfiguration</secondary>
	</indexterm>

	<para>Sie haben <command>ppp</command> nun konfiguriert,
	  aber bevor PPP eingesetzt werden kann, gibt noch einige
	  weitere Dinge zu erledigen, die alle die Bearbeitung der
	  Datei <filename>/etc/rc.conf</filename> erfordern.</para>

	<para>Gehen Sie diese Datei von oben nach unten durch, und stellen Sie
	   als Erstes sicher, dass die Zeile <literal>hostname=</literal>
	   vorhanden ist:</para>

	<programlisting>hostname="foo.example.com"</programlisting>

	<para>Wenn Ihnen Ihr ISP eine statische IP-Adresse und einen Namen
	  zugewiesen hat, ist es wahrscheinlich am besten, wenn Sie diesen
	  Namen als Hostnamen verwenden.</para>

	<para>Schauen Sie nach der Variable
	  <literal>network_interfaces</literal>.  Wenn Sie Ihr System
	  so konfigurieren m&ouml;chten, dass bei Bedarf
	  eine Verbindung zu Ihrem ISP aufgebaut wird, sollten Sie das Device
	  <devicename>tun0</devicename> zu der Liste hinzuf&uuml;gen oder es
	  andernfalls entfernen.</para>

	<programlisting>network_interfaces="lo0 tun0"
ifconfig_tun0=</programlisting>

	<note>
	  <para>Die Variable <literal>ifconfig_tun0</literal> sollte leer sein
	    und eine Datei namens <filename>/etc/start_if.tun0</filename> sollte
	    erstellt werden.  Diese Datei sollte die nachfolgende Zeile
	    enthalten:</para>

	  <programlisting>ppp -auto mysystem</programlisting>

	  <para>Dieses Skript startet Ihren ppp-D&aelig;mon im Automatik-Modus.
	    Es wird bei der Netzwerkkonfiguration ausgef&uuml;hrt.
	    Wenn Ihr Rechner als Gateway f&uuml;r ein LAN fungiert,
	    m&ouml;chten Sie vielleicht auch die Option
	    <option>-alias</option> verwenden.  In der Manual-Seite sind
	    weitere Einzelheiten hierzu zu finden.</para>
	</note>

	<para>Stellen Sie sicher, dass der Start eines Routerprogramms
	  in <filename>/etc/rc.conf</filename> wie folgt deaktiviert
	  ist:</para>

	<programlisting>router_enable="NO"</programlisting>

	<indexterm>
          <primary><application>routed</application></primary>
        </indexterm>

	<para>Es ist wichtig, dass der <command>routed</command>
	  D&aelig;mon nicht gestartet wird da <command>routed</command>
	  dazu tendiert, die von <command>ppp</command> erstellten
	  Eintr&auml;ge der Standardroute zu &uuml;berschreiben.</para>

	<para>Es ist au&szlig;erdem sinnvoll, darauf zu achten, dass die Zeile
	  <literal>sendmail_flags</literal> nicht die Option <option>-q</option>
	  enth&auml;lt, da <command>sendmail</command> sonst ab und zu
	  die Netzwerkverbindung pr&uuml;fen wird, was m&ouml;glicherweise dazu
	  f&uuml;hrt, dass sich Ihr Rechner einw&auml;hlt.  Sie k&ouml;nnen
	  hier Folgendes angeben:</para>

	<programlisting>sendmail_flags="-bd"</programlisting>

	<indexterm>
          <primary><application>sendmail</application></primary>
        </indexterm>
	<para>Der Nachteil dieser L&ouml;sung ist, dass Sie
	  <command>sendmail</command> nach jedem Aufbau einer
	  ppp-Verbindung auffordern m&uuml;ssen, die Mailwarteschlange
	  zu &uuml;berpr&uuml;fen, indem Sie Folgendes eingeben:</para>

	<screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen>

	<para>Vielleicht m&ouml;chten Sie den Befehl <command>!bg</command>
	  in der Datei <filename>ppp.linkup</filename> verwenden, um dies
	  zu automatisieren:</para>

	<programlisting>1     provider:
2       delete ALL
3       add 0 0 HISADDR
4       !bg sendmail -bd -q30m</programlisting>

        <indexterm><primary>SMTP</primary></indexterm>
	<para>Wenn Sie dies nicht m&ouml;chten, ist es m&ouml;glich,
	  einen <quote>dfilter</quote> einzusetzen, um SMTP-Verkehr
	  zu blockieren.  Weitere Einzelheiten hierzu finden Sie in den
	  Beispieldateien.</para>

	<para>Das Einzige, was nun noch zu tun bleibt, ist Ihren Rechner neu
	  zu starten.  Nach dem Neustart k&ouml;nnen Sie entweder:</para>

	<screen>&prompt.root; <userinput>ppp</userinput></screen>

	<para>und danach <command>dial provider</command> eingeben,
	  um eine PPP-Sitzung zu starten, oder Sie geben:</para>

	<screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen>

	<para>ein, um <command>ppp</command> bei Datenverkehr aus Ihrem
	  Netzwerk heraus, automatisch eine Verbindung herstellen
	  zu lassen (vorausgesetzt Sie haben kein
	  <filename>start_if.tun0</filename> Skript erstellt).</para>
      </sect3>


      <sect3>
	<title>Zusammenfassung</title>

	<para>Die folgenden Schritte sind n&ouml;tig, wenn ppp zum ersten Mal
	  eingerichtet werden soll:</para>

	<para>Clientseite:</para>

	<procedure>
	  <step>
	    <para>Stellen Sie sicher, dass das
	      <devicename>tun</devicename> Device in den Kernel
	      eingebaut ist.</para></step>
	  <step>
	    <para>Vergewissern Sie sich, dass die Ger&auml;tedatei
	      <filename>tun<replaceable>N</replaceable></filename>
	      im Verzeichnis <filename>/dev</filename> vorhanden ist.</para>
	  </step>

	  <step>
	    <para>Bearbeiten Sie die Datei
	      <filename>/etc/ppp/ppp.conf</filename>.  Das Beispiel
	      <filename>pmdemand</filename> sollte f&uuml;r die meisten
	      ISP ausreichen.</para>
	  </step>

	  <step>
	    <para>Wenn Sie eine dynamische IP-Adresse haben, erstellen Sie
	      einen Eintrag in der Datei
	      <filename>/etc/ppp/ppp.linkup</filename>.</para>
	  </step>

	  <step>
	    <para>Aktualisieren Sie die Datei
	      <filename>/etc/rc.conf</filename>.</para>
	  </step>

	  <step>
	    <para>Erstellen Sie das Skript <filename>start_if.tun0</filename>,
	      wenn Sie einen bedarfgesteuerten Einwahlprozess
	      (<foreignphrase>demand dialing</foreignphrase>)
	      ben&ouml;tigen.</para>
	  </step>
	</procedure>

	<para>Serverseite:</para>

	<procedure>
	  <step>
	    <para>Stellen Sie sicher, dass das
	      <devicename>tun</devicename> Device in den Kernel
	      eingebaut ist.</para>
	  </step>

	  <step>
	    <para>Vergewissern Sie sich, dass die Ger&auml;tedatei
	      <filename>tun<replaceable>N</replaceable></filename>
	      im Verzeichnis <filename>/dev</filename> vorhanden ist</para>
	  </step>

	  <step>
	    <para>Erstellen Sie einen Eintrag in der Datei
	      <filename>/etc/passwd</filename>
	      (verwenden Sie dazu das Programm &man.vipw.8;).</para>
	  </step>

	  <step>
	    <para>Erstellen Sie ein Profil im Heimatverzeichnis des
	      Benutzers, das
	      <command>ppp -direct direct-server</command> o.&Auml;.
	      ausf&uuml;hrt.</para>
	  </step>

	  <step>
	    <para>Bearbeiten Sie die Datei
	      <filename>/etc/ppp/ppp.conf</filename>.  Das Beispiel
	      <filename>direct-server</filename> sollte ausreichen.</para>
	  </step>

	  <step>
	    <para>Erzeugen Sie einen Eintrag in
	      <filename>/etc/ppp/ppp.linkup</filename>.</para>
	  </step>

	  <step>
	    <para>Aktualisieren Sie die Datei
	      <filename>/etc/rc.conf</filename>.</para>
	  </step>
	</procedure>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="ppp">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Gennady B.</firstname>
          <surname>Sorokopud</surname>
          <contrib>Teile wurden urspr&uuml;nglich beigetragen von </contrib>
        </author>
        <author>
          <firstname>Robert</firstname>
          <surname>Huff</surname>
        </author>
      </authorgroup>
    </sect1info>

    <title>Kernel-PPP</title>

    <sect2>
      <title>Einrichtung von Kernel-PPP</title>
      <indexterm>
	<primary>PPP</primary>
	<secondary>Kernel-PPP</secondary>
      </indexterm>

      <para>Bevor Sie PPP auf Ihrem Computer einrichten, sollten Sie
        daf&uuml;r sorgen, dass <command>pppd</command> im Verzeichnis
	<filename>/usr/sbin</filename> vorhanden ist und
	<filename>/etc/ppp</filename> existiert.</para>

      <para><command>pppd</command> kann auf zweierlei Weise arbeiten:</para>

      <orderedlist>
	<listitem>
	  <para>Als <quote>Client</quote> &ndash; Sie m&ouml;chten
	    Ihren Rechner mit einem Netz verbinden, indem Sie eine
	    serielle PPP-Verbindung aufbauen.</para>
	</listitem>

        <indexterm>
	  <primary>PPP</primary>
	  <secondary>Server</secondary>
	</indexterm>
	<listitem>
	  <para>Als <quote>Server</quote> &ndash; Ihr Rechner ist in
	    ein Netzwerk eingebunden und stellt die PPP-Verbindung
	    f&uuml;r andere Rechner im Netzwerk her.</para>
	</listitem>
      </orderedlist>

      <para>In beiden F&auml;llen werden Sie eine Datei mit den
	ben&ouml;tigten Optionen erstellen m&uuml;ssen
	(<filename>/etc/ppp/options</filename> oder,
	wenn mehr als ein Benutzer PPP verwendet,
	<filename>~/.ppprc</filename>).</para>

      <para>Sie ben&ouml;tigen au&szlig;erdem eine Software
	(vorzugsweise <filename role="package">comms/kermit</filename>), mit der
        Sie seriell per Modem w&auml;hlen und eine Verbindung zu dem
	entfernten Host aufbauen k&ouml;nnen.</para>
    </sect2>

    <sect2>
      <sect2info>
	<authorgroup>
	  <author>
	    <firstname>Trev</firstname>
	    <surname>Roydhouse</surname>
	    <contrib>Basierend auf Informationen von </contrib>
	    <!-- Trev.Roydhouse@f401.n711.z3.fidonet.org -->
	  </author>
	</authorgroup>
      </sect2info>

      <title>Verwendung von <command>pppd</command> als Client</title>
      <indexterm>
	<primary>PPP</primary>
	<secondary>Client</secondary>
      </indexterm>
      <indexterm><primary>Cisco</primary></indexterm>

      <para>Die folgende Datei <filename>/etc/ppp/options</filename>
        kann f&uuml;r einen Verbindungsaufbau mit PPP zu einem Cisco
	Terminalserver verwendet werden.</para>

      <programlisting>crtscts         # enable hardware flow control
modem           # modem control line
noipdefault     # remote PPP server must supply your IP address
                # if the remote host does not send your IP during IPCP
                # negotiation, remove this option
passive         # wait for LCP packets
domain ppp.foo.com      # put your domain name here

:&lt;remote_ip&gt;    # put the IP of remote PPP host here
                # it will be used to route packets via PPP link
                # if you didn't specified the noipdefault option
                # change this line to &lt;local_ip&gt;:&lt;remote_ip&gt;

defaultroute    # put this if you want that PPP server will be your
                # default router</programlisting>

      <para>Um eine Verbindung herzustellen, sollten Sie:</para>

      <indexterm><primary>kermit</primary></indexterm>
      <indexterm><primary>Modem</primary></indexterm>
      <procedure>
	<step>
	  <para>Mit <application>Kermit</application> (oder einem
	    anderen Modemprogramm) den entfernten Host anw&auml;hlen
	    und Ihren Benutzernamen sowie Ihr Passwort (oder was
	    sonst n&ouml;tig ist, um PPP auf dem entfernten Host
	    zu aktivieren) eingeben.</para>
	</step>

	<step>
	  <para><application>Kermit</application> beenden
	    (ohne die Verbindung abzubrechen).</para>
	</step>

	<step>
	  <para>Folgendes eingeben:</para>

	  <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>

	  <para>Achten Sie darauf, dass sie eine geeignete Geschwindigkeit
	    w&auml;hlen und das richtige Device verwenden.</para>
	</step>
      </procedure>

      <para>Nun ist Ihr Computer mit Hilfe von PPP verbunden.  Wenn
	die Verbindung nicht funktionieren sollte, k&ouml;nnen Sie
	die Option <option>debug</option> in die Datei
	<filename>/etc/ppp/options</filename> eintragen und die Ausgaben
	auf der Konsole beobachten, um die Fehler zu finden.</para>

      <para>Das folgende Skript <filename>/etc/ppp/pppup</filename>
	f&uuml;hrt alle 3 Schritte automatisch aus:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing kermit, PID=' ${pid}
        kill -9 ${pid}
fi

ifconfig ppp0 down
ifconfig ppp0 delete

kermit -y /etc/ppp/kermit.dial
pppd /dev/tty01 19200</programlisting>

      <indexterm><primary>Kermit</primary></indexterm>
      <para><filename>/etc/ppp/kermit.dial</filename> ist
	ein <application>Kermit</application>-Skript
	das den Einw&auml;hlvorgang und alle notwendigen Autorisationen auf
	dem entfernten Host durchf&uuml;hrt (ein Beispiel f&uuml;r ein
	solches Skript ist im Anhang zu diesem Dokument zu finden).</para>

      <para>Verwenden Sie das folgende Skript
	<filename>/etc/ppp/pppdown</filename>, um die PPP-Verbindung
	abzubrechen:</para>

      <programlisting>#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
        echo 'killing pppd, PID=' ${pid}
        kill -TERM ${pid}
fi

ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing kermit, PID=' ${pid}
        kill -9 ${pid}
fi

/sbin/ifconfig ppp0 down
/sbin/ifconfig ppp0 delete
kermit -y /etc/ppp/kermit.hup
/etc/ppp/ppptest</programlisting>

      <para>Pr&uuml;fen Sie, ob <application>pppd</application> immer
        noch l&auml;uft, indem Sie
        <filename>/usr/etc/ppp/ppptest</filename> ausf&uuml;hren.
        Dieses Skript sollte folgenderma&szlig;en aussehen:</para>

      <programlisting>#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
        echo 'pppd running: PID=' ${pid-NONE}
else
        echo 'No pppd running.'
fi
set -x
netstat -n -I ppp0
ifconfig ppp0</programlisting>

      <para>Um die Modemverbindung abzubrechen, k&ouml;nnen Sie das Skript
	<filename>/etc/ppp/kermit.hup</filename> verwenden, das Folgendes
	enthalten sollte:</para>

      <programlisting>set line /dev/tty01	; put your modem device here
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none

pau 1
out +++
inp 5 OK
out ATH0\13
echo \13
exit</programlisting>

      <para>Hier ist eine alternative Methode, bei der <command>chat</command>
	an Stelle von <application>Kermit</application> eingesetzt wird:</para>

      <para>Die folgenden beiden Dateien reichen aus, um eine
        Verbindung &uuml;ber <command>pppd</command> herzustellen.</para>

      <para><filename>/etc/ppp/options</filename>:</para>

      <programlisting>/dev/cuaa1 115200

crtscts		# enable hardware flow control
modem		# modem control line
connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
noipdefault	# remote PPP serve must supply your IP address
	        # if the remote host doesn't send your IP during
                # IPCP negotiation, remove this option
passive         # wait for LCP packets
domain &lt;your.domain&gt;	# put your domain name here

:		# put the IP of remote PPP host here
	        # it will be used to route packets via PPP link
                # if you didn't specified the noipdefault option
                # change this line to &lt;local_ip&gt;:&lt;remote_ip&gt;

defaultroute	# put this if you want that PPP server will be
	        # your default router</programlisting>

      <para><filename>/etc/ppp/login.chat.script</filename>:</para>

      <note>
	<para>Die folgenden Angaben sollten in einer Zeile stehen.</para>
      </note>

      <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT&lt;phone.number&gt;
  CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: &lt;login-id&gt;
  TIMEOUT 5 sword: &lt;password&gt;</programlisting>

      <para>Wenn diese Dateien richtig installiert und modifiziert sind,
	m&uuml;ssen Sie <command>pppd</command>, nur noch wie folgt
	starten:</para>

      <screen>&prompt.root; <userinput>pppd</userinput></screen>
    </sect2>

    <sect2>
      <title>Verwendung von <command>pppd</command> als Server</title>

      <para><filename>/etc/ppp/options</filename> sollte etwa Folgendes
	enthalten:</para>

      <programlisting>crtscts                         # Hardware flow control
netmask 255.255.255.0           # netmask (not required)
192.114.208.20:192.114.208.165  # IP's of local and remote hosts
                                # local ip must be different from one
                                # you assigned to the Ethernet (or other)
                                # interface on your machine.
                                # remote IP is IP address that will be
                                # assigned to the remote machine
domain ppp.foo.com              # your domain
passive                         # wait for LCP
modem                           # modem line</programlisting>

      <para>Das folgende Skript <filename>/etc/ppp/pppserv</filename>
	l&auml;sst <application>pppd</application> als Server zu arbeiten:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing kermit, PID=' ${pid}
        kill -9 ${pid}
fi

# reset ppp interface
ifconfig ppp0 down
ifconfig ppp0 delete

# enable autoanswer mode
kermit -y /etc/ppp/kermit.ans

# run ppp
pppd /dev/tty01 19200</programlisting>

      <para>Verwenden Sie das Skript<filename>/etc/ppp/pppservdown</filename>,
	um den Server zu beenden:</para>

      <programlisting>#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing pppd, PID=' ${pid}
        kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
        echo 'killing kermit, PID=' ${pid}
        kill -9 ${pid}
fi
ifconfig ppp0 down
ifconfig ppp0 delete

kermit -y /etc/ppp/kermit.noans</programlisting>

      <para>Mit dem <application>Kermit</application>-Skript
	(<filename>/etc/ppp/kermit.ans</filename>) l&auml;sst sich
	die Funktion Ihres Modems, automatisch zu antworten, ein- bzw.
	ausschalten.  Es sollte folgenderma&szlig;en aussehen:</para>

      <programlisting>set line /dev/tty01
set speed 19200
set file type binary
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none

pau 1
out +++
inp 5 OK
out ATH0\13
inp 5 OK
echo \13
out ATS0=1\13   ; change this to out ATS0=0\13 if you want to disable
                ; autoanswer mode
inp 5 OK
echo \13
exit</programlisting>

      <para>Ein Skript namens <filename>/etc/ppp/kermit.dial</filename> wird
	f&uuml;r die Einwahl und Authentifizierung am entfernten Host verwendet.
	Sie m&uuml;ssen es noch an Ihre lokalen Gegebenheiten anpassen.
	Geben Sie in diesem Skript Ihren Benutzernamen und Ihr Passwort ein.
	In Abh&auml;ngigkeit von der Reaktion Ihres Modems und des
	entfernten Hosts, werden Sie auch noch die <literal>input</literal>
	Anweisungen ver&auml;ndern m&uuml;ssen.</para>

      <programlisting>;
; put the com line attached to the modem here:
;
set line /dev/tty01
;
; put the modem speed here:
;
set speed 19200
set file type binary            ; full 8 bit file xfer
set file names literal
set win 8
set rec pack 1024
set send pack 1024
set block 3
set term bytesize 8
set command bytesize 8
set flow none
set modem hayes
set dial hangup off
set carrier auto                ; Then SET CARRIER if necessary,
set dial display on             ; Then SET DIAL if necessary,
set input echo on
set input timeout proceed
set input case ignore
def \%x 0                       ; login prompt counter
goto slhup

:slcmd                          ; put the modem in command mode
echo Put the modem in command mode.
clear                           ; Clear unread characters from input buffer
pause 1
output +++                      ; hayes escape sequence
input 1 OK\13\10                ; wait for OK
if success goto slhup
output \13
pause 1
output at\13
input 1 OK\13\10
if fail goto slcmd              ; if modem doesn't answer OK, try again

:slhup                          ; hang up the phone
clear                           ; Clear unread characters from input buffer
pause 1
echo Hanging up the phone.
output ath0\13                  ; hayes command for on hook
input 2 OK\13\10
if fail goto slcmd              ; if no OK answer, put modem in command mode

:sldial                         ; dial the number
pause 1
echo Dialing.
output atdt9,550311\13\10               ; put phone number here
assign \%x 0                    ; zero the time counter

:look
clear                           ; Clear unread characters from input buffer
increment \%x                   ; Count the seconds
input 1 {CONNECT }
if success goto sllogin
reinput 1 {NO CARRIER\13\10}
if success goto sldial
reinput 1 {NO DIALTONE\13\10}
if success goto slnodial
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 60 goto look
else goto slhup

:sllogin                        ; login
assign \%x 0                    ; zero the time counter
pause 1
echo Looking for login prompt.

:slloop
increment \%x                   ; Count the seconds
clear                           ; Clear unread characters from input buffer
output \13
;
; put your expected login prompt here:
;
input 1 {Username: }
if success goto sluid
reinput 1 {\255}
if success goto slhup
reinput 1 {\127}
if success goto slhup
if < \%x 10 goto slloop         ; try 10 times to get a login prompt
else goto slhup                 ; hang up and start again if 10 failures

:sluid
;
; put your userid here:
;
output ppp-login\13
input 1 {Password: }
;
; put your password here:
;
output ppp-password\13
input 1 {Entering SLIP mode.}
echo
quit

:slnodial
echo \7No dialtone.  Check the telephone line!\7
exit 1

; local variables:
; mode: csh
; comment-start: "; "
; comment-start-skip: "; "
; end:</programlisting>
    </sect2>
  </sect1>

  <sect1 id="ppp-troubleshoot">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Tom</firstname>
	  <surname>Rhodes</surname>
	  <contrib>Beigetragen von </contrib>
	</author>
      </authorgroup>
      <!-- 13 June 2003 -->
    </sect1info>

    <title>Probleme bei <acronym>PPP</acronym>-Verbindungen</title>

      <indexterm>
	<primary>PPP</primary>
	<secondary>Fehlersuche</secondary>
      </indexterm>

      <para>Dieser Abschnitt behandelt Probleme, die auftauchen
	k&ouml;nnen, wenn PPP &uuml;ber ein Modem verwendet wird.
	Sie m&uuml;ssen beispielsweise genau die Eingabeaufforderung
	des Systems kennen, in das Sie sich einw&auml;hlen.
	Einige <acronym>ISP</acronym>s verwenden <literal>ssword</literal>
	andere verwenden <literal>password</literal>;  wenn
	das Einwahlskript falsch ist, scheitert die Anmeldung.
	&Uuml;blicherweise suchen Sie nach Fehlern der PPP-Verbindung
	indem Sie sich manuell verbinden.  Wie das genau geht,
	wird im Folgenden gezeigt.</para>

    <sect2>
      <title>Ger&auml;tedateien &uuml;berpr&uuml;fen</title>

	<para>Wenn Sie den Kernel neu konfiguriert haben, werden
	  Sie such an das <devicename>sio</devicename>-Ger&auml;t
	  erinnern.  Falls Sie keinen Kernel konfiguriert haben,
	  machen Sie sich keine Sorgen.  Die seriellen Ger&auml;te
	  finden Sie in der Ausgabe von <command>dmesg</command>:</para>

	<screen>&prompt.root; <userinput>dmesg | grep sio</userinput></screen>

	<para>In der Ausgabe sollten die entsprechenden
	  <devicename>sio</devicename>-Ger&auml;te, beispielsweise
	  <devicename>sio1</devicename>
	  (<devicename>COM2</devicename>), angezeigt werden.
	  Wird ein passendes Ger&auml;t angezeigt, brauchen Sie
	  keinen neuen Kernel zu erstellen, sondern lediglich
	  die Ger&auml;tedatei anzulegen.  Wechseln Sie dazu
	  in das Verzeichnis <filename>/dev</filename> und rufen
	  <filename>MAKEDEV</filename> wie folgt auf:</para>

	<screen>&prompt.root; <userinput>sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3</userinput></screen>

	<para>Wenn Ihr Modem an <devicename>sio1</devicename>
	  angeschlossen ist (in DOS ist dieser Anschluss als
	  <devicename>COM2</devicename> bekannt), ist
	  <filename>/dev/cuaa1</filename> die
	  dazugeh&ouml;rende Ger&auml;tedatei.</para>
    </sect2>

    <sect2>
      <title>Manuelle Verbindungen</title>

      <para>Ein Verbindungsaufbau zum Internet durch manuelle Steuerung
	von <command>ppp</command> geht schnell, ist einfach und
	stellt einen guten Weg dar, eine Verbindung auf Fehler hin
	zu &uuml;berpr&uuml;fen  oder einfach Informationen dar&uuml;ber
	zu sammeln, wie Ihr <acronym>ISP</acronym> Verbindungen handhabt.
	Lassen Sie uns <application>PPP</application> von der
	Kommandozeile aus starten.  Beachten Sie, dass in allen
	Beispielen <emphasis>example</emphasis>
        der Hostname der Maschine ist, auf der
	<application>PPP</application> l&auml;uft.  Sie starten
	<command>ppp</command>, indem Sie einfach <command>ppp</command>
	eingeben:</para>

      <screen>&prompt.root; <userinput>ppp</userinput></screen>

      <para>Wir haben <command>ppp</command> nun gestartet.</para>

      <screen>ppp ON example&gt; <userinput>set device <filename>/dev/cuaa1</filename></userinput></screen>

      <para>Wir geben das Device an, an das unser Modem angeschlossen ist.
	 In diesem Fall ist es <devicename>cuaa1</devicename>.</para>

      <screen>ppp ON example&gt; <userinput>set speed 115200</userinput></screen>

      <para>Wir geben die Verbindungsgeschwindigkeit an.  Im Beispiel
	verwenden wir 115200&nbsp;<acronym>kbps</acronym></para>

      <screen>ppp ON example&gt; <userinput>enable dns</userinput></screen>

      <para>Wir weisen <command>ppp</command> an, unseren
        Resolver zu konfigurieren und in der Datei
	<filename>/etc/resolv.conf</filename> Eintr&auml;ge f&uuml;r
	den Nameserver hinzuzuf&uuml;gen.  Falls <command>ppp</command>
        unseren Hostnamen nicht bestimmen kann,  geben wir diesen
	sp&auml;ter manuell an.</para>

      <screen>ppp ON example&gt; <userinput>term</userinput></screen>

      <para>Wir wechseln in den <quote>Terminal</quote>-Modus, um
	das Modem manuell kontrollieren zu k&ouml;nnen.</para>

      <programlisting>deflink: Entering terminal mode on <filename>/dev/cuaa1</filename>
type '~h' for help</programlisting>

      <screen><userinput>at</userinput>
OK
<userinput>atdt<replaceable>123456789</replaceable></userinput></screen>

      <para>Sie verwenden <command>at</command> zur Initialisierung
	Ihres Modems und dann <command>atdt</command> sowie die Nummer Ihres
        <acronym>ISP</acronym>, um den Einw&auml;hlprozess zu starten.</para>

      <screen>CONNECT</screen>

      <para>Dies ist die Best&auml;tigung, dass eine Verbindung aufgebaut
	wurde.  Falls wir Verbindungsprobleme bekommen, die nicht
	mit der Hardware zusammenh&auml;ngen, werden wir an dieser
	Stelle ansetzen m&uuml;ssen, um eine L&ouml;sung zu finden.</para>

      <screen>ISP Login:<userinput>myusername</userinput></screen>

      <para>Hier werden Sie nach einem Benutzernamen gefragt.  Geben Sie
	am Prompt den Namen ein, den Ihnen Ihr <acronym>ISP</acronym>
	zur Verf&uuml;gung gestellt hat.</para>

      <screen>ISP Pass:<userinput>mypassword</userinput></screen>

      <para>An dieser Stelle m&uuml;ssen Sie das Passwort angeben, das
        Ihnen von Ihrem <acronym>ISP</acronym> vorgegeben wurde.  Das
	Passwort wird, analog dem normalen Anmeldevorgang,
	nicht angezeigt.</para>

      <screen>Shell or PPP:<userinput>ppp</userinput></screen>

      <para>Abh&auml;ngig von Ihrem <acronym>ISP</acronym>, kann es sein,
        dass dieser Prompt bei Ihnen gar nicht erscheint.  Wir werden
	hier gefragt, ob wir eine Shell beim Provider verwenden oder
        <command>ppp</command> starten wollen.  Weil wir eine
	Internetverbindung aufbauen wollen, haben wir uns in diesem
	Beispiel f&uuml;r <command>ppp</command> entschieden.</para>

      <screen>Ppp ON example&gt;</screen>

      <para>Beachten Sie, dass sich in diesem Beispiel das erste
	<option>p</option> in einen Gro&szlig;buchstaben verwandelt hat.
	Dies zeigt, dass wir erfolgreich eine Verbindung
        zu unserem <acronym>ISP</acronym> hergestellt haben.</para>

      <screen>PPp ON example&gt;</screen>

      <para>An dieser Stelle haben wir uns erfolgreich bei unserem
        <acronym>ISP</acronym> authentifiziert und warten darauf, dass
        uns eine <acronym>IP</acronym>-Adresse zugewiesen wird.</para>

      <screen>PPP ON example&gt;</screen>

      <para>Wir haben uns mit der Gegenstelle auf eine
	<acronym>IP</acronym>-Adresse geeinigt und den Verbindungsaufbau
	erfolgreich abgeschlossen</para>

      <screen>PPP ON example&gt; <userinput>add default HISADDR</userinput></screen>

      <para>Hier geben wir unsere Standardroute an.  Weil zu diesem
        Zeitpunkt unsere einzige Verbindung zu unserer Gegenstelle besteht,
        m&uuml;ssen wir dies tun, bevor wir Kontakt zu unserer Umwelt
	aufnehmen k&ouml;nnen.  Falls dies aufgrund bestehender Routen
	nicht funktionieren sollte, k&ouml;nnen Sie ein Ausrufungszeichen
        <literal>!</literal> vor <option>add</option> setzen.
        Sie k&ouml;nnen diese Standardroute aber auch vor dem
	eigentlichen Verbindungsaufbau angeben und
	<application>PPP</application> wird entsprechend  eine neue Route
	aushandeln.</para>

      <para>Wenn alles gut ging, sollten wir nun eine aktive
	Internetverbindung haben, die wir mit
        <keycombo action="simul">
	  <keycap>Ctrl</keycap>
	  <keycap>z</keycap></keycombo>
	in den Hintergrund schicken k&ouml;nnen
        Wenn sie feststellen, dass <command>PPP</command> wieder zu
        <command>ppp</command> wird, ist die Verbindung abgebrochen.
        Es ist gut dies zu wissen, weil dadurch der Verbindungsstatus
	angezeigt wird.  Gro&szlig;e <literal>P</literal>s zeigen an,
	dass wir eine Verbindung zum <acronym>ISP</acronym> haben und
	kleine <literal>p</literal>s zeigen an, dass
	wir aus irgendeinem Grund die Verbindung verloren haben.
        <command>ppp</command> hat nur diese beiden Zust&auml;nde.</para>

      <sect3>
        <title>Fehlersuche</title>

        <para>Wenn sie einen Direktanschluss haben und keine Verbindung
          aufbauen k&ouml;nnen, schalten Sie die Hardware-Flusssteuerung
	  <acronym>CTS/RTS</acronym> aus, indem Sie die Option
	  <option>set ctsrts off</option> verwenden.  Dies ist
          zumeist dann der Fall, wenn Sie mit einem
          <application>PPP</application>-f&auml;higen Terminalserver
	  verbunden sind.  Hier bleibt <application>PPP</application>
	  bei dem Versuch h&auml;ngen, Daten &uuml;ber Ihre
          Nachrichtenverbindung zu schicken, weil auf ein
          <acronym>CTS</acronym>-Signal (Clear-to-Send) gewartet
	  wird, das nie kommt.  Wenn Sie diese Option jedoch gebrauchen,
	  sollten Sie auch die Option <option>set accmap</option>
          verwenden, die erforderlich sein kann, um bestimmte Hardware
	  zu kontrollieren, die auf die &Uuml;bertragung bestimmter
	  Zeichen zwischen den Kommunikations-Endpunkten (zumeist
	  XON/XOFF) angewiesen ist.  Die Manual-Seite &man.ppp.8;
	  bietet mehr Informationen zu dieser Option und ihrer
	  Verwendung.</para>

        <para>Wenn Sie ein &auml;lteres Modem haben, ben&ouml;tigen Sie
          vielleicht die Option <option>set parity even</option>.
	  Standardm&auml;&szlig;ig wird keine Parit&auml;t vorausgesetzt,
	  sie ist aber f&uuml;r die Fehlerpr&uuml;fung bei &auml;lteren
	  Modems und bei bestimmten <acronym>ISP</acronym>s erforderlich.
	  Sie k&ouml;nnten diese Option f&uuml;r den
	  <acronym>ISP</acronym> Compuserve ben&ouml;tigen.</para>
	  <para><application>PPP</application> kehrt m&ouml;glicherweise
	  nicht in den Befehlsmodus zur&uuml;ck, was normalerweise
	  auf einen Fehler bei der Aushandlung hinweist, wobei der
	  <acronym>ISP</acronym> wartet, dass Ihre Seite den
	  Aushandlungsprozess beginnt.  Die Option <command>~p</command>
	  erzwingt in diesem Fall den Beginn des
	  Aushandlungsprozesses.</para>

        <para>Wenn Sie nie einen Login-Prompt erhalten, m&uuml;ssen
	  Sie statt des im Beispiel gezeigten UNIX-Stils h&ouml;chst
	  wahrscheinlich <acronym>PAP</acronym> oder
	  <acronym>CHAP</acronym> f&uuml;r die Authentifizierung
	  verwenden.  Um <acronym>PAP</acronym> oder
	  <acronym>CHAP</acronym> zu verwenden, erg&auml;nzen Sie
          <application>PPP</application> einfach um folgende Optionen,
	  bevor Sie in den Terminalmodus wechseln:</para>

	<screen>ppp ON example&gt; <userinput>set authname <replaceable>myusername</replaceable></userinput></screen>

        <para>Hierbei sollte <replaceable>myusername</replaceable>
	  durch den Benutzernamen ersetzt werden, den Sie von Ihrem
	  <acronym>ISP</acronym> bekommen haben.</para>

	<screen>ppp ON example&gt; <userinput>set authkey <replaceable>mypassword</replaceable></userinput></screen>

        <para><replaceable>mypassword</replaceable> sollten Sie
	  durch das Passwort ersetzen, das Ihnen Ihr <acronym>ISP</acronym>
	  gegeben hat.</para>

        <para>Wenn die Verbindung aufgebaut wird, Sie aber keine Rechner
	  unter ihrem Dom&auml;nen-Namen erreichen k&ouml;nnen, versuchen
	  Sie, einen Rechner mit &man.ping.8; und seiner
	  <acronym>IP</acronym>-Adresse zu erreichen.  Wenn 100% der Pakete
	  verloren gehen, ist es sehr wahrscheinlich, dass Ihnen
	  keine Standardroute zugewiesen wurde.  &Uuml;berpr&uuml;fen Sie,
	  ob w&auml;hrend des Verbindungsaufbaus die Option
	  <option>add default HISADDR</option> gesetzt war.  Wenn Sie zu
	  einer entfernten <acronym>IP</acronym>-Adresse eine Verbindung
	  aufbauen k&ouml;nnen, ist es m&ouml;glich, dass die
	  Adresse eines Nameservers nicht in die Datei
	  <filename>/etc/resolv.conf</filename> eingetragen
	  wurde.  Diese Datei sollte folgenderma&szlig;en aussehen:</para>

	<programlisting>domain <replaceable>example.com</replaceable>
nameserver <replaceable>x.x.x.x</replaceable>
nameserver <replaceable>y.y.y.y</replaceable></programlisting>

        <para> Dabei sollten <replaceable>x.x.x.x</replaceable> und
          <replaceable>y.y.y.y</replaceable> durch die
          <acronym>IP</acronym>-Adressen der DNS-Server Ihres
	  <acronym>ISP</acronym>s ersetzt werden.  Diese Information
	  ist Ihnen bei Vertragsabschluss mitgeteilt worden.  Wenn
	  nicht, sollte ein Anruf bei Ihrem <acronym>ISP</acronym>
	  Abhilfe schaffen.</para>

	<para>Mit &man.syslog.3; k&ouml;nnen Sie Ihre
	  <application>PPP</application>-Verbindung protokollieren.
	  F&uuml;gen Sie einfach die folgende Zeile in
	  <filename>/etc/syslog.conf</filename> ein:</para>

        <programlisting>!ppp
*.*     /var/log/ppp.log</programlisting>

        <para>In den meisten F&auml;llen existiert diese
	  Funktionalit&auml;t bereits.</para>
      </sect3>
    </sect2>
  </sect1>

  <sect1 id="pppoe">
    <sect1info>
      <authorgroup>
        <author>
          <firstname>Jim</firstname>
          <surname>Mock</surname>
          <contrib>Beigetragen (durch http://node.to/freebsd/how-tos/how-to-freebsd-pppoe.html) von </contrib>
	</author>
      </authorgroup>
      <!-- 10 Jan 2000 -->
    </sect1info>

    <title>PPP over Ethernet (PPPoE)</title>
    <indexterm>
      <primary>PPP</primary>
      <secondary>over Ethernet</secondary>
    </indexterm>
    <indexterm>
      <primary>PPPoE</primary>
      <see>PPP, over Ethernet</see>
    </indexterm>

    <para>Dieser Abschnitt beschreibt, wie Sie PPP over Ethernet
      (<acronym>PPPoE</acronym>) einrichten.</para>

    <sect2>
      <title>Konfiguration des Kernels</title>

      <para>Eine besondere Kernelkonfiguration ist f&uuml;r PPPoE nicht
	mehr erforderlich.  Sofern die notwendige NetGraph-Unterst&uuml;tzung
	nicht in den Kernel eingebaut wurde, wird diese von
	<application>ppp</application> dynamisch geladen.</para>
    </sect2>

    <sect2>
      <title>Einrichtung von <filename>ppp.conf</filename></title>

      <para>Dies hier ist ein Beispiel einer funktionierenden
        <filename>ppp.conf</filename>:</para>

      <programlisting>default:
  set log Phase tun command # you can add more detailed logging if you wish
  set ifaddr 10.0.0.1/0 10.0.0.2/0

name_of_service_provider:
  set device PPPoE:<replaceable>xl1</replaceable> # replace xl1 with your Ethernet device
  set authname YOURLOGINNAME
  set authkey YOURPASSWORD
  set dial
  set login
  add default HISADDR</programlisting>

    </sect2>

    <sect2>
      <title><application>ppp</application> ausf&uuml;hren</title>

      <para>Als <username>root</username>, geben Sie ein:</para>

      <screen>&prompt.root; <userinput>ppp -ddial name_of_service_provider</userinput></screen>

    </sect2>

    <sect2>
      <title><application>ppp</application> beim Systemstart
	ausf&uuml;hren</title>

      <para>F&uuml;gen Sie Folgendes in Ihre Datei
	<filename>/etc/rc.conf</filename> ein:</para>

      <programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"	# if you want to enable nat for your local network, otherwise NO
ppp_profile="name_of_service_provider"</programlisting>
    </sect2>

    <sect2>
      <title>Verwendung einer PPPoE-Dienstbezeichnung (service tag)</title>

      <para>Manchmal kann es notwendig sein, eine Dienstbezeichnung
	(<foreignphrase>service tag</foreignphrase>) zu verwenden, um
	eine Verbindung aufzubauen.
	Dienstbezeichnungen werden eingesetzt, um zwischen verschiedenen
	PPPoE-Servern unterscheiden zu k&ouml;nnen, die einem
	bestehenden Netzwerk zugeteilt sind.</para>

      <para>Die erforderlichen Dienstbezeichnungen sollten in der
	Dokumentation, zu finden sein, die Ihnen Ihr ISP zur Verf&uuml;gung
	gestellt hat.  Wenn Sie diese Informationen dort nicht finden,
	fragen Sie beim technischen Kundendienst Ihres ISP danach.</para>

      <para>Als letzte M&ouml;glichkeit, bleibt die Methode, die von
	dem Programm <ulink url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin PPPoE</ulink>
	vorgeschlagen wird, das in der <link
	  linkend="ports">Ports-Sammlung</link> zu finden ist.  Bedenken
	Sie aber, dass dadurch Daten Ihres Modems gel&ouml;scht werden
	k&ouml;nnen, so dass es nicht mehr benutzt werden kann.
	&Uuml;berlegen Sie also genau, ob Sie dies machen wollen.
	Installieren Sie einfach das Programm, das Ihnen Ihr Provider
	zusammen mit dem Modem geliefert hat.  Gehen Sie dann in das
	Men&uuml; <guimenu>System</guimenu> dieses Programms.  Der Name
	Ihres Profils, sollte in der Liste aufgef&uuml;hrt sein.
	Normalerweise ist dies <emphasis>ISP</emphasis>.</para>

      <para>Der Name des Profils (<foreignphrase>service tag</foreignphrase>)
	wird im Eintrag f&uuml;r
	die PPPoE-Konfiguration in der Datei <filename>ppp.conf</filename>
	verwendet, als der Teil des Befehls
	<command>set device</command> (die manpage &man.ppp.8;
	enth&auml;lt Einzelheiten hierzu), der den Provider angibt.
	Dieser Eintrag sollte folgenderma&szlig;en aussehen:</para>

      <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting>

      <para>Vergessen Sie nicht, statt <replaceable>xl1</replaceable>
	das richtige Device Ihrer Netzwerkkarte anzugeben.</para>
      <para>Denken sie auch daran, <replaceable>ISP</replaceable>
	durch das Profil, das Sie oben gefunden haben zu ersetzen.</para>

      <para>Weitere Informationen bieten:</para>

      <itemizedlist>
        <listitem>
	  <para><ulink url="http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html">Nutzung von T-DSL und T-Online mit
	  FreeBSD</ulink> von Udo Erdelhoff</para>
	</listitem>
	<listitem>
	  <para><ulink url="http://renaud.waldura.com/doc/freebsd/pppoe/">Cheaper Broadband with FreeBSD on
	    DSL</ulink> von Renaud Waldura.</para>
	</listitem>
      </itemizedlist>
    </sect2>

    <sect2 id="ppp-3com">

      <title>PPPoE mit einem &tm.3com;
	<trademark class="registered">HomeConnect</trademark>
	ADSL Modem Dual Link</title>

      <para>Dieses Modem folgt nicht dem <ulink
	url="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</ulink>
	(<emphasis>A Method for transmitting PPP over Ethernet
	(PPPoE)</emphasis>, verfasst von L. Mamakos, K. Lidl, J. Evarts,
	D. Carrel, D. Simone, und R. Wheeler). Stattdessen wurden andere
	Pakettyp-Codes f&uuml;r die Ethernet Frames verwendet.
	Bitte beschweren Sie sich unter <ulink
	  url="http://www.3com.com/">3Com</ulink>, wenn Sie
	der Ansicht sind, dass dieses Modem die PPPoE-Spezifikation einhalten
	sollte.</para>

      <para>Um FreeBSD in die Lage zu versetzen, mit diesem Ger&auml;t zu
        kommunizieren, muss ein sysctl Befehl angegeben werden.  Dies kann
	beim Systemstart automatisch geschehen, indem die Datei
	<filename>/etc/sysctl.conf</filename> angepasst wird:</para>

	<programlisting>net.graph.nonstandard_pppoe=1</programlisting>

      <para>oder, wenn der Befehl unmittelbar wirksam werden soll, durch
	<command>sysctl net.graph.nonstandard_pppoe=1</command>.</para>

      <para>Da hiermit eine systemweit g&uuml;ltige Einstellung vorgenommen
	wird, ist es nicht m&ouml;glich, gleichzeitig mit einem normalen
	PPPoE-Client oder Server und einem &tm.3com;
	<trademark class="registered">HomeConnect</trademark> ADSL Modem
	zu kommunizieren.</para>

    </sect2>
  </sect1>

   <sect1 id="pppoa">
    <title><application>PPP</application> over ATM (PPPoA)</title>
    <indexterm>
      <primary>PPP</primary>
      <secondary>over ATM</secondary>
    </indexterm>
    <indexterm>
      <primary>PPPoA</primary>
      <see>PPP, over ATM</see>
    </indexterm>

    <para>Nachfolgend wird beschrieben, wie PPP over ATM (PPPoA)
      eingerichtet wird.  PPPoA ist vor allem unter europ&auml;ischen
      DSL-Providern popul&auml;r.</para>

    <sect2>
      <title>Der Einsatz von PPPoA mit dem Alcatel &speedtouch; USB</title>

      <para>PPPoA-Unterst&uuml;tzung f&uuml;r dieses Ger&auml;t ist
	unter FreeBSD als Port verf&uuml;gbar, da die Firmware unter <ulink
	  url="http://www.speedtouchdsl.com/disclaimer_lx.htm">Alcatels
	  Lizenzvereinbarung</ulink> vertrieben wird und deshalb nicht
	mit dem FreeBSD-Basissystem frei verteilt werden kann.</para>

      <para>Um die Software zu installieren, verwenden Sie einfach die <link
	  linkend="ports">Ports-Sammlung</link>.  Installieren Sie den Port
	<filename role="package">net/pppoa</filename> und folgen Sie den dabei
	angegebenen Instruktionen.</para>

      <para>F&uuml;r den ordnungsgem&auml;&szlig;en Betrieb muss
	das Alcatel &speedtouch; USB, wie viele USB-Ger&auml;te,
	Firmware auf den Gastrechner laden.  FreeBSD kann die
	Firmware automatisch laden, wenn das Ger&auml;t mit
	dem USB-Anschluss verbunden wird.  Dazu f&uuml;gen Sie
	als Benutzer <username>root</username> die nachstehenden
	Zeilen in <filename>/etc/usbd.conf</filename> ein:</para>

      <programlisting>device "Alcatel SpeedTouch USB"
    devname "ugen[0-9]+"
    vendor 0x06b9
    product 0x4061
    attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"</programlisting>

     <para>Den USB-D&aelig;mon aktivieren Sie mit der folgenden
       Zeile in <filename>/etc/rc.conf</filename>:</para>

     <programlisting>usbd_enable="YES"</programlisting>

     <para>Wenn die Verbindung beim Start von
       <application>ppp</application> aufgebaut werden soll,
       f&uuml;gen Sie die nachstehenden Zeilen als Benutzer
       <username>root</username> in <filename>/etc/rc.conf</filename>
       ein:</para>

     <programlisting>ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="adsl"</programlisting>

     <para>Verwenden Sie bitte diese Einstellungen zusammen mit
       der Beispielkonfiguration in <filename>ppp.conf</filename>
       des Ports <filename role="package">net/pppoa</filename>.</para>
    </sect2>

    <sect2>
      <title>Die Verwendung von mpd</title>

      <para>Sie k&ouml;nnen <application>mpd</application> verwenden,
	um zu einer Reihe von Diensten, insbesondere PPTP-Diensten eine
	Verbindung herzustellen.  Sie finden
        <application>mpd</application> in der Ports-Sammlung unter
        <filename role="package">net/mpd</filename>.  Viele ADSL Modems,
	wie das Alcatel &speedtouch; Home, sind auf einen PPTP-Tunnel
	zwischen dem Modem und dem Rechner angewiesen.</para>

      <para>Zuerst m&uuml;ssen Sie den Port installieren, um danach
        <application>mpd</application> entsprechend Ihren Anforderungen
        und den Vorgaben Ihres Providers konfigurieren zu k&ouml;nnen.  Der
	Port installiert auch einige
	gut dokumentierte Beispielkonfigurationsdateien in
        <filename><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
	Beachten Sie, dass <replaceable>PREFIX</replaceable> hier das Verzeichnis
	angibt, in das Ihre Ports installiert werden.  Standardm&auml;&szlig;ig
	ist dies das Verzeichnis <filename>/usr/local/</filename>.
	Ein kompletter Leitfaden zur Konfiguration von
        <application>mpd</application> ist im HTML-Format verf&uuml;gbar,
	sobald der Port installiert ist.  Dieser ist in
        <filename><replaceable>PREFIX</replaceable>/share/doc/mpd/</filename>
	zu finden.  Hier ist eine Beispielkonfiguration, um mit
        <application>mpd</application> eine Verbindung zu einem
	ADSL-Dienst aufzubauen.  Die Konfiguration ist auf zwei Dateien
	verteilt.  Zun&auml;chst die Datei
	<filename>mpd.conf</filename>:</para>

      <programlisting>default:
    load adsl

adsl:
    new -i ng0 adsl adsl
    set bundle authname <replaceable>username</replaceable> <co
    id="co-mpd-ex-user">
    set bundle password <replaceable>password</replaceable> <co
    id="co-mpd-ex-pass">
    set bundle disable multilink

    set link no pap acfcomp protocomp
    set link disable chap
    set link accept chap
    set link keep-alive 30 10

    set ipcp no vjcomp
    set ipcp ranges 0.0.0.0/0 0.0.0.0/0

    set iface route default
    set iface disable on-demand
    set iface enable proxy-arp
    set iface idle 0

    open</programlisting>

    <calloutlist>
      <callout arearefs="co-mpd-ex-user">
        <para>Der Benutzername, den Sie zur Authentifizierung bei
	  Ihrem ISP verwenden.</para>
      </callout>
      <callout arearefs="co-mpd-ex-pass">
        <para>Das Passwort, das Sie zur Authentifizierung bei
	  Ihrem ISP verwenden.</para>
      </callout>
    </calloutlist>

    <para>Die Datei <filename>mpd.links</filename> enth&auml;lt
      Informationen &uuml;ber die Verbindung(en), die Sie aufbauen
      m&ouml;chten.  Eine Beispieldatei <filename>mpd.links</filename>,
      die das vorige Beispiel erg&auml;nzt, wird unten
      angegeben:</para>

    <programlisting>adsl:
    set link type pptp
    set pptp mode active
    set pptp enable originate outcall
    set pptp self <replaceable>10.0.0.1</replaceable> <co
      id="co-mpd-ex-self">
    set pptp peer <replaceable>10.0.0.138</replaceable> <co
      id="co-mpd-ex-peer"></programlisting>

    <calloutlist>
      <callout arearefs="co-mpd-ex-self">
	<para>Die IP-Adresse des &os;-Rechners von dem aus Sie
	  <application>mpd</application> verwenden.</para>
      </callout>
      <callout arearefs="co-mpd-ex-peer">
	<para>Die IP-Adresse des ADSL-Modems.
	  Das Alcatel &speedtouch; Home hat die Adresse
	  <hostid role="ipaddr">10.0.0.138</hostid> voreingestellt.</para>
      </callout>
    </calloutlist>

    <para>Ein Verbindungsaufbau kann einfach durch Eingabe des folgenden
      Befehls als <username>root</username> gestartet werden:</para>

    <screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen>

    <para>Sie k&ouml;nnen sich den Status der Verbindung durch folgenden Befehl
      anzeigen lassen:</para>

    <screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput>
ng0: flags=88d1&lt;UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST&gt; mtu 1500
     inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff</screen>

    <para>Die Verwendung von <application>mpd</application> ist der
      empfehlenswerteste Weg, um mit &os; eine Verbindung zu
      einem ADSL-Dienst aufzubauen.</para>
    </sect2>

    <sect2>
      <title>Die Verwendung von pptpclient</title>

      <para>Es ist au&szlig;erdem m&ouml;glich, mit FreeBSD eine
	Verbindung zu anderen PPPoA-Diensten aufzubauen.  Dazu wird
	<filename role="package">net/pptpclient</filename> verwendet.</para>

      <para>Um mit <filename role="package">net/pptpclient</filename> eine
	eine Verbindung zu einem DSL-Dienst aufbauen zu k&ouml;nnen,
	m&uuml;ssen Sie den entsprechenden Port bzw. das Paket installieren
	und die Datei <filename>/etc/ppp/ppp.conf</filename> bearbeiten.
	Sie m&uuml;ssen <username>root</username> sein, um diese Schritte
	durchf&uuml;hren zu k&ouml;nnen.  Eine Beispieldatei f&uuml;r
	<filename>ppp.conf</filename> ist weiter unten angegeben.
        Weitere Informationen zu den Optionen von <filename>ppp.conf</filename>
	bietet die Manual-Seite <application>ppp</application>
	&man.ppp.8;:</para>

      <programlisting>adsl:
 set log phase chat lcp ipcp ccp tun command
 set timeout 0
 enable dns
 set authname <replaceable>username</replaceable> <co id="co-pptp-ex-user">
 set authkey <replaceable>password</replaceable> <co id="co-pptp-ex-pass">
 set ifaddr 0 0
 add default HISADDR</programlisting>

   <calloutlist>
     <callout arearefs="co-pptp-ex-user">
       <para>Der Benutzername f&uuml;r den Zugang zu den Diensten
	 Ihres ISP.</para>
     </callout>
     <callout arearefs="co-pptp-ex-pass">
       <para>Das Passwort f&uuml;r Ihren Account.</para>
     </callout>
   </calloutlist>

   <warning>
     <para>Weil Sie Ihr Passwort in der Datei
       <filename>ppp.conf</filename> in Klartext angeben m&uuml;ssen,
       sollten Sie sicherstellen, dass niemand den Inhalt dieser Datei
       lesen kann.  Die folgende Reihe von Befehlen stellt sicher,
       dass die Datei nur von <username>root</username> lesbar ist.
       Zus&auml;tzliche Informationen bieten die Manual-Seiten
       &man.chmod.1; und &man.chown.8;:</para>

     <screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput>
&prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen>
   </warning>

    <para>Dies wird einen Tunnel f&uuml;r eine PPP-Session zu Ihrem
      DSL-Router &ouml;ffnen.  Ethernet-DSL-Modems haben eine
      vorkonfigurierte LAN-IP-Adresse, mit der Sie eine Verbindung
      aufbauen.  Im Falle des Alcatel &speedtouch; Home handelt es sich
      dabei um die Adresse <hostid role="ipaddr">10.0.0.138</hostid>.
      In der Dokumentation Ihres Routers sollte angegeben sein, welche
      Adresse Ihr Ger&auml;t verwendet.  Um den Tunnel zu &ouml;ffnen
      und eine PPP-Session zu starten, f&uuml;hren
      Sie bitte folgenden Befehl aus:</para>

      <screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen>


    <tip>
      <para>Vielleicht m&ouml;chten Sie ein kaufm&auml;nnisches Und
	(<quote>&amp;</quote>) an das Ende oben angegebenen Kommandos
	anf&uuml;gen, da <application>pptp</application> sonst den
	Prompt nicht zur&uuml;ckgibt.</para>
    </tip>

    <para>Ein virtuelles Tunnel-Device <devicename>tun</devicename>
      wird f&uuml;r das Zusammenspiel der Prozesse
      <application>pptp</application> und <application>ppp</application>
      geschaffen.  Wenn Sie den Prompt zur&uuml;ckerhalten haben
      oder der <application>pptp</application>-Prozess das Vorliegen
      einer Verbindung best&auml;tigt, k&ouml;nnen Sie den Tunnel
      folgenderma&szlig;en &uuml;berpr&uuml;fen:</para>

    <screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput>
tun0: flags=8051&lt;UP,POINTOPOINT,RUNNING,MULTICAST&gt; mtu 1500
        inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00
        Opened by PID 918</screen>

      <para>Wenn Sie nicht in der Lage sein sollten, eine Verbindung
        aufzubauen, &uuml;berpr&uuml;fen Sie die Konfiguration Ihres Routers,
        den Sie normalerweise per <application>telnet</application>
        oder mit einem Web-Browser erreichen k&ouml;nnen.  Falls
        dennoch keine Verbindung zustande kommt, sollten Sie die
        Ausgabe des Befehls <command>pptp</command> und die
        Logdatei <filename>/var/log/ppp.log</filename> von
        <application>ppp</application> nach Hinweisen auf die Ursache
        durchsuchen.</para>
    </sect2>
  </sect1>


  <sect1 id="slip">
    <sect1info>
      <authorgroup>
	<author>
	  <firstname>Satoshi</firstname>
	  <surname>Asami</surname>
	  <contrib>Urspr&uuml;nglich beigetragen von </contrib>
	</author>
      </authorgroup>
      <authorgroup>
	<author>
	  <firstname>Guy</firstname>
	  <surname>Helmer</surname>
	  <contrib>Mit Beitr&auml;gen von </contrib>
	</author>
	<author>
	  <firstname>Piero</firstname>
          <surname>Serini</surname>
	</author>
      </authorgroup>
    </sect1info>

    <title>SLIP</title>
    <indexterm><primary>SLIP</primary></indexterm>

    <sect2 id="slipc">
      <title>Einrichtung eines SLIP-Clients</title>
      <indexterm>
	<primary>SLIP</primary>
	<secondary>Client</secondary>
      </indexterm>

      <para>Im Folgenden wird ein Weg beschrieben, SLIP auf einer
	FreeBSD-Maschine f&uuml;r ein Netzwerk mit festen Hostnamen
	einzurichten.  Bei einer dynamischen Zuweisung des Hostnamens
	(das hei&szlig;t wenn sich Ihre Adresse bei jeder Einwahl &auml;ndert)
	wird die Einrichtung wahrscheinlich etwas komplexer aussehen.</para>

      <para>Bestimmen Sie zuerst, an welcher seriellen Schnittstelle Ihr Modem
	angeschlossen ist.  Viele Leute erzeugen einen symbolischen Link,
	wie etwa <filename>/dev/modem</filename>, der auf den
	wirklichen Ger&auml;tenamen <filename>/dev/cuaaN</filename>
	verweist.  Damit ist es Ihnen m&ouml;glich,
	vom eigentlichen Ger&auml;tenamen zu abstrahieren, sollten Sie
	das Modem einmal an eine andere Schnittstelle anschlie&szlig;en
	m&uuml;ssen.  Es kann ziemlich umst&auml;ndlich sein, wenn Sie
	eine viele Dateien in <filename>/etc</filename> und
	<filename>.kermrc</filename>-Dateien, die &uuml;ber
	das ganze System verstreut sind, anpassen m&uuml;ssen!</para>

      <note>
	<para><filename>/dev/cuaa0</filename> ist
	  <devicename>COM1</devicename>, <filename>cuaa1</filename> ist
	  <devicename>COM2</devicename>, etc.</para>
      </note>

      <para>Stellen Sie sicher, dass Folgendes in Ihrer
	Kernelkonfigurationsdatei steht:</para>

      <programlisting>pseudo-device   sl      1</programlisting>

      <para>Dieses pseudo-device ist im <filename>GENERIC</filename> Kernel
	enthalten.  Falls es von Ihnen nicht gel&ouml;scht wurde, sollten
	Sie hier kein Problem haben.</para>

      <sect3>
	<title>Dinge, die Sie nur einmal erledigen m&uuml;ssen</title>

	<procedure>
	  <step>
	    <para>Tragen Sie Ihren lokalen Rechner, das Gateway, sowie
	      die Nameserver in Ihre Datei <filename>/etc/hosts</filename>
	      ein.  Diese Datei sieht bei mir so aus:</para>

	    <programlisting>127.0.0.1               localhost loghost
136.152.64.181          water.CS.Example.EDU water.CS water
136.152.64.1            inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9            ns1.Example.EDU ns1
128.32.136.12           ns2.Example.EDU ns2</programlisting>
	  </step>

	  <step>
	    <para>Vergewissern Sie sich, dass in der Datei
	      <filename>/etc/host.conf</filename>
	      <literal>hosts</literal> vor <literal>bind</literal> steht, wenn
	      Sie ein System vor FreeBSD&nbsp;5.0 verwenden.  Ab
	      FreeBSD&nbsp;5.0 wird die Datei
	      <filename>/etc/nsswitch.conf</filename> verwendet, in deren
	      <option>hosts</option>-Zeile <literal>files</literal> vor
	      <literal>dns</literal> stehen sollte.  Ohne diese Reihenfolge
	      k&ouml;nnten lustige Dinge passieren.</para>
	  </step>

	  <step>
	    <para>Editieren Sie die Datei
	      <filename>/etc/rc.conf</filename>.</para>

	    <orderedlist>
	      <listitem>
		<para>Ihren Hostnamen geben Sie an, indem Sie folgende Zeile
		  bearbeiten:</para>

		<programlisting>hostname="myname.my.domain"</programlisting>

		<para>Hier sollte der vollst&auml;ndige Internethostname
		  Ihres Rechners angegeben werden.</para>
	      </listitem>

	      <listitem>
		<para>F&uuml;gen Sie <devicename>sl0</devicename>
		  zur Liste der Netzwerkinterfaces hinzu, indem Sie die
		  folgende Zeile ab&auml;ndern:</para>

		<programlisting>network_interfaces="lo0"</programlisting>

		<para>wird zu:</para>

		<programlisting>network_interfaces="lo0 sl0"</programlisting>
	      </listitem>

	      <listitem>
		<para>Legen Sie die Startwerte von <devicename>sl0</devicename> fest, indem Sie
		  die Zeile erg&auml;nzen:</para>

		<programlisting>ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting>
	      </listitem>

	      <indexterm><primary>Defaultroute</primary></indexterm>
	      <listitem>
		<para>Den Defaultrouter geben Sie durch die Modifikation
		  folgender Zeile an:</para>

		<programlisting>defaultrouter="NO"</programlisting>

		<para>wird zu:</para>

		<programlisting>defaultrouter="slip-gateway"</programlisting>
	      </listitem>
	    </orderedlist>
	  </step>

	  <step>
	    <para>Erstellen Sie die Datei
	      <filename>/etc/resolv.conf</filename>, die Folgendes
	      enth&auml;lt:</para>

	    <programlisting>domain CS.Example.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12</programlisting>

	    <indexterm><primary>Nameserver</primary></indexterm>
	    <indexterm><primary>Domain Name</primary></indexterm>
	    <para>Wie Sie sehen, werden hiermit die Nameserver angegeben.
	      Nat&uuml;rlich h&auml;ngen die tats&auml;chlichen Domainnamen
	      und Adressen von Ihren Gegebenheiten ab.</para>
	  </step>

	  <step>
	    <para>Legen Sie ein Passwort f&uuml;r <username>root</username> und
	      <username>toor</username> (sowie f&uuml;r alle anderen Accounts
	      die kein Passwort haben) fest.</para>
	  </step>

	  <step>
	    <para>Starten Sie Ihren Rechner neu und &uuml;berpr&uuml;fen
	      Sie, ob er mir dem richtigen Hostnamen startet.</para>
	  </step>
	</procedure>
      </sect3>

      <sect3>
	<title>Aufbau einer SLIP-Verbindung</title>
	<indexterm>
	  <primary>SLIP</primary>
	  <secondary>Verbindungsaufbau</secondary>
	</indexterm>
	<procedure>
	  <step>
	    <para>W&auml;hlen Sie sich ein, geben Sie
	      <command>slip</command> und am Prompt den Namen Ihres
	      Rechners sowie Ihr Passwort ein.  Was Sie eingeben m&uuml;ssen,
	      h&auml;ngt von Ihren Gegebenheiten ab.  Wenn Sie
	      <application>Kermit</application> verwenden, k&ouml;nnen Sie
	      ein Skript &auml;hnlich dem Folgenden verwenden:</para>

	    <programlisting># kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =&gt;, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>

	    <para>Nat&uuml;rlich m&uuml;ssen Sie hier Ihren Hostnamen
	      und Ihr Passwort eintragen.  Wenn Sie das getan haben,
	      k&ouml;nnen Sie am <application>Kermit</application>-Prompt
	      einfach <command>slip</command> eingeben, um sich zu
	      verbinden.</para>

	    <note>
	      <para>Es ist generell eine <emphasis>schlechte</emphasis>
		Idee, Ihr Passwort in einer unverschl&uuml;sselten
		Textdatei irgendwo im Dateisystem zu speichern.
		Tun Sie dies auf Ihr eigenes Risiko.</para>
	    </note>
	  </step>

	  <step>
	    <para>Belassen Sie <application>Kermit</application> so (Sie
	      k&ouml;nnen es mit
	      <keycombo>
		<keycap>Ctrl</keycap>
		<keycap>z</keycap>
	      </keycombo> unterbrechen) und geben Sie als
	      <username>root</username> ein:</para>

	    <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>

	    <para>Wenn Sie mit <command>ping</command> Hosts auf der anderen
	      Seite des Routers erreichen k&ouml;nnen, sind Sie verbunden!
	      Wenn es nicht funktionieren sollte, k&ouml;nnen Sie versuchen
	      <option>-a</option> statt <option>-c</option> als Argument
	      f&uuml;r <command>slattach</command> zu verwenden.</para>
	  </step>
	</procedure>
      </sect3>

      <sect3>
	<title>Beenden der Verbindung</title>

	<para>Um <command>slattach</command> zu beenden, geben Sie
	  Folgendes ein:</para>

	<screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen>

	<para>Beachten Sie, dass Sie
	  <username>root</username> sein m&uuml;ssen, um dies
	  durchf&uuml;hren zu k&ouml;nnen.  Kehren Sie zu <application>Kermit</application>
	  zur&uuml;ck (mit Hilfe von <command>fg</command>, wenn Sie es
	  unterbrochen haben) und beenden Sie dieses Programm
	  (<command>q</command>).</para>

	<para>Die <command>slattach</command> Manual-Seite gibt an,
	  dass <command>ifconfig sl0 down</command> verwendet werden
	  soll, um das Interface zu deaktivieren, doch das
	  scheint in meinem Fall keinen Unterschied zu machen.
	  (<command>ifconfig sl0</command> gibt dasselbe aus).</para>

	<para>Es kann vorkommen, dass Ihr Modem sich weigert, das
	  Tr&auml;gersignal zu beenden (mein Modem macht dies oft).
	  In diesem Fall starten Sie einfach
	  <application>Kermit</application> und beenden es wieder.
	  Beim zweiten Versuch geht es meist aus.</para>
      </sect3>

      <sect3>
	<title>L&ouml;sungen bei Problemen</title>

	<para>Wenn es nicht funktionieren sollte, k&ouml;nnen Sie
	  mich gerne fragen.  &Uuml;ber diese Dinge sind Benutzer
	  bisher gestolpert:</para>

	<itemizedlist>
	  <listitem>
	    <para>Nicht <option>-c</option> oder <option>-a</option> in
	      <command>slattach</command> verwenden (Das sollte
	      nicht entscheidend sein, aber einige Benutzer haben
	      berichtet, dass dies ihre Probleme l&ouml;st).</para>
	  </listitem>

	  <listitem>
	    <para>Verwendung von <option>s10</option> statt
	      <option>sl0</option> (bei einigen Schriftarten kann der
	      Unterschied schwer zu erkennen sein).</para>
	  </listitem>

	  <listitem>
	    <para>Probieren Sie <command>ifconfig sl0</command>,
	      um den Status Ihrer Schnittstelle abzufragen.  Das Ergebnis
	      k&ouml;nnte beispielsweise so aussehen:</para>

	    <screen>&prompt.root; <userinput>ifconfig sl0</userinput>
sl0: flags=10&lt;POINTOPOINT&gt;
        inet 136.152.64.181 --&gt; 136.152.64.1 netmask ffffff00</screen>
	  </listitem>

	  <listitem>
	    <para>Wenn <command>ping</command> die Fehlermeldung
	      <errorname>no route to host</errorname> ausgibt, kann
	      die Routingtabelle falsch sein.  Die Routen k&ouml;nnen Sie
	      sich mit dem Kommando <command>netstat -r</command>
	      ansehen:</para>

	    <screen>&prompt.root; <userinput>netstat -r</userinput>
Routing tables
Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt    Netmasks:

(root node)
(root node)

Route Tree for Protocol Family inet:
(root node) =&gt;
default          inr-3.Example.EDU  UG          8   224515  sl0 -      -
localhost.Exampl localhost.Example. UH          5    42127  lo0 -       0.438
inr-3.Example.ED water.CS.Example.E UH          1        0  sl0 -      -
water.CS.Example localhost.Example. UGH        34 47641234  lo0 -       0.438
(root node)</screen>

	    <para>Die Zahlen im Beispiel stammen von einer recht
	      ausgelasteten Maschine.  Die Zahlen auf Ihrem System werden,
	      je nach Netzaktivit&auml;t, von den gezeigten
	      abweichen.</para>
	  </listitem>
	</itemizedlist>
      </sect3>
    </sect2>

    <sect2 id="slips">
      <title>Einrichtung eines SLIP-Servers</title>
      <indexterm>
	<primary>SLIP</primary>
	<secondary>Server</secondary>
      </indexterm>

      <para>Dieses Dokument bietet Empfehlungen, wie Sie Ihr FreeBSD-System als
        SLIP-Server einrichten.  Typischerweise bedeutet dies, Ihr System so zu,
	konfigurieren, dass beim Login automatisch eine Verbindung f&uuml;r
	entfernte SLIP-Clients aufgebaut wird.</para>

      <!-- Disclaimer is not necessarily relevant
      <para> The author has written this document based
	on his experience; however, as your system and needs may be
	different, this document may not answer all of your questions, and
	the author cannot be responsible if you damage your system or lose
	data due to attempting to follow the suggestions here.</para>
      -->

      <sect3 id="slips-prereqs">
	<title>Voraussetzungen</title>
	<indexterm><primary>TCP/IP Netze</primary></indexterm>
	<para>Dieser Abschnitt ist ausgesprochen technischer Natur, weshalb
	  Hintergrundwissen erforderlich ist.  Wir gehen davon aus, dass Sie
	  mit dem TCP/IP Protokoll, insbesondere mit
	  Netzwerk- und Rechneradressierung, Netzwerkmasken, Subnetzen,
	  Routing und Routingprotokollen, wie RIP, vertraut sind.
	  Die Konfiguration von SLIP-Diensten
	  auf einem Einw&auml;hlserver erfordert die Kenntnis dieser Konzepte.
	  Wenn Sie damit nicht vertraut sein sollten, lesen Sie bitte
	  Craig Hunt's <emphasis>TCP/IP Network Administration</emphasis>
	  publiziert von O'Reilly &amp; Associates, Inc. (ISBN Nummer
	  0-937175-82-X) oder die B&uuml;cher von Douglas Comer &uuml;ber
	  das TCP/IP Protokoll.</para>

	<indexterm><primary>Modem</primary></indexterm>
	<para>Wir gehen au&szlig;erdem davon aus, dass Sie Ihr(e) Modem(s)
	  eingerichtet haben und die entsprechenden Systemdateien so
	  konfiguriert haben, dass Logins durch Ihr Modem zugelassen sind.
	  Wenn Sie Ihr System daf&uuml;r noch nicht vorbereitet haben,
	  sehen Sie sich bitte das Tutorium zur Konfiguration von
	  Einw&auml;hldiensten an.  Wenn Sie einen WWW-Browser zur
	  Verf&uuml;gung haben, schauen Sie in der Liste der Tutorien unter
	  <ulink url="&url.base;/docs.html">http://www.FreeBSD.org/docs.html</ulink>
	  nach.  Sie k&ouml;nnen auch die Manual-Seiten &man.sio.4;
	  f&uuml;r Informationen zum Ger&auml;tetreiber der seriellen
	  Schnittstelle &man.ttys.5;, &man.gettytab.5;, &man.getty.8;,
	  &amp; &man.init.8; f&uuml;r Informationen zu Rate ziehen, die
	  ben&ouml;tigt werden, um das System so zu konfigurieren, dass Logins
	  &uuml;ber ein Modem akzeptiert werden.  &man.stty.1; bietet
	  Informationen zur Einstellung der Parameter der seriellen
	  Schnittstelle (wie beispielsweise <literal>clocal</literal> f&uuml;r
	  direkt angeschlossene serielle Ger&auml;te).</para>
      </sect3>

      <sect3>
	<title>Ein kurzer &Uuml;berblick</title>

	<para>Mit der normal verwendeten Konfiguration funktioniert der
	  FreeBSD-SLIP-Server folgenderma&szlig;en: Ein SLIP-Benutzer
	  w&auml;hlt einen FreeBSD-SLIP-Server an und meldet sich mit einer
	  speziellen SLIP-Login-ID ein, wobei
	  <filename>/usr/sbin/sliplogin</filename> als Shell dieses
	  besonderen Accounts dient.  Das Programm
	  <command>sliplogin</command> durchsucht die Datei
	  <filename>/etc/sliphome/slip.hosts</filename> nach einer
	  passenden Zeile f&uuml;r diesen Account.  Falls ein
	  Treffer erzielt wird, verbindet es den seriellen Anschluss mit
	  einem verf&uuml;gbaren SLIP-Interface und f&uuml;hrt das
	  Shellskript <filename>/etc/sliphome/slip.login</filename>
	  aus, um das SLIP-Interface zu konfigurieren.</para>

        <sect4>
	  <title>Ein Beispiel f&uuml;r ein Login eines SLIP-Servers</title>

	  <para>Wenn beispielsweise die Kennung eines SLIP-Benutzers,
	    <username>Shelmerg</username> w&auml;re, k&ouml;nnte der Eintrag des
	    Benutzers <username>Shelmerg</username> in der Datei
	    <filename>/etc/master.passwd</filename> etwa so aussehen:</para>

	  <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>

	  <para>Wenn sich <username>Shelmerg</username> anmeldet,
	    wird <command>sliplogin</command> die Datei
	    <filename>/etc/sliphome/slip.hosts</filename> nach einer
	    &uuml;bereinstimmenden Benutzerkennung durchsuchen.  So
	    k&ouml;nnte etwa folgende Zeile in
	    <filename>/etc/sliphome/slip.hosts</filename> stehen:</para>

	  <programlisting>Shelmerg        dc-slip sl-helmer       0xfffffc00		  autocomp</programlisting>

	  <para><command>sliplogin</command> wird die passende Zeile finden,
	    den seriellen Anschluss mit dem n&auml;chsten verf&uuml;gbaren
	    SLIP-Interface verbinden und dann
	    <filename>/etc/sliphome/slip.login</filename> wie hier
	    dargestellt ausf&uuml;hren:</para>

	  <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>

	  <para>Wenn alles gut l&auml;uft, wird
	    <filename>/etc/sliphome/slip.login</filename> ein
	    <command>ifconfig</command> f&uuml;r das SLIP-Interface
	    durchf&uuml;hren, mit dem sich <command>sliplogin</command>
	    verbunden hat (in obigem Beispiel ist das slip 0,  der als
	    erster Parameter in der Liste an <filename>slip.login</filename>
	    &uuml;bergeben wurde), um die lokale IP-Adresse
	    (<hostid>dc-slip</hostid>), die entfernte IP-Adresse
	    (<hostid>sl-helmer</hostid>), die Netzmaske
	    des SLIP-Interface (<hostid role="netmask">0xfffffc00</hostid>) und
	    alle zus&auml;tzlichen Optionen (<literal>autocomp</literal>)
	    festzulegen. Wenn etwas schief laufen sollte, bietet,
	    <command>sliplogin</command> normalerweise informative
	    Meldungen durch den Syslog <literal>daemon</literal>, der
	    die Meldungen standardm&auml;&szlig;ig nach
	    <filename>/var/log/messages</filename> schreibt (sehen Sie
	    hierzu auch in den Manual-Seiten f&uuml;r &man.syslogd.8;
	    und &man.syslog.conf.5; nach).  &Uuml;berpr&uuml;fen Sie
	    vielleicht auch <filename>/etc/syslog.conf</filename>,
	    um zu sehen was <command>syslogd</command> aufzeichnet und
	    wohin es aufgezeichnet wird.</para>

	  <para>OK, genug der Beispiele &ndash; lassen Sie uns ein
	    System einrichten.</para>
	</sect4>
      </sect3>

      <sect3>
	<title>Kernelkonfiguration</title>
	<indexterm>
	  <primary>Kernel</primary>
	  <secondary>Konfiguration</secondary>
	</indexterm>

	<para>Die FreeBSD Standardkernels haben normalerweise bereits
	  zwei SLIP-Interfaces definiert (<devicename>sl0</devicename> und
	  <devicename>sl1</devicename>).  Sie k&ouml;nnen <command>netstat
	  -i</command> verwenden, um zu &uuml;berpr&uuml;fen, ob diese
	  beiden Interfaces in Ihrem Kernel definiert sind.</para>

	<para>Ein Beispiel f&uuml;r die Ausgabe von
	  <command>netstat -i</command>:</para>

	<screen>Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
ed0   1500  &lt;Link&gt;0.0.c0.2c.5f.4a         291311     0   174209     0   133
ed0   1500  138.247.224 ivory             291311     0   174209     0   133
lo0   65535 &lt;Link&gt;                            79     0       79     0     0
lo0   65535 loop        localhost             79     0       79     0     0
sl0*  296   &lt;Link&gt;                             0     0        0     0     0
sl1*  296   &lt;Link&gt;                             0     0        0     0     0</screen>

	<para>Die <devicename>sl0</devicename> und
	  <devicename>sl1</devicename> Interfaces, die von
	  <command>netstat -i</command> angezeigt werden, weisen darauf hin,
	  dass zwei SLIP-Interfaces in den Kernel eingebaut sind.  (Der
	  Asteriskus nach <literal>sl0</literal> und <literal>sl1</literal>
	  zeigt an, dass diese Interfaces deaktiviert sind.)</para>

	<para>Der FreeBSD-Standardkernel ist jedoch nicht so konfiguriert,
	  dass Pakete weitergeleitet werden (standardm&auml;&szlig;ig wird
	  sich ihre FreeBSD-Maschine nicht als Router verhalten), aufgrund
	  von Internet RFC Ma&szlig;gaben f&uuml;r Internet Hosts (vergleichen
	  Sie hierzu RFCs 1009 [Requirements for Internet Gateways], 1122
	  [Requirements for Internet Hosts &ndash; Communication Layers],
	  und vielleicht auch 1127 [A Perspective on the Host Requirements
	  RFCs]).  Wenn Sie Ihren FreeBSD-SLIP-Server als Router einsetzen
	  m&ouml;chten, m&uuml;ssen Sie die Datei editieren
	  <filename>/etc/rc.conf</filename> und und den Wert der
	  Variable <literal>gateway_enable</literal> auf
	  <option>YES</option> setzen.</para>

	<para>Danach sollten Sie Ihren Rechner neu starten, damit die neuen
	  Einstellungen wirksam werden.</para>

	<para>Sie werden im unteren Teil der Konfigurationsdatei des
	  Standardkernels (<filename>/sys/i386/conf/GENERIC</filename>)
	  die folgende Zeile finden:</para>

	<programlisting>pseudo-device sl 2</programlisting>

	<indexterm><primary>SLIP</primary></indexterm>
	<para>Dies ist die Zeile, in der die Anzahl der SLIP-Devices
	  festgelegt wird, die im Kernel verf&uuml;gbar sind.  Die Zahl
	  am Ende der Zeile gibt die maximale Anzahl an SLIP-Verbindungen
	  an, die gleichzeitig betrieben werden k&ouml;nnen.</para>

	<para>Weitere Informationen zur Konfiguration Ihres Kernels,
	  finden Sie in <xref linkend="kernelconfig"> dieses Handbuches.</para>
      </sect3>

      <sect3>
	<title>Konfiguration des Sliplogin</title>

	<para>Wie bereits erw&auml;hnt, gibt es im Verzeichnis
	  <filename>/etc/sliphome</filename> drei Dateien, die Teil der
	  Konfiguration f&uuml;r <filename>/usr/sbin/sliplogin</filename>
	  sind (<command>sliplogin</command> ist in &man.sliplogin.8;
	  beschrieben): <filename>slip.hosts</filename>,
	  definiert die SLIP-Benutzer sowie deren IP-Adresse;
	  <filename>slip.login</filename>, womit normalerweise nur das
	  SLIP-Interface konfiguriert wird und (optional)
	  <filename>slip.logout</filename>, womit die Auswirkungen von
	  <filename>slip.login</filename> r&uuml;ckg&auml;ngig gemacht
	  werden, wenn die serielle Verbindung beendet wird.</para>

        <sect4>
	  <title>Konfiguration der Datei
	    <filename>slip.hosts</filename></title>

	  <para><filename>/etc/sliphome/slip.hosts</filename> enth&auml;lt
	    Zeilen, die mindestens vier durch Leerzeichen getrennte Elemente
	    enthalten:</para>

	  <itemizedlist>
	    <listitem>
	      <para>Login-Kennung des SLIP-Benutzers</para>
	    </listitem>

	    <listitem>
	      <para>Lokale Adresse (lokal f&uuml;r den SLIP-Server)
		der SLIP-Verbindung</para>
	    </listitem>

	    <listitem>
	      <para>Entfernte Adresse der SLIP-Verbindung</para>
	    </listitem>

	    <listitem>
	      <para>Netzwerkmaske</para>
	    </listitem>
	  </itemizedlist>

	  <para>Die lokalen und entfernten Adressen k&ouml;nnen
	    Hostnamen sein, deren zugeh&ouml;rige IP-Adresse durch die
	    Datei <filename>/etc/hosts</filename> oder mithilfe des
	    Domain Name Service aufgel&ouml;st wird.  Wie die Adressen
	    aufgel&ouml;st werden, h&auml;ngt auf FreeBSD&nbsp;5.X
	    von den Einstellungen in <filename>/etc/nsswitch.conf</filename>
	    und auf FreeBSD&nbsp;4.X von den Einstellungen in
	    <filename>/etc/host.conf</filename> ab.  Die Netzwerkmaske
	    kann ein Name sein, der durch
	    eine Suche in <filename>/etc/networks</filename> aufgel&ouml;st
	    werden kann.  Auf einem Beispielsystem, w&uuml;rde die Datei
	    <filename>/etc/sliphome/slip.hosts</filename>
	    folgenderma&szlig;en aussehen:</para>

	  <programlisting>#
# login local-addr      remote-addr     mask            opt1    opt2
#                                               (normal,compress,noicmp)
#
Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp</programlisting>

	  <para>Am Ende der Zeile stehen eine oder mehrere der folgenden
	    Optionen.</para>

	  <itemizedlist>
	    <listitem>
	      <para><option>normal</option> &ndash; keine
		Header-Kompression</para>
	    </listitem>

	    <listitem>
	      <para><option>compress</option> &ndash; Header werden
		komprimiert</para>
	    </listitem>

	    <listitem>
	      <para><option>autocomp</option> &ndash; Header werden
		komprimiert, sofern die Gegenstelle es erlaubt</para>
	    </listitem>

	    <listitem>
	      <para><option>noicmp</option> &ndash;  ICMP-Pakete werden
		deaktiviert (<quote>ping</quote> Pakete werden
		unterdr&uuml;ckt, statt die Ihnen zur Verf&uuml;gung
		stehende Bandbreite aufzubrauchen)</para>
	    </listitem>
	  </itemizedlist>

	  <indexterm><primary>SLIP</primary></indexterm>
	  <indexterm><primary>TCP/IP Netze</primary></indexterm>
	  <para>Die Auswahl von lokalen und entfernten Adressen f&uuml;r Ihre
	    SLIP-Verbindung, h&auml;ngt davon ab, ob Sie ein TCP/IP-Subnetz
	    reservieren oder ob Sie <quote>proxy ARP</quote> auf Ihrem
	    SLIP-Server verwenden (es handelt sich nicht um
	    <quote>echtes</quote> proxy ARP, aber dieser Begriff wird
	    in diesem Abschnitt verwendet, um diesen Sachverhalt zu
	    beschreiben).  Wenn Sie nicht sicher sind, welche Methode
	    Sie w&auml;hlen sollen oder wie IP-Adressen zugewiesen werden,
	    lesen Sie bitte in den B&uuml;chern
	    zum Thema TCP/IP nach, die als Voraussetzungen f&uuml;r SLIP
	    (<xref linkend="slips-prereqs">) angegeben worden sind
	    oder fragen Sie Ihren IP-Netzwerkadministrator.</para>

	  <para>Wenn Sie f&uuml;r Ihre SLIP-Clients ein eigenes Subnetz
	    verwenden, werden Sie die Nummer des Subnetzes aus der Ihnen
	    zugewiesenen IP-Netzwerknummer zuteilen und die IP-Adressen
	    Ihrer SLIP-Clients aus diesem Subnetz verwenden m&uuml;ssen.
	    Dann k&ouml;nnen Sie eine statische Route zu Ihrem
	    SLIP-Subnetz &uuml;ber Ihren SLIP-Server auf Ihren
	    n&auml;chsten IP-Router konfigurieren.</para>

	  <indexterm><primary>Ethernet</primary></indexterm>
	  <para>Wenn Sie aber andererseits die <quote>proxy ARP</quote>
	    Methode verwenden m&ouml;chten, werden Sie die IP-Adressen Ihrer
	    SLIP-Clients aus dem Subnetz Ihres SLIP-Server nehmen und die
	    Skripte <filename>/etc/sliphome/slip.login</filename>
	    <filename>/etc/sliphome/slip.logout</filename> anpassen
	    m&uuml;ssen, damit diese &man.arp.8; zur Verwaltung der
	    proxy-ARP-Eintr&auml;ge in der ARP-Tabelle Ihres SLIP-Servers
	    verwenden</para>
	</sect4>

	<sect4>
	  <title>Konfiguration von <filename>slip.login</filename></title>

	  <para>Eine typische Datei
	    <filename>/etc/sliphome/slip.login</filename> sieht
	    folgenderma&szlig;en aus:</para>

	  <programlisting>#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>

	  <para>Diese <filename>slip.login</filename> Datei f&uuml;hrt
	    lediglich <command>ifconfig</command> f&uuml;r das entsprechende
	    SLIP-Interface mit den lokalen und entfernten Adressen und der
	    Netzwerkmaske des SLIP-Interface aus.</para>

	  <para>Wenn Sie sich daf&uuml;r entschieden haben, die
	    <quote>proxy ARP</quote> Methode zu verwenden (statt eines
	    separaten Subnetzes f&uuml;r Ihre SLIP-Clients)
	    sollte Ihre Datei <filename>/etc/sliphome/slip.login</filename>
	    etwa folgenderma&szlig;en aussehen:</para>

	  <programlisting>#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting>

	  <para>Die zus&auml;tzliche Zeile <command>arp -s
	    &#36;5 00:11:22:33:44:55 pub</command> in der Datei
	    <filename>slip.login</filename> erzeugt einen ARP-Eintrag
	    in der ARP-Tabelle des SLIP-Servers.  Dieser ARP-Eintrag
	    veranlasst den SLIP-Server mit seiner Ethernet MAC-Adresse
	    zu antworten, sobald ein anderer IP-Knoten im Ethernet mit
	    der IP-Adresse des SLIP-Clients Kontakt aufnehmen
	    m&ouml;chte.</para>

	  <indexterm>
	    <primary>Ethernet</primary>
	    <secondary>MAC Adresse</secondary>
	  </indexterm>
	  <para>Wenn Sie das Beispiel von oben verwenden, achten Sie darauf
	    die Ethernet MAC-Adresse (<hostid
	    role="mac">00:11:22:33:44:55</hostid>) durch die MAC-Adresse der
	    Ethernetkarte Ihres Systems zu ersetzen.  Sonst wird Ihr
	    <quote>proxy ARP</quote> sicher nicht funktionieren!  Sie
	    k&ouml;nnen die MAC-Adresse Ihres SLIP-Servers herausfinden,
	    indem Sie sich die Ausgabe von <command>netstat -i</command>
	    ansehen.  Die zweite Zeile der Ausgabe sollte ungef&auml;hr
	    aussehen wie diese hier:</para>

	  <screen>ed0   1500  &lt;Link&gt;0.2.c1.28.5f.4a         191923	0   129457     0   116</screen>

	  <para>Dies zeigt an, dass die Ethernet MAC-Adresse dieses
	    Systems <hostid role="mac">00:02:c1:28:5f:4a</hostid> lautet.
	    Die Punkte in der Ethernet MAC-Adresse, die von
	    <command>netstat -i</command> ausgegeben wird, m&uuml;ssen
	    durch Doppelpunkte ersetzt werden.  Bei jeder einstelligen
	    Hexadezimalzahl sollten au&szlig;erdem f&uuml;hrende Nullen
	    hinzugef&uuml;gt werden, um die Adresse in die Form zu bringen,
	    die von &man.arp.8; verlangt wird.
	    Die Manual-Seite von &man.arp.8; bietet hierzu eine
	    vollst&auml;ndige &Uuml;bersicht.</para>

	  <note>
	    <para>Wenn Sie die Dateien
	      <filename>/etc/sliphome/slip.login</filename> und
	      <filename>/etc/sliphome/slip.logout</filename> erstellen,
	      m&uuml;ssen diese ausf&uuml;hrbar gemacht werden
	      (<command>chmod 755 /etc/sliphome/slip.login
		/etc/sliphome/slip.logout</command>),
	      da <command>sliplogin</command> auf deren Ausf&uuml;hrbarkeit
	      angewiesen ist.</para>
	  </note>
	</sect4>

	<sect4>
	  <title> Konfiguration von <filename>slip.logout</filename></title>

	  <para>Die Datei<filename>/etc/sliphome/slip.logout</filename> ist
	    nicht zwingend erforderlich (au&szlig;er Sie verwenden <quote>proxy
	    ARP</quote>), aber falls Sie diese Datei erzeugen m&ouml;chten,
	    ist hier ein Beispiel f&uuml;r ein grundlegendes
	    <filename>slip.logout</filename> Skript:</para>

	  <programlisting>#!/bin/sh -
#
#       slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down</programlisting>

	  <para>Wenn Sie <quote>proxy ARP</quote> einsetzen, muss
	    <filename>/etc/sliphome/slip.logout</filename> den
	    ARP-Eintrag f&uuml;r den SLIP-Client l&ouml;schen:</para>

	  <programlisting>#!/bin/sh -
#
#       @(#)slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5</programlisting>

	  <para><command>arp -d &#36;5</command> l&ouml;scht den ARP-Eintrag,
	    den die <quote>proxy ARP</quote> <filename>slip.login</filename>
	    hinzuf&uuml;gte, als der SLIP-Client sich eingeloggt hatte.</para>

	  <para>Es soll nochmals darauf hingewiesen werden, dass f&uuml;r die
	    Datei <filename>/etc/sliphome/slip.logout</filename>  das
	    Ausf&uuml;hrungs-Bit gesetzt werden muss, nachdem die Datei
	    erstellt worden ist (z.B. <command>chmod 755
	      /etc/sliphome/slip.logout</command>).</para>
	</sect4>
      </sect3>

      <sect3>
	<title>&Uuml;berlegungen zum Routing</title>
	<indexterm>
          <primary>SLIP</primary>
          <secondary>Routing</secondary>
        </indexterm>

	<para>Wenn Sie nicht die <quote>proxy ARP</quote> Methode benutzen,
	  um Datenpakete zwischen Ihren SLIP-Clients und dem Rest Ihres
	  Netzwerkes (oder vielleicht dem Internet) zu routen, werden Sie
	  wahrscheinlich statische Routen zu Ihrem n&auml;chsten
	  Standardrouter hinzuf&uuml;gen m&uuml;ssen, um Pakete aus dem
	  Subnetz Ihres SLIP-Clients &uuml;ber Ihren SLIP-Server
	  weiterzuleiten.</para>

	<sect4>
	  <title>Statische Routen</title>
	  <indexterm><primary>statische Routen</primary></indexterm>
	  <para>Das Hinzuf&uuml;gen von statischen Routen zu Ihrem
	    n&auml;chsten Standardrouter kann problematisch sein
	    (oder unm&ouml;glich, wenn Sie nicht die erforderliche
	    Berechtigung haben...).  Wenn Sie in Ihrer Organisation ein
	    Netzwerk mit mehreren Routern haben, m&uuml;ssen einige Router,
	    wie etwa die von Cisco und Proteon hergestellten, nicht nur mit
	    der statischen Route zum SLIP-Subnetz konfiguriert werden, sondern
	    es muss ihnen auch mitgeteilt werden, &uuml;ber welche statischen
	    Routen sie andere Router informieren sollen.  Daher ist einiges
	    an Fachwissen und Probleml&ouml;sungskompetenz erforderlich, um auf
	    statischen Routen basierendes Routing erfolgreich
	    einzurichten.</para>
	</sect4>

	<sect4>
	  <title>Der Einsatz von <application>&gated;</application></title>
	  <indexterm>
            <primary><application>gated</application></primary>
          </indexterm>

          <note>
	    <para><application>&gated;</application> ist inzwischen
	      propriet&auml;re Software und steht der &Ouml;ffentlichkeit
	      nicht mehr als Sourcecode zur Verf&uuml;gung
	      (weitere Informationen hierzu sind auf der
	      <ulink url="http://www.gated.org/">&gated;</ulink>
	      Webseite zu finden).  Dieser Abschnitt existiert lediglich,
	      um die R&uuml;ckw&auml;rtskompatibilit&auml;t f&uuml;r
	      diejenigen sicherzustellen, die noch eine &auml;ltere Version
	      verwenden.</para>
	  </note>

	  <para>Eine Alternative zu dem aufw&auml;ndigen Einsatz von
	    statischen Routen ist die Installation von
	    <application>&gated;</application> auf Ihrem FreeBSD-SLIP-Server.
	    <application>&gated;</application> kann so konfiguriert
	    werden, dass er die passenden Routingprotokolle (RIP/OSPF/BGP/EGP)
	    verwendet, um die anderen Router &uuml;ber Ihr SLIP-Subnetz zu
	    informieren.  Sie m&uuml;ssen die Datei
	    <filename>/etc/gated.conf</filename> erstellen,
	    um <application>&gated;</application> zu konfigurieren.
	    Hier ist eine Beispieldatei, &auml;hnlich derjenigen,
	    die der Autor auf einem FreeBSD-SLIP-Server verwendet hat:</para>

	  <programlisting>#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;

rip yes {
  interface sl noripout noripin ;
  interface ed ripin ripout version 1 ;
  traceoptions route ;
} ;

#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
  traceoptions remnants request routes info interface ;
} ;

#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#

export proto rip interface ed {
  proto direct {
      <replaceable>xxx.xxx.yy</replaceable> mask 255.255.252.0 metric 1; # SLIP connections
  } ;
} ;

#
# Accept routes from RIP via ed Ethernet interfaces

import proto rip interface ed {
  all ;
} ;</programlisting>

          <indexterm><primary>RIP</primary></indexterm>
	  <para>Die oben angegebene Beispieldatei
	    <filename>gated.conf</filename> sendet Routinginformationen,
	    die das SLIP-Subnetz <replaceable>xxx.xxx.yy</replaceable>
	    betreffen, mit Hilfe von RIP zum Ethernet.  Wenn Sie einen
	    anderen Ethernet-Treiber als <devicename>ed</devicename>
	    verwenden, werden Sie die Eintr&auml;ge,
	    die sich auf <devicename>ed</devicename> beziehen, entsprechend
	    ab&auml;ndern m&uuml;ssen.  Mit dieser Beispieldatei wird auch
	    die Aufzeichnung der Aktivit&auml;ten von
	    <application>&gated;</application> in der Datei
	    <filename>/var/tmp/gated.output</filename>
	    eingerichtet, was f&uuml;r eine eventuelle Fehlersuche
	    n&uuml;tzlich sein kann.  Sie k&ouml;nnen diese Option
	    nat&uuml;rlich auch abschalten, wenn
	    <application>&gated;</application>
	    bei Ihnen ohne Probleme l&auml;uft.  Sie m&uuml;ssen
	    <replaceable>xxx.xxx.yy</replaceable> noch durch die
	    Netzwerkadresse Ihres SLIP-Subnetzes ersetzen (&auml;ndern
	    Sie die Netzmaske im Abschnitt <literal>proto direct</literal>
	    ebenfalls).</para>

	  <para>Wenn Sie <application>&gated;</application> auf Ihrem System
	    installiert und konfiguriert haben, m&uuml;ssen Sie die
	    FreeBSD-Startskripten noch anweisen,
	    <application>&gated;</application>
	    statt <command>routed</command> zu verwenden.  Am
	    einfachsten k&ouml;nnen Sie dies erreichen, indem Sie
	    die Variablen <varname>router</varname> und
	    <varname>router_flags</varname> in der Datei
	    <filename>/etc/rc.conf</filename> entsprechend setzen.
	    Die Manual-Seite f&uuml;r <application>&gated;</application> bietet
	    weitere Informationen zu den Kommandozeilenparametern.</para>
        </sect4>
      </sect3>
    </sect2>
  </sect1>
</chapter>

<!--
     Local Variables:
     mode: sgml
     sgml-declaration: "../chapter.decl"
     sgml-indent-data: t
     sgml-omittag: nil
     sgml-always-quote-attributes: t
     sgml-parent-document: ("../book.sgml" "part" "chapter")
     End:
-->
