3403 lines
121 KiB
XML
3403 lines
121 KiB
XML
<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD German Documentation Project
|
|
|
|
$FreeBSD$
|
|
$FreeBSDde: de-docproj/books/handbook/ppp-and-slip/chapter.sgml,v 1.94 2012/02/16 20:12:54 bcr Exp $
|
|
basiert auf: 1.197
|
|
-->
|
|
|
|
<chapter id="ppp-and-slip">
|
|
<chapterinfo>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Jim</firstname>
|
|
<surname>Mock</surname>
|
|
<contrib>Restrukturiert, neu organisiert und aktualisiert von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Thomas</firstname>
|
|
<surname>Schwarzkopf</surname>
|
|
<contrib>Übersetzt von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
</chapterinfo>
|
|
|
|
<title>PPP und SLIP</title>
|
|
|
|
<sect1 id="ppp-and-slip-synopsis">
|
|
<title>Übersicht</title>
|
|
<indexterm id="ppp-ppp">
|
|
<primary>PPP</primary>
|
|
</indexterm>
|
|
<indexterm id="ppp-slip">
|
|
<primary>SLIP</primary>
|
|
</indexterm>
|
|
|
|
<para>Unter FreeBSD stehen verschiedene Möglichkeiten zur
|
|
Verfügung, um Computer miteinander zu verbinden. Der Aufbau
|
|
einer Netzwerk- oder Internetverbindung mit Hilfe eines Einwahlmodems
|
|
– für den eigenen oder für andere Rechner –
|
|
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 (nur für
|
|
&os; 7.X relevant).</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 ((nur für &os; 7.X relevant)</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ändig, im Hinblick auf
|
|
die Daten, die dadurch zwischen Kernel und Userland hin und her
|
|
kopiert werden müssen, doch es ermöglicht auch eine
|
|
PPP-Implementierung mit weitaus mehr Funktionen. User-PPP verwendet
|
|
das Gerät <devicename>tun</devicename>, um mit anderen Rechnern
|
|
zu kommunizieren, während Kernel-PPP hierfür das
|
|
Gerät <devicename>ppp</devicename> benutzt.</para>
|
|
|
|
<note>
|
|
<para>In diesem Kapitel wird durchgängig vom Programm
|
|
<application>ppp</application> gesprochen, wenn damit User-PPP
|
|
gemeint ist. Ausnahmen werden gemacht, wenn eine
|
|
Unterscheidung gegenüber anderer PPP-Software, wie
|
|
<application>pppd</application> (nur unter &os; 7.X),
|
|
notwendig wird. Soweit nichts
|
|
anderes angegeben ist, sollten alle Befehle, die in diesem
|
|
Kapitel erklärt werden, als <username>root</username>
|
|
ausgefü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ünglich geschrieben von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Nik</firstname>
|
|
<surname>Clayton</surname>
|
|
<contrib>Mit Beiträgen von </contrib>
|
|
</author>
|
|
<author>
|
|
<firstname>Dirk</firstname>
|
|
<surname>Frömberg</surname>
|
|
</author>
|
|
<author>
|
|
<firstname>Peter</firstname>
|
|
<surname>Childs</surname>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>User-PPP</title>
|
|
|
|
<warning>
|
|
<para>Mit &os; 8.0 wurden die Gerätedateien für
|
|
serielle Ports umbenannt:
|
|
<filename>/dev/cuad<replaceable>N</replaceable></filename> wurde
|
|
zu <filename>/dev/cuau<replaceable>N</replaceable></filename>,
|
|
<filename>/dev/ttyd<replaceable>N</replaceable></filename> zu
|
|
<filename>/dev/ttyu<replaceable>N</replaceable></filename>.
|
|
Verwenden Sie noch &os; 7.X, müssen Sie dies beim
|
|
Lesen der folgenden Abschnitte berücksichtigen.</para>
|
|
</warning>
|
|
|
|
<sect2>
|
|
<title>User-PPP</title>
|
|
|
|
<sect3>
|
|
<title>Voraussetzungen</title>
|
|
|
|
<para>Dieses Dokument geht davon aus, dass Sie Folgendes zur
|
|
Verfü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önnen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Ein Modem oder ein anderes Gerä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>
|
|
|
|
<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>
|
|
<para>Ihren Login-Namen und Ihr Passwort (entweder ein
|
|
reguläres Login/Passwort-Paar im &unix;-Stil oder
|
|
ein PAP bzw. CHAP Login/Passwort-Paar).</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<indexterm id="ppp-nameserver">
|
|
<primary>Nameserver</primary>
|
|
</indexterm>
|
|
|
|
<para>Die IP-Adresse von einem oder mehreren Nameservern.
|
|
Üblicherweise werden Ihnen von Ihrem ISP zwei
|
|
IP-Adressen für diesen Zweck zur Verfügung gestellt.
|
|
Wenn Sie keine solche IP-Adresse von Ihrem
|
|
Provider bekommen haben, können Sie das Kommando
|
|
<command>enable dns</command> in der Datei
|
|
<filename>ppp.conf</filename> verwenden, um
|
|
<application>ppp</application> anzuweisen, den Nameserver
|
|
für Sie einzutragen. Diese Funktion setzt allerdings
|
|
voraus, dass Ihr ISP eine PPP-Implementierung verwendet,
|
|
die das Aushandeln eines Nameservers unterstützt.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Die folgenden Informationen werden Ihnen möglicherweise
|
|
von Ihrem ISP zur Verfü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ügung haben, kann PPP so
|
|
konfiguriert werden, dass der PPP-Server Ihres ISP während
|
|
des Verbindungsaufbaus eine gültige Adresse
|
|
ü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önnen Sie
|
|
<hostid role="netmask">255.255.255.255</hostid> verwenden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<indexterm id="ppp-static-ip">
|
|
<primary>feste IP-Adresse</primary>
|
|
</indexterm>
|
|
|
|
<para>Wenn Ihnen Ihr ISP eine statische IP-Adresse zur
|
|
Verfügung stellt, kö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
|
|
übernommen werden. Richtiges Einrücken, durch
|
|
Tabulatoren und Leerzeichen, ist ebenfalls wichtig.</para>
|
|
</note>
|
|
</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, nur unter &os; 7.X)
|
|
verwenden die
|
|
Konfigurationsdateien im Verzeichnis <filename
|
|
class="directory">/etc/ppp</filename>.
|
|
Beispiele für User-PPP sind in <filename
|
|
class="directory">/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ä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 ä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ü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ü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/cuau0
|
|
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ührt, wenn
|
|
ppp läuft.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 2:</term>
|
|
|
|
<listitem>
|
|
<para>Schaltet die Loggingparameter ein. Wenn die
|
|
Verbindung zufriedenstellend funktioniert, können
|
|
Sie diese Zeile verkürzen:</para>
|
|
|
|
<programlisting>set log phase tun</programlisting>
|
|
|
|
<para>Dies verhindert ein übermäßiges
|
|
Anwachsen der Logdateien.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 3:</term>
|
|
|
|
<listitem>
|
|
<para>Gibt PPP an, wie es sich gegenüber der
|
|
Gegenstelle identifizieren soll. PPP identifiziert
|
|
sich gegenü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ö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
|
|
class="devicefile">/dev/cuad0</filename> und
|
|
<devicename>COM2</devicename> entspricht <filename
|
|
class="devicefile">/dev/cuad1</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 5:</term>
|
|
|
|
<listitem>
|
|
<para>Legt die Geschwindigkeit fest, mit der Sie
|
|
die Verbindung betreiben möchten. Falls ein Wert
|
|
von 115200 nicht funktioniert (was aber bei jedem
|
|
einigermaßen neuen Modem
|
|
funktionieren sollte), versuchen Sie es stattdessen
|
|
mit 38400.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeilen 6 & 7:</term>
|
|
|
|
<listitem>
|
|
<indexterm>
|
|
<primary>PPP</primary>
|
|
<secondary>User-PPP</secondary>
|
|
</indexterm>
|
|
|
|
<para>Die Zeichenfolge für die Einwahl. User-PPP
|
|
verwendet eine expect-send Syntax, ä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ächsten Zeile weitergeht.
|
|
Das kann für jeden Befehl in
|
|
<filename>ppp.conf</filename> gelten, wenn
|
|
<literal>\</literal> 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 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ätigung
|
|
der lokalen Resolvereinstellungen anzufordern. Wenn Sie
|
|
einen lokalen Nameserver betreiben, sollte diese Zeile
|
|
auskommentiert oder gelö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önnen Sie später die Verbindung
|
|
mit <option>load <replaceable>ISP</replaceable></option>
|
|
aufbauen.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 12:</term>
|
|
|
|
<listitem>
|
|
<para> Gibt die Telefonnummer des Providers an. Mehrere
|
|
Telefonnummern kö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öchten, sollten Sie die
|
|
Nummern durch einen Doppelpunkt trennen.
|
|
Wenn Sie immer die erste Nummer verwenden möchten und
|
|
die anderen nur zum Einsatz kommen sollen, wenn eine Einwahl
|
|
mit der ersten Telefonnummer nicht möglich ist, sollten
|
|
Sie das Pipe-Zeichen zur Trennung verwenden.
|
|
Wie im Beispiel, sollten Sie die gesamte Reihe der
|
|
Telefonnummern in Anführungszeichen setzen.</para>
|
|
|
|
<para>Sie müssen die Telefonnummer in
|
|
Anfü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öschen sollten. Der
|
|
Abschnitt <link linkend="userppp-PAPnCHAP">Authentifizierung
|
|
mit PAP und CHAP</link> enthält hierzu weitere
|
|
Einzelheiten.</para>
|
|
|
|
<para>Der Login-String hat die gleiche chat-ähnliche
|
|
Syntax, wie der Einwahlstring. Der String in diesem
|
|
Beispiel funktioniert mit einem ISP, dessen
|
|
Login-Session folgendermaßen aussieht:</para>
|
|
|
|
<screen>J. Random Provider
|
|
login: <replaceable>foo</replaceable>
|
|
password: <replaceable>bar</replaceable>
|
|
protocol: ppp</screen>
|
|
|
|
<para>Sie mü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 überprüfen zu können, ob
|
|
die Konversation zwischen Ihrem Rechner und dem Rechner
|
|
des Providers wie erwartet abläuft.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 16:</term>
|
|
|
|
<listitem>
|
|
<indexterm><primary>Zeitbeschränkung</primary></indexterm>
|
|
|
|
<para>Setzt einen Zeitrahmen (in Sekunden), innerhalb
|
|
dessen eine Reaktion erfolgen muss. In diesem Fall,
|
|
wird die Verbindung nach 300 Sekunden automatisch
|
|
geschlossen, wenn keine Aktivität zu
|
|
verzeichnen ist. Wenn Sie keinen Zeitrahmen festlegen
|
|
wollen, nach dessen Überschreiten die Verbindung
|
|
geschlossen wird, können Sie diesen Wert auf 0
|
|
setzen oder die Kommandozeilen-Option
|
|
<option>-ddial</option> verwenden.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 17:</term>
|
|
<listitem>
|
|
<indexterm><primary>ISP</primary></indexterm>
|
|
|
|
<para>Gibt die IP-Adresse fü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ü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ü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ügt eine Defaultroute für das Gateway Ihres
|
|
Providers hinzu. Das Wort <literal>HISADDR</literal> wird
|
|
dabei durch die in Zeile 17 angegebene Gateway
|
|
Adresse ersetzt. Wichtig ist, dass diese Zeile nach
|
|
Zeile 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äuft, ist es nicht notwendig,
|
|
einen Eintrag in die Datei <filename>ppp.linkup</filename>
|
|
hinzuzufügen. In diesem Fall hat ihre Routingtabelle
|
|
bereits die richtigen Einträge, bevor Sie die Verbindung
|
|
aufbauen. Sie möchten aber vielleicht einen Eintrag
|
|
hinzufügen, um ein Programm aufzurufen, nachdem die
|
|
Verbindung aufgebaut ist. Dies wird weiter unten am Beispiel
|
|
von Sendmail erklärt.</para>
|
|
|
|
<para>Beispiele für Konfigurationsdateien finden Sie
|
|
im Verzeichnis <filename
|
|
class="directory">/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ä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
|
|
Änderung:</para>
|
|
|
|
<programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255 0.0.0.0</programlisting>
|
|
|
|
<para>Auch hier dient die Zeilennummerierung lediglich der
|
|
besseren Übersichtlichkeit. Einrü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ö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ü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äuft,
|
|
mü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öglich, die Einträge in der Routingtabelle
|
|
hinzuzufü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ä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ür <literal>pmdemand</literal>
|
|
Einträ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üssen Sie entscheiden,
|
|
ob Pakete an das LAN weitergeleitet werden sollen. Wenn Sie das
|
|
mö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ügen.
|
|
Auß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ählverbindungen</link>
|
|
bietet eine gute Beschreibung, wie Einwählverbindungen unter
|
|
Verwendung von &man.getty.8; genutzt werden können.</para>
|
|
|
|
<para>Eine Alternative zu <command>getty</command> ist <ulink
|
|
url="http://mgetty.greenie.net/">mgetty</ulink>,
|
|
eine raffiniertere Version von <command>getty</command>, die mit
|
|
Blick auf Einwählverbindungen entworfen wurde. Sie
|
|
können dieses Paket über den Port <filename
|
|
role="package">comms/mgetty+sendfax</filename>
|
|
installieren.</para>
|
|
|
|
<para>Der Vorteil von <command>mgetty</command> ist,
|
|
dass es auf aktive Weise mit Modems <emphasis>spricht</emphasis>,
|
|
das heißt wenn ein Port in <filename>/etc/ttys</filename>
|
|
ausgeschaltet ist, wird Ihr Modem nicht auf Anrufe
|
|
reagieren.</para>
|
|
|
|
<para>Spätere Versionen von <command>mgetty</command> (von
|
|
0.99beta aufwärts) unterstü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ührt werden. Wenn Sie
|
|
jedoch möchten, dass <command>ppp</command> im Server-Modus
|
|
auch von einem normalen Benutzer, wie unten beschrieben,
|
|
durch Aufruf von <command>ppp</command>
|
|
ausgeführt werden kann, müssen Sie
|
|
diesem Benutzer die Rechte erteilen, <command>ppp</command>
|
|
auszuführen, indem Sie ihn in der Datei
|
|
<filename>/etc/group</filename> der Gruppe
|
|
<groupname>network</groupname> hinzufügen.</para>
|
|
|
|
<para>Sie werden ihm ebenfalls den Zugriff auf einen oder mehrere
|
|
Abschnitte der Konfigurationsdatei geben mü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ändigen Zugriff.</para>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>PPP-Shells fü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ä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ü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ür alle Benutzer von
|
|
Einwählverbindungen verwenden. Dies ist ein Beispiel
|
|
aus der Datei <filename>/etc/passwd</filename>
|
|
für einen Benutzer namens <username>pchilds</username>,
|
|
der PPP für Einwählverbindungen verwenden kann
|
|
(Denken Sie daran, die Passwortdatei nicht direkt zu
|
|
editieren, sondern dafür &man.vipw.8; zu
|
|
verwenden).</para>
|
|
|
|
<programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>
|
|
|
|
<para>Erstellen Sie ein Verzeichnis <filename
|
|
class="directory">/home/ppp</filename>, das von allen Benutzern
|
|
gelesen werden kann und die folgenden leeren Dateien
|
|
enthä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ü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ü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ür die Sie
|
|
CIDR-/24-Netzwerke 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ä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ü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
|
|
|
|
ttyu0:
|
|
set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
|
|
enable proxy
|
|
|
|
ttyu1:
|
|
set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
|
|
enable proxy</programlisting>
|
|
|
|
<note>
|
|
<para>Die Einrückungen sind wichtig.</para>
|
|
</note>
|
|
|
|
<para>Der Abschnitt <literal>default:</literal> wird für
|
|
jede Sitzung geladen. Erstellen Sie für jede
|
|
Einwählverbindung, die Sie in der Datei
|
|
<filename>/etc/ttys</filename> ermöglicht haben, einen
|
|
Eintrag, wie oben für <literal>ttyu0:</literal> gezeigt.
|
|
Jede Verbindung sollte eine eigene IP-Adresse aus dem Pool
|
|
der Adressen bekommen, die sie für diese Benutzergruppe
|
|
reserviert haben.</para>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Einrichten von <filename>ppp.conf</filename> fü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ür jeden Benutzer mit statisch
|
|
zugewiesener IP-Adresse hinzufügen. Wir werden nun
|
|
unser Beispiel mit den
|
|
Accounts <username>fred</username>, <username>sam</username> und
|
|
<username>mary</username> weiterfü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ür
|
|
jeden Benutzer mit statischer IP-Adresse enthalten. Die unten
|
|
dargestellte Zeile würde dem Netzwerk <hostid
|
|
role="ipaddr">203.14.101.0/24</hostid> eine Route über die
|
|
PPP-Verbindung des Client hinzufü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>In der Voreinstellung wird <command>mgetty</command>
|
|
mit der Option <literal>AUTO_PPP</literal> konfiguriert
|
|
und kompiliert. Dadurch 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 den Port <filename
|
|
role="package">comms/mgetty+sendfax</filename> auf seinem
|
|
System kompiliert und installiert hat.</para>
|
|
|
|
<para>Stellen Sie sicher, dass die Datei
|
|
<filename>/usr/local/etc/mgetty+sendfax/login.config</filename>
|
|
Folgendes enthä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ür
|
|
die erkannten PPP-Verbindungen auszuführen.</para>
|
|
|
|
<para>Erstellen Sie nun die Datei
|
|
<filename>/etc/ppp/ppp-pap-dialup</filename> mit folgendem
|
|
Inhalt (die Datei sollte ausführbar sein):</para>
|
|
|
|
<programlisting>#!/bin/sh
|
|
exec /usr/sbin/ppp -direct pap$IDENT</programlisting>
|
|
|
|
<para>Erstellen Sie bitte für jede Einwählverbindung,
|
|
die Sie in <filename>/etc/ttys</filename> ermöglicht haben,
|
|
einen korrespondierenden Eintrag in der Datei
|
|
<filename>/etc/ppp/ppp.conf</filename>. Diese
|
|
Einträge kö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ötigt einen Benutzernamen und ein Passwort in der Datei
|
|
<filename>/etc/ppp/ppp.secret</filename>. Sie haben auch die
|
|
Möglichkeit, Benutzer mit Hilfe von PAP zu authentifizieren,
|
|
indem Sie der Datei <filename>/etc/passwd</filename> folgende
|
|
Option hinzufügen:</para>
|
|
|
|
<programlisting>enable passwdauth</programlisting>
|
|
|
|
<para>Wenn Sie bestimmten Benutzern eine statische IP-Adresse
|
|
zuweisen möchten, kö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ü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öglich PPP so zu konfigurieren, dass bei Bedarf
|
|
DNS und NetBIOS Nameserveradressen bereitgestellt werden.</para>
|
|
|
|
<para>Um diese Erweiterungen für die PPP Version 1.x
|
|
zu aktivieren, sollte der entsprechende Abschnitt der Datei
|
|
<filename>/etc/ppp/ppp.conf</filename> um folgende Zeilen
|
|
ergä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ür PPP Version 2 und hö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ären und sekundären
|
|
Nameserveradressen sowie ein NetBIOS Nameserver-Host
|
|
mitgeteilt.</para>
|
|
|
|
<para>In Version 2 und hö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ührt wird. Wenn dies bei
|
|
Ihnen der Fall sein sollte, wird Ihnen Ihr ISP bei der Verbindung
|
|
keinen <prompt>login:</prompt>-Prompt prä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örter, obgleich
|
|
von PAP im Klartext versandt, lediglich über die
|
|
serielle Verbindung verschickt werden. Es gibt für Cracker
|
|
wenig Möglichkeiten zu <quote>lauschen</quote>.</para>
|
|
|
|
<para>Zurü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üssen folgende Verä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üssen den richtigen Wert für
|
|
<replaceable>MyUserName</replaceable> eingeben.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Zeile 14:</term>
|
|
<listitem>
|
|
<indexterm><primary>Passwort</primary></indexterm>
|
|
|
|
<para>Diese Zeile legt Ihr PAP/CHAP Passwort fest. Sie
|
|
müssen den richtigen Wert für
|
|
<replaceable>MyPassword</replaceable> eingeben.
|
|
Sie können eine zusä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äß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üssen deshalb den String
|
|
<quote>set login</quote> deaktivieren.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect4>
|
|
|
|
<sect4>
|
|
<title>Veränderung Ihrer <command>ppp</command>
|
|
Konfiguration im laufenden Betrieb</title>
|
|
|
|
<para>Es ist möglich, dem Programm <command>ppp</command>
|
|
Befehle zu erteilen, während es im Hintergrund läuft.
|
|
Dazu ist jedoch die Einrichtung eines passenden Diagnose-Ports
|
|
erforderlich. Ergä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ören und Clients nach dem angegebenen
|
|
Passwort zu fragen, bevor der Zugang Gewä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ühren. Wenn Sie diese Funktion benutzen
|
|
wollen, fügen Sie die folgende Zeile in
|
|
<filename>/etc/ppp/ppp.conf</filename> ein:</para>
|
|
|
|
<programlisting>nat enable yes</programlisting>
|
|
|
|
<para>Sie kö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ü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ßen überhaupt nicht
|
|
trauen, benutzen Sie die folgende Zeile:</para>
|
|
|
|
<programlisting>nat deny_incoming yes</programlisting>
|
|
</sect3>
|
|
|
|
<sect3 id="userppp-final">
|
|
<title>Abschließ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öchten, dass bei Bedarf
|
|
eine Verbindung zu Ihrem ISP aufgebaut wird, sollten Sie das Device
|
|
<devicename>tun0</devicename> zu der Liste hinzufü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æmon im Automatik-Modus.
|
|
Es wird bei der Netzwerkkonfiguration ausgeführt.
|
|
Wenn Ihr Rechner als Gateway für ein LAN fungiert,
|
|
mö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æmon nicht gestartet wird da <command>routed</command>
|
|
dazu tendiert, die von <command>ppp</command> erstellten
|
|
Einträge der Standardroute zu überschreiben.</para>
|
|
|
|
<para>Es ist außerdem sinnvoll, darauf zu achten, dass die Zeile
|
|
<literal>sendmail_flags</literal> nicht die Option <option>-q</option>
|
|
enthält, da <command>sendmail</command> sonst ab und zu
|
|
die Netzwerkverbindung prüfen wird, was möglicherweise dazu
|
|
führt, dass sich Ihr Rechner einwählt. Sie können
|
|
hier Folgendes angeben:</para>
|
|
|
|
<programlisting>sendmail_flags="-bd"</programlisting>
|
|
|
|
<indexterm>
|
|
<primary><application>sendmail</application></primary>
|
|
</indexterm>
|
|
<para>Der Nachteil dieser Lösung ist, dass Sie
|
|
<command>sendmail</command> nach jedem Aufbau einer
|
|
ppp-Verbindung auffordern müssen, die Mailwarteschlange
|
|
zu überprüfen, indem Sie Folgendes eingeben:</para>
|
|
|
|
<screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen>
|
|
|
|
<para>Vielleicht mö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öchten, ist es mö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ö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ö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ätedatei <filename
|
|
class="devicefile">tun<replaceable>N</replaceable></filename>
|
|
im Verzeichnis <filename
|
|
class="directory">/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ü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ö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ä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.Ä.
|
|
ausfü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ünglich beigetragen von </contrib>
|
|
</author>
|
|
<author>
|
|
<firstname>Robert</firstname>
|
|
<surname>Huff</surname>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>Kernel-PPP</title>
|
|
|
|
<warning>
|
|
<para>Der folgende Abschnitt ist ausschließlich
|
|
für &os; 7.X relevant und gültig.</para>
|
|
</warning>
|
|
|
|
<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ür sorgen, dass <command>pppd</command> im Verzeichnis <filename
|
|
class="directory">/usr/sbin</filename> vorhanden ist und <filename
|
|
class="directory">/etc/ppp</filename> existiert.</para>
|
|
|
|
<para><command>pppd</command> kann auf zweierlei Weise arbeiten:</para>
|
|
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Als <quote>Client</quote> – Sie möchten
|
|
Ihren Rechner mit einem Netz verbinden, indem Sie eine
|
|
serielle PPP-Verbindung aufbauen.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<indexterm>
|
|
<primary>PPP</primary>
|
|
<secondary>Server</secondary>
|
|
</indexterm>
|
|
|
|
<para>Als <quote>Server</quote> – Ihr Rechner ist in
|
|
ein Netzwerk eingebunden und stellt die PPP-Verbindung
|
|
für andere Rechner im Netzwerk her.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<para>In beiden Fällen werden Sie eine Datei mit den
|
|
benötigten Optionen erstellen müssen
|
|
(<filename>/etc/ppp/options</filename> oder,
|
|
wenn mehr als ein Benutzer PPP verwendet,
|
|
<filename>~/.ppprc</filename>).</para>
|
|
|
|
<para>Sie benötigen außerdem eine Software
|
|
(vorzugsweise <filename role="package">comms/kermit</filename>), mit der
|
|
Sie seriell per Modem wählen und eine Verbindung zu dem
|
|
entfernten Host aufbauen kö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ü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
|
|
|
|
:<replaceable>remote_ip</replaceable> # 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 <replaceable>local_ip</replaceable>:<replaceable>remote_ip</replaceable>
|
|
|
|
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ählen
|
|
und Ihren Benutzernamen sowie Ihr Passwort (oder was
|
|
sonst nö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/sbin/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen>
|
|
|
|
<para>Achten Sie darauf, dass sie eine geeignete Geschwindigkeit
|
|
wä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ö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ührt alle 3 Schritte automatisch aus:</para>
|
|
|
|
<programlisting>#!/bin/sh
|
|
pgrep -l pppd
|
|
pid=`pgrep pppd`
|
|
if [ "X${pid}" != "X" ] ; then
|
|
echo 'killing pppd, PID=' ${pid}
|
|
kill ${pid}
|
|
fi
|
|
pgrep -l kermit
|
|
pid=`pgrep kermit`
|
|
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ählvorgang und alle notwendigen Autorisationen auf
|
|
dem entfernten Host durchführt (ein Beispiel fü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=`pgrep pppd`
|
|
if [ X${pid} != "X" ] ; then
|
|
echo 'killing pppd, PID=' ${pid}
|
|
kill -TERM ${pid}
|
|
fi
|
|
|
|
pgrep -l kermit
|
|
pid=`pgrep kermit`
|
|
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üfen Sie, ob <application>pppd</application> immer
|
|
noch läuft, indem Sie
|
|
<filename>/usr/etc/ppp/ppptest</filename> ausführen.
|
|
Dieses Skript sollte folgendermaßen aussehen:</para>
|
|
|
|
<programlisting>#!/bin/sh
|
|
pid=`pgrep pppd`
|
|
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ö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 über <command>pppd</command> herzustellen.</para>
|
|
|
|
<para><filename>/etc/ppp/options</filename>:</para>
|
|
|
|
<programlisting>/dev/cuad1 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 <your.domain> # 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 <replaceable>local_ip</replaceable>:<replaceable>remote_ip</replaceable>;
|
|
|
|
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<replaceable>phone.number</replaceable>
|
|
CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <replaceable>login-id</replaceable>
|
|
TIMEOUT 5 sword: <replaceable>password</replaceable></programlisting>
|
|
|
|
<para>Wenn diese Dateien richtig installiert und modifiziert sind,
|
|
mü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ässt <application>pppd</application> als Server zu arbeiten:</para>
|
|
|
|
<programlisting>#!/bin/sh
|
|
pgrep -l pppd
|
|
pid=`pgrep pppd`
|
|
if [ "X${pid}" != "X" ] ; then
|
|
echo 'killing pppd, PID=' ${pid}
|
|
kill ${pid}
|
|
fi
|
|
pgrep -l kermit
|
|
pid=`pgrep kermit`
|
|
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
|
|
pgrep -l pppd
|
|
pid=`pgrep pppd`
|
|
if [ "X${pid}" != "X" ] ; then
|
|
echo 'killing pppd, PID=' ${pid}
|
|
kill ${pid}
|
|
fi
|
|
pgrep -l kermit
|
|
pid=`pgrep kermit`
|
|
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ässt sich
|
|
die Funktion Ihres Modems, automatisch zu antworten, ein- bzw.
|
|
ausschalten. Es sollte folgendermaß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ür die Einwahl und Authentifizierung am entfernten Host verwendet.
|
|
Sie müssen es noch an Ihre lokalen Gegebenheiten anpassen.
|
|
Geben Sie in diesem Skript Ihren Benutzernamen und Ihr Passwort ein.
|
|
In Abhängigkeit von der Reaktion Ihres Modems und des
|
|
entfernten Hosts, werden Sie auch noch die <literal>input</literal>
|
|
Anweisungen verändern mü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>
|
|
</sect1info>
|
|
|
|
<title>Probleme bei <acronym>PPP</acronym>-Verbindungen</title>
|
|
|
|
<indexterm>
|
|
<primary>PPP</primary>
|
|
<secondary>Fehlersuche</secondary>
|
|
</indexterm>
|
|
|
|
<warning>
|
|
<para>Mit &os; 8.0 wurde der &man.sio.4;-Treiber durch den
|
|
Treiber &man.uart.4; ersetzt. Parallel dazu wurden auch die
|
|
entsprechenden Gerätedateien für die seriellen Ports
|
|
umbenannt:
|
|
<filename>/dev/cuad<replaceable>N</replaceable></filename> wurde
|
|
zu <filename>/dev/cuau<replaceable>N</replaceable></filename>,
|
|
<filename>/dev/ttyd<replaceable>N</replaceable></filename> zu
|
|
<filename>/dev/ttyu<replaceable>N</replaceable></filename>.
|
|
Verwenden Sie noch &os; 7.X, müssen Sie dies beim
|
|
Lesen der folgenden Abschnitte berücksichtigen.</para>
|
|
</warning>
|
|
|
|
<para>Dieser Abschnitt behandelt Probleme, die auftauchen
|
|
können, wenn PPP über ein Modem verwendet wird.
|
|
Sie müssen beispielsweise genau die Eingabeaufforderung
|
|
des Systems kennen, in das Sie sich einwählen.
|
|
Einige <acronym>ISP</acronym>s verwenden <literal>ssword</literal>
|
|
andere verwenden <literal>password</literal>; wenn
|
|
das Einwahlskript falsch ist, scheitert die Anmeldung.
|
|
Ü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ätedateien überprüfen</title>
|
|
|
|
<para>Wenn Sie einen eigenen Kernel verwenden, stellen Sie sicher, dass
|
|
die folgende Zeile in der Kernelkonfigurationsdatei vorhanden
|
|
ist:</para>
|
|
|
|
<programlisting>device uart</programlisting>
|
|
|
|
<para>Das <devicename>uart</devicename>-Gerät ist bereits
|
|
im <literal>GENERIC</literal>-Kernel vorhanden, deshalb sind in
|
|
diesem Fall keine zusätzlichen Schritte vonnöten.
|
|
Kontrollieren Sie die Ausgabe von <command>dmesg</command>:</para>
|
|
|
|
<screen>&prompt.root; <userinput>dmesg | grep uart</userinput></screen>
|
|
|
|
<para>In der Ausgabe sollten die entsprechenden
|
|
<devicename>uart</devicename>-Geräte, beispielsweise
|
|
<devicename>uart1</devicename>
|
|
(<devicename>COM2</devicename>), angezeigt werden.
|
|
Wird ein passendes Gerät angezeigt, brauchen Sie
|
|
keinen neuen Kernel zu erstellen. Wenn Ihr Modem an
|
|
<devicename>uart1</devicename>
|
|
angeschlossen ist (in DOS ist dieser Anschluss als
|
|
<devicename>COM2</devicename> bekannt), ist <filename
|
|
class="devicefile">/dev/cuau1</filename> die dazugehörende
|
|
Gerä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 überprüfen oder einfach Informationen darü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ä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> <userinput>set device <filename class="devicefile">/dev/cuau1</filename></userinput></screen>
|
|
|
|
<para>Wir geben das Device an, an das unser Modem angeschlossen ist.
|
|
In diesem Fall ist es <devicename>cuau1</devicename>.</para>
|
|
|
|
<screen>ppp ON example> <userinput>set speed 115200</userinput></screen>
|
|
|
|
<para>Wir geben die Verbindungsgeschwindigkeit an. Im Beispiel
|
|
verwenden wir 115200 <acronym>kbps</acronym></para>
|
|
|
|
<screen>ppp ON example> <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äge für
|
|
den Nameserver hinzuzufügen. Falls <command>ppp</command>
|
|
unseren Hostnamen nicht bestimmen kann, geben wir diesen
|
|
später manuell an.</para>
|
|
|
|
<screen>ppp ON example> <userinput>term</userinput></screen>
|
|
|
|
<para>Wir wechseln in den <quote>Terminal</quote>-Modus, um
|
|
das Modem manuell kontrollieren zu können.</para>
|
|
|
|
<programlisting>deflink: Entering terminal mode on <filename class="devicefile">/dev/cuau1</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ählprozess zu starten.</para>
|
|
|
|
<screen>CONNECT</screen>
|
|
|
|
<para>Dies ist die Bestätigung, dass eine Verbindung aufgebaut
|
|
wurde. Falls wir Verbindungsprobleme bekommen, die nicht
|
|
mit der Hardware zusammenhängen, werden wir an dieser
|
|
Stelle ansetzen müssen, um eine Lö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ügung gestellt hat.</para>
|
|
|
|
<screen>ISP Pass:<userinput>mypassword</userinput></screen>
|
|
|
|
<para>An dieser Stelle mü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ä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ür <command>ppp</command> entschieden.</para>
|
|
|
|
<screen>Ppp ON example></screen>
|
|
|
|
<para>Beachten Sie, dass sich in diesem Beispiel das erste
|
|
<option>p</option> in einen Großbuchstaben verwandelt hat.
|
|
Dies zeigt, dass wir erfolgreich eine Verbindung
|
|
zu unserem <acronym>ISP</acronym> hergestellt haben.</para>
|
|
|
|
<screen>PPp ON example></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></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> <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üssen wir dies tun, bevor wir Kontakt zu unserer Umwelt
|
|
aufnehmen können. Falls dies aufgrund bestehender Routen
|
|
nicht funktionieren sollte, können Sie ein Ausrufungszeichen
|
|
<literal>!</literal> vor <option>add</option> setzen.
|
|
Sie kö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ö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ß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ände.</para>
|
|
|
|
<sect3>
|
|
<title>Fehlersuche</title>
|
|
|
|
<para>Wenn sie einen Direktanschluss haben und keine Verbindung
|
|
aufbauen kö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ähigen Terminalserver
|
|
verbunden sind. Hier bleibt <application>PPP</application>
|
|
bei dem Versuch hängen, Daten ü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 Ü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 älteres Modem haben, benötigen Sie
|
|
vielleicht die Option <option>set parity even</option>.
|
|
Standardmäßig wird keine Parität vorausgesetzt,
|
|
sie ist aber für die Fehlerprüfung bei älteren
|
|
Modems und bei bestimmten <acronym>ISP</acronym>s erforderlich.
|
|
Sie könnten diese Option für den
|
|
<acronym>ISP</acronym> Compuserve benötigen.</para>
|
|
<para><application>PPP</application> kehrt möglicherweise
|
|
nicht in den Befehlsmodus zurü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üssen
|
|
Sie statt des im Beispiel gezeigten UNIX-Stils höchst
|
|
wahrscheinlich <acronym>PAP</acronym> oder
|
|
<acronym>CHAP</acronym> für die Authentifizierung
|
|
verwenden. Um <acronym>PAP</acronym> oder
|
|
<acronym>CHAP</acronym> zu verwenden, ergänzen Sie
|
|
<application>PPP</application> einfach um folgende Optionen,
|
|
bevor Sie in den Terminalmodus wechseln:</para>
|
|
|
|
<screen>ppp ON example> <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> <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änen-Namen erreichen kö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. Überprüfen Sie,
|
|
ob wä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önnen, ist es möglich, dass die
|
|
Adresse eines Nameservers nicht in die Datei
|
|
<filename>/etc/resolv.conf</filename> eingetragen
|
|
wurde. Diese Datei sollte folgendermaß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önnen Sie Ihre
|
|
<application>PPP</application>-Verbindung protokollieren.
|
|
Fü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ällen existiert diese
|
|
Funktionalitä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ür PPPoE nicht
|
|
mehr erforderlich. Sofern die notwendige NetGraph-Unterstü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ü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ühren</title>
|
|
|
|
<para>Fü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ö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ügung
|
|
gestellt hat. Wenn Sie diese Informationen dort nicht finden,
|
|
fragen Sie beim technischen Kundendienst Ihres ISP danach.</para>
|
|
|
|
<para>Als letzte Mö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öscht werden
|
|
können, so dass es nicht mehr benutzt werden kann.
|
|
Ü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ü <guimenu>System</guimenu> dieses Programms. Der Name
|
|
Ihres Profils, sollte in der Liste aufgeführt sein.
|
|
Normalerweise ist dies <emphasis>ISP</emphasis>.</para>
|
|
|
|
<para>Der Name des Profils (<foreignphrase>service tag</foreignphrase>)
|
|
wird im Eintrag fü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ält Einzelheiten hierzu), der den Provider angibt.
|
|
Dieser Eintrag sollte folgendermaß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://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ü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ä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:</para>
|
|
|
|
<screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen>
|
|
|
|
<para>Da hiermit eine systemweit gültige Einstellung vorgenommen
|
|
wird, ist es nicht mö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äischen
|
|
DSL-Providern populär.</para>
|
|
|
|
<sect2>
|
|
<title>Der Einsatz von PPPoA mit dem Alcatel &speedtouch; USB</title>
|
|
|
|
<para>PPPoA-Unterstützung für dieses Gerät ist
|
|
unter FreeBSD als Port verfü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ür den ordnungsgemäßen Betrieb muss
|
|
das Alcatel &speedtouch; USB, wie viele USB-Geräte,
|
|
Firmware auf den Gastrechner laden. FreeBSD kann die
|
|
Firmware automatisch laden, wenn das Gerät mit
|
|
dem USB-Anschluss verbunden wird. Dazu fü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æ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ü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ö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üssen Sie den Port installieren, um danach
|
|
<application>mpd</application> entsprechend Ihren Anforderungen
|
|
und den Vorgaben Ihres Providers konfigurieren zu können. Der
|
|
Port installiert auch einige
|
|
gut dokumentierte Beispielkonfigurationsdateien in <filename
|
|
class="directory"><replaceable>PREFIX</replaceable>/etc/mpd/</filename>.
|
|
Beachten Sie, dass <replaceable>PREFIX</replaceable> hier das Verzeichnis
|
|
angibt, in das Ihre Ports installiert werden. Standardmäßig
|
|
ist dies das Verzeichnis <filename
|
|
class="directory">/usr/local/</filename>.
|
|
Ein kompletter Leitfaden zur Konfiguration von
|
|
<application>mpd</application> ist im HTML-Format verfügbar,
|
|
sobald der Port installiert ist. Dieser ist in <filename
|
|
class="directory"><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ä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ält
|
|
Informationen über die Verbindung(en), die Sie aufbauen
|
|
möchten. Eine Beispieldatei <filename>mpd.links</filename>,
|
|
die das vorige Beispiel ergä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önnen sich den Status der Verbindung durch folgenden Befehl
|
|
anzeigen lassen:</para>
|
|
|
|
<screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput>
|
|
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> 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ßerdem mö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önnen,
|
|
müssen Sie den entsprechenden Port bzw. das Paket installieren
|
|
und die Datei <filename>/etc/ppp/ppp.conf</filename> bearbeiten.
|
|
Sie müssen <username>root</username> sein, um diese Schritte
|
|
durchführen zu können. Eine Beispieldatei fü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ür den Zugang zu den Diensten
|
|
Ihres ISP.</para>
|
|
</callout>
|
|
<callout arearefs="co-pptp-ex-pass">
|
|
<para>Das Passwort für Ihren Account.</para>
|
|
</callout>
|
|
</calloutlist>
|
|
|
|
<warning>
|
|
<para>Weil Sie Ihr Passwort in der Datei
|
|
<filename>ppp.conf</filename> in Klartext angeben mü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ä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ür eine PPP-Session zu Ihrem
|
|
DSL-Router ö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ät verwendet. Um den Tunnel zu öffnen
|
|
und eine PPP-Session zu starten, führen
|
|
Sie bitte folgenden Befehl aus:</para>
|
|
|
|
<screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen>
|
|
|
|
|
|
<tip>
|
|
<para>Vielleicht möchten Sie ein kaufmännisches Und
|
|
(<quote>&</quote>) an das Ende oben angegebenen Kommandos
|
|
anfügen, da <application>pptp</application> sonst den
|
|
Prompt nicht zurückgibt.</para>
|
|
</tip>
|
|
|
|
<para>Ein virtuelles Tunnel-Device <devicename>tun</devicename>
|
|
wird für das Zusammenspiel der Prozesse
|
|
<application>pptp</application> und <application>ppp</application>
|
|
geschaffen. Wenn Sie den Prompt zurückerhalten haben
|
|
oder der <application>pptp</application>-Prozess das Vorliegen
|
|
einer Verbindung bestätigt, können Sie den Tunnel
|
|
folgendermaßen überprüfen:</para>
|
|
|
|
<screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput>
|
|
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> 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, überprüfen Sie die Konfiguration Ihres Routers,
|
|
den Sie normalerweise per <application>telnet</application>
|
|
oder mit einem Web-Browser erreichen kö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ünglich beigetragen von </contrib>
|
|
</author>
|
|
</authorgroup>
|
|
<authorgroup>
|
|
<author>
|
|
<firstname>Guy</firstname>
|
|
<surname>Helmer</surname>
|
|
<contrib>Mit Beiträgen von </contrib>
|
|
</author>
|
|
<author>
|
|
<firstname>Piero</firstname>
|
|
<surname>Serini</surname>
|
|
</author>
|
|
</authorgroup>
|
|
</sect1info>
|
|
|
|
<title>SLIP</title>
|
|
<indexterm><primary>SLIP</primary></indexterm>
|
|
|
|
<warning>
|
|
<para>Der folgende Abschnitt ist ausschließlich
|
|
für &os; 7.X relevant und gültig.</para>
|
|
</warning>
|
|
|
|
<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ür ein Netzwerk mit festen Hostnamen
|
|
einzurichten. Bei einer dynamischen Zuweisung des Hostnamens
|
|
(das heißt wenn sich Ihre Adresse bei jeder Einwahl ä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
|
|
class="devicefile">/dev/modem</filename>, der auf den wirklichen
|
|
Gerätenamen <filename
|
|
class="directory">/dev/cuadN</filename> verweist. Damit ist es Ihnen
|
|
möglich, vom eigentlichen Gerätenamen zu abstrahieren,
|
|
sollten Sie das Modem einmal an eine andere Schnittstelle
|
|
anschließen müssen. Es kann ziemlich umständlich sein,
|
|
wenn Sie eine viele Dateien in <filename
|
|
class="directory">/etc</filename> und
|
|
<filename>.kermrc</filename>-Dateien, die über das ganze System
|
|
verstreut sind, anpassen müssen!</para>
|
|
|
|
<note>
|
|
<para><filename
|
|
class="devicefile">/dev/cuau0</filename> ist
|
|
<devicename>COM1</devicename>, <filename
|
|
class="devicefile">/dev/cuau1</filename>
|
|
ist <devicename>COM2</devicename>, etc.</para>
|
|
</note>
|
|
|
|
<para>Stellen Sie sicher, dass Folgendes in Ihrer
|
|
Kernelkonfigurationsdatei steht:</para>
|
|
|
|
<programlisting>device sl 1</programlisting>
|
|
|
|
<para>Dieses pseudo-device ist im <filename>GENERIC</filename> Kernel
|
|
enthalten. Falls es von Ihnen nicht gelöscht wurde, sollten
|
|
Sie hier kein Problem haben.</para>
|
|
|
|
<sect3>
|
|
<title>Dinge, die Sie nur einmal erledigen mü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> im Abschnitt
|
|
<literal>hosts:</literal> <literal>files</literal> vor
|
|
<literal>dns</literal> steht. Ohne diese Reihenfolge
|
|
kö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ändige Internethostname
|
|
Ihres Rechners angegeben werden.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<indexterm><primary>Defaultroute</primary></indexterm>
|
|
|
|
<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ä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ürlich hängen die tatsächlichen Domainnamen
|
|
und Adressen von Ihren Gegebenheiten ab.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Legen Sie ein Passwort für <username>root</username> und
|
|
<username>toor</username> (sowie für alle anderen Accounts
|
|
die kein Passwort haben) fest.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Starten Sie Ihren Rechner neu und überprü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ählen Sie sich ein, geben Sie
|
|
<command>slip</command> und am Prompt den Namen Ihres
|
|
Rechners sowie Ihr Passwort ein. Was Sie eingeben müssen,
|
|
hängt von Ihren Gegebenheiten ab. Wenn Sie
|
|
<application>Kermit</application> verwenden, können Sie
|
|
ein Skript ä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 =>, 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ürlich müssen Sie hier Ihren Benutzernamen
|
|
und Ihr Passwort eintragen. Wenn Sie das getan haben,
|
|
kö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ü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ö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önnen, sind Sie verbunden!
|
|
Wenn es nicht funktionieren sollte, können Sie versuchen
|
|
<option>-a</option> statt <option>-c</option> als Argument
|
|
fü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üssen, um dies
|
|
durchführen zu können. Kehren Sie zu <command>kermit</command>
|
|
zurück (mit Hilfe von <command>fg</command>, wenn Sie es
|
|
unterbrochen haben) und beenden Sie dieses Programm
|
|
(<keycap>q</keycap>).</para>
|
|
|
|
<para>&man.slattach.8; gibt an,
|
|
dass <command>ifconfig sl0 down</command> verwendet werden
|
|
soll, um das Interface zu deaktivieren, doch das
|
|
scheint keinen Unterschied zu machen.
|
|
(<command>ifconfig sl0</command> gibt dasselbe aus).</para>
|
|
|
|
<para>Es kann vorkommen, dass Ihr Modem sich weigert, das
|
|
Trägersignal zu beenden. In diesem Fall starten Sie
|
|
<command>kermit</command> einfach neu und beenden es wieder.
|
|
Beim zweiten Versuch geht es meist aus.</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Lösungen bei Problemen</title>
|
|
|
|
<para>Wenn es nicht funktionieren sollte, können Sie
|
|
an die Mailingliste &a.net.name; schreiben. Ü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ö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önnte beispielsweise so aussehen:</para>
|
|
|
|
<screen>&prompt.root; <userinput>ifconfig sl0</userinput>
|
|
sl0: flags=10<POINTOPOINT>
|
|
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00</screen>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>Wenn &man.ping.8; die Fehlermeldung
|
|
<errorname>no route to host</errorname> ausgibt, kann
|
|
die Routingtabelle falsch sein. Die Routen kö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) =>
|
|
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ä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ü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ä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 & Associates, Inc. (ISBN Nummer
|
|
0-937175-82-X) oder die Bücher von Douglas Comer über
|
|
das TCP/IP Protokoll.</para>
|
|
|
|
<indexterm><primary>Modem</primary></indexterm>
|
|
<para>Wir gehen auß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ür noch nicht vorbereitet haben,
|
|
lesen Sie bitte <xref linkend="dialup"/>, um Ihre
|
|
Einwahlverbindung zu konfigurieren. Hilfreich sind auch die
|
|
Manualpages &man.sio.4; mit Informationen zum Gerätetreiber
|
|
der seriellen Schnittstelle &man.ttys.5;, sowie &man.gettytab.5;,
|
|
&man.getty.8; und &man.init.8; für Informationen zur
|
|
Konfiguration von Logins über ein Modem. &man.stty.1; bietet
|
|
Informationen zur Einstellung der Parameter der seriellen
|
|
Schnittstelle (etwa von <literal>clocal</literal> für
|
|
direkt angeschlossene serielle Geräte).</para>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Ein kurzer Überblick</title>
|
|
|
|
<para>Mit der normal verwendeten Konfiguration funktioniert der
|
|
FreeBSD-SLIP-Server folgendermaßen: Ein SLIP-Benutzer
|
|
wä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ür diesen Account. Falls ein
|
|
Treffer erzielt wird, verbindet es den seriellen Anschluss mit
|
|
einem verfügbaren SLIP-Interface und führt das
|
|
Shellskript <filename>/etc/sliphome/slip.login</filename>
|
|
aus, um das SLIP-Interface zu konfigurieren.</para>
|
|
|
|
<sect4>
|
|
<title>Ein Beispiel für ein Login eines SLIP-Servers</title>
|
|
|
|
<para>Wenn beispielsweise die Kennung eines SLIP-Benutzers,
|
|
<username>Shelmerg</username> wäre, kö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
|
|
übereinstimmenden Benutzerkennung durchsuchen. So
|
|
kö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ächsten verfügbaren
|
|
SLIP-Interface verbinden und dann
|
|
<filename>/etc/sliphome/slip.login</filename> wie hier
|
|
dargestellt ausführen:</para>
|
|
|
|
<programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting>
|
|
|
|
<para>Wenn alles gut läuft, wird
|
|
<filename>/etc/sliphome/slip.login</filename> ein
|
|
<command>ifconfig</command> für das SLIP-Interface
|
|
durchfü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>
|
|
ü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ätzlichen Optionen (<literal>autocomp</literal>)
|
|
festzulegen. Wenn etwas schief laufen sollte, bietet,
|
|
<command>sliplogin</command> normalerweise informative
|
|
Meldungen durch den <application>syslogd</application>-Daemon,
|
|
der die Meldungen standardmäßig nach
|
|
<filename>/var/log/messages</filename> schreibt (sehen Sie
|
|
hierzu auch in den Manual-Seiten für &man.syslogd.8;
|
|
und &man.syslog.conf.5; nach). Überprüfen Sie
|
|
auch <filename>/etc/syslog.conf</filename>,
|
|
um zu sehen, was <command>syslogd</command> aufzeichnet und
|
|
wo es aufgezeichnet wird.</para>
|
|
</sect4>
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Kernelkonfiguration</title>
|
|
<indexterm>
|
|
<primary>Kernel</primary>
|
|
<secondary>Konfiguration</secondary>
|
|
</indexterm>
|
|
|
|
<para>Der Standardkernel von &os; (<filename>GENERIC</filename>)
|
|
bietet bereits SLIP-Unterstützung (&man.sl.4;). Falls
|
|
Sie einen angepassten Kernel verwenden, müssen Sie
|
|
sicherstellen, dass Ihre Kernelkonfigurationsdatei folgende
|
|
Zeile enthält:</para>
|
|
|
|
<programlisting>device sl</programlisting>
|
|
|
|
<para>In der Voreinstellung leitet Ihr &os;-Rechner keine
|
|
Pakete weiter. Wenn Sie Ihren FreeBSD-SLIP-Server als
|
|
Router einsetzen möchten, müssen Sie die Datei
|
|
<filename>/etc/rc.conf</filename> bearbeiten und den Wert
|
|
der Variable <literal>gateway_enable</literal> auf
|
|
<option>YES</option> setzen. Dadurch ist sichergestellt, dass
|
|
die Routingoptionen auch nach einem Neustart erhalten bleiben.</para>
|
|
|
|
<para>Um die Einstellungen sofort anzuwenden, führen Sie den
|
|
folgenden Befehl als <username>root</username>-Benutzer aus:</para>
|
|
|
|
<screen>&prompt.root; /etc/rc.d/routing start</screen>
|
|
|
|
<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ähnt, gibt es im Verzeichnis <filename
|
|
class="directory">/etc/sliphome</filename> drei Dateien, die Teil der
|
|
Konfiguration fü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ückgä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ä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ü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önnen
|
|
Hostnamen sein, deren zugehörige IP-Adresse durch die
|
|
Datei <filename>/etc/hosts</filename> oder mithilfe des
|
|
Domain Name Service aufgelöst wird. Wie die Adressen
|
|
aufgelöst werden, hängt von den Einstellungen in
|
|
<filename>/etc/nsswitch.conf</filename> ab. Die Netzwerkmaske
|
|
kann ein Name sein, der durch
|
|
eine Suche in <filename>/etc/networks</filename> aufgelöst
|
|
werden kann. Auf einem Beispielsystem, würde die Datei
|
|
<filename>/etc/sliphome/slip.hosts</filename>
|
|
folgendermaß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> – keine
|
|
Header-Kompression</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><option>compress</option> – Header werden
|
|
komprimiert</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><option>autocomp</option> – Header werden
|
|
komprimiert, sofern die Gegenstelle es erlaubt</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para><option>noicmp</option> – ICMP-Pakete werden
|
|
deaktiviert (<quote>ping</quote> Pakete werden
|
|
unterdrückt, statt die Ihnen zur Verfü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ür Ihre
|
|
SLIP-Verbindung, hä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ählen sollen oder wie IP-Adressen zugewiesen werden,
|
|
lesen Sie bitte in den Büchern
|
|
zum Thema TCP/IP nach, die als Voraussetzungen für SLIP
|
|
(<xref linkend="slips-prereqs"/>) angegeben worden sind
|
|
oder fragen Sie Ihren IP-Netzwerkadministrator.</para>
|
|
|
|
<para>Wenn Sie fü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üssen.
|
|
Dann können Sie eine statische Route zu Ihrem
|
|
SLIP-Subnetz über Ihren SLIP-Server auf Ihren
|
|
nächsten IP-Router konfigurieren.</para>
|
|
|
|
<indexterm><primary>Ethernet</primary></indexterm>
|
|
<para>Wenn Sie aber andererseits die <quote>proxy ARP</quote>
|
|
Methode verwenden mö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üssen, damit diese &man.arp.8; zur Verwaltung der
|
|
<quote>proxy ARP</quote>-Einträ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ß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ührt
|
|
lediglich <command>ifconfig</command> für das entsprechende
|
|
SLIP-Interface mit den lokalen und entfernten Adressen und der
|
|
Netzwerkmaske des SLIP-Interface aus.</para>
|
|
|
|
<para>Wenn Sie sich dafür entschieden haben, die
|
|
<quote>proxy ARP</quote> Methode zu verwenden (statt eines
|
|
separaten Subnetzes für Ihre SLIP-Clients)
|
|
sollte Ihre Datei <filename>/etc/sliphome/slip.login</filename>
|
|
etwa folgendermaß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ätzliche Zeile <command>arp -s
|
|
$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ö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ö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ähr
|
|
aussehen wie diese hier:</para>
|
|
|
|
<screen>ed0 1500 <Link>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üssen
|
|
durch Doppelpunkte ersetzt werden. Bei jeder einstelligen
|
|
Hexadezimalzahl sollten außerdem führende Nullen
|
|
hinzugefü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ändige Übersicht.</para>
|
|
|
|
<note>
|
|
<para>Wenn Sie die Dateien
|
|
<filename>/etc/sliphome/slip.login</filename> und
|
|
<filename>/etc/sliphome/slip.logout</filename> erstellen,
|
|
müssen diese ausführbar gemacht werden
|
|
(<command>chmod 755 /etc/sliphome/slip.login
|
|
/etc/sliphome/slip.logout</command>),
|
|
da <command>sliplogin</command> auf deren Ausfü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ßer Sie verwenden <quote>proxy
|
|
ARP</quote>), aber falls Sie diese Datei erzeugen möchten,
|
|
ist hier ein Beispiel fü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ür den SLIP-Client lö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 $5</command> löscht den ARP-Eintrag,
|
|
den die <quote>proxy ARP</quote> <filename>slip.login</filename>
|
|
hinzufügte, als der SLIP-Client sich eingeloggt hatte.</para>
|
|
|
|
<para>Es soll nochmals darauf hingewiesen werden, dass für die
|
|
Datei <filename>/etc/sliphome/slip.logout</filename> das
|
|
Ausfü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>Ü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ächsten
|
|
Standardrouter hinzufügen müssen, um Pakete aus dem
|
|
Subnetz Ihres SLIP-Clients über Ihren SLIP-Server
|
|
weiterzuleiten.</para>
|
|
|
|
<sect4>
|
|
<title>Statische Routen</title>
|
|
<indexterm><primary>statische Routen</primary></indexterm>
|
|
<para>Das Hinzufügen von statischen Routen zu Ihrem
|
|
nächsten Standardrouter kann problematisch sein
|
|
(oder unmöglich, wenn Sie nicht die erforderliche
|
|
Berechtigung haben...). Wenn Sie in Ihrer Organisation ein
|
|
Netzwerk mit mehreren Routern haben, mü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, über welche statischen
|
|
Routen sie andere Router informieren sollen. Daher ist einiges
|
|
an Fachwissen und Problemlösungskompetenz erforderlich, um auf
|
|
statischen Routen basierendes Routing erfolgreich
|
|
einzurichten.</para>
|
|
</sect4>
|
|
</sect3>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|