PERFORCE change 147448 for review
Remko Lodder
remko at FreeBSD.org
Fri Aug 15 13:31:50 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=147448
Change 147448 by remko at remko_nakur on 2008/08/15 13:31:41
Import my WIP for the PPP and SLIP chapter. 13%
Affected files ...
.. //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#3 edit
Differences ...
==== //depot/projects/docproj_nl/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml#3 (text+ko) ====
@@ -1,7 +1,7 @@
<!--
- The FreeBSD Dutch Documentation Project
+ The FreeBSD Documentation Project
- $FreeBSD: doc/nl_NL.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.1 2004/09/25 23:28:48 josef Exp $
+ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.180 2008/06/01 09:42:12 remko Exp $
-->
<chapter id="ppp-and-slip">
@@ -10,172 +10,1331 @@
<author>
<firstname>Jim</firstname>
<surname>Mock</surname>
- <contrib>Herstructureerd, gereorganiseerd en geupdate door </contrib>
+ <contrib>Geherstructureerd, gereorganiseerd en geupdate
+ door </contrib>
<!-- 1 Mar 2000 -->
</author>
</authorgroup>
+ <authorgroup>
+ <author>
+ <firstname>Remko</firstname>
+ <surname>Lodder</surname>
+ <contrib>Vertaald door </contrib>
+ </author>
+ </authorgroup>
</chapterinfo>
- <title>* PPP en SLIP</title>
+ <title>PPP en SLIP</title>
<sect1 id="ppp-and-slip-synopsis">
- <title>* Samenvatting</title>
+ <title>Overzicht</title>
+ <indexterm id="ppp-ppp">
+ <primary>PPP</primary>
+ </indexterm>
+ <indexterm id="ppp-slip">
+ <primary>SLIP</primary>
+ </indexterm>
+
+ <para>&os; heeft een aantal manieren om de ene computer met een
+ andere te verbinden. Om een netwerk of internet verbinding
+ op te zetten door een inbel modem, of om anderen toe te
+ staan dit te doen door de machine heen vereist het gebruik
+ van PPP en SLIP. Dit hoofdstuk beschrijft het opzetten van
+ op modems gebaseerde diensten in meer detail.</para>
+
+ <para>Na het lezen van dit hoofdstuk weet u:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Hoe gebruikers PPP opgezet kan worden.</para>
+ </listitem>
+ <listitem>
+ <para>Hoe kernel PPP opgezet kan worden.</para>
+ </listitem>
+ <listitem>
+ <para>Hoe <acronym>PPPoE</acronym> opgezet kan worden (PPP
+ over Ethernet).</para>
+ </listitem>
+ <listitem>
+ <para>Hoe <acronym>PPPoA</acronym> opgezet kan worden (PPP
+ over ATM).</para>
+ </listitem>
+ <listitem>
+ <para>Hoe een SLIP server en client opgezet kan worden en
+ hoe dat geconfigureerd wordt.</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>Voordat dit hoofdstuk gelezen wordt, moet u:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Bekend zijn met basis netwerk terminologie.</para>
+ </listitem>
+ <listitem>
+ <para>De basis en doeleinden van een inbel verbinding
+ en van PPP en/of SLIP.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>U kan zich afvragen wat het verschil is tussen gebruiker PPP
+ en kernel PPP. Het antwoord is simpel: gebruiker PPP verwerkt
+ inkomend en uitgaande data in het gebruiersland in plaats van
+ in de kerenl. Dit is duur in dezin van het kopieren van de
+ data tussen de kernel en het gebruikersland, maar levert een meer
+ rijke hoeveelheid aan mogelijkheden voor de PPP implementatie.
+ Gebruikers PPP gebruikt het <devicename>tun</devicename> apparaat
+ om te communiceren met de buitenwereld waar de kernel PPP gebruik
+ maakt van het <devicename>ppp</devicename> apparaat.</para>
- <para></para>
+ <note>
+ <para>Voor de rest van dit hoofdstuk, zal gebruiker PPP gerefereerd
+ worden als <application>ppp</application> tenzij er onderscheid
+ gemaakt moet worden met andere PPP software zoals
+ <application>pppd</application>. Tenzij anders vermeld moeten
+ alle uitgelegde command's in dit hoofdstuk gestart worden als
+ <username>root</username>.</para>
+ </note>
</sect1>
<sect1 id="userppp">
<sect1info>
<authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Geupdate en verbeterd door </contrib>
- </author>
+ <author>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ <contrib>Geupdate en uitgebreid door </contrib>
+ </author>
</authorgroup>
<authorgroup>
- <author>
- <firstname>Brian</firstname>
- <surname>Somers</surname>
+ <author>
+ <firstname>Brian</firstname>
+ <surname>Somers</surname>
<contrib>Origineel bijgedragen door </contrib>
- </author>
+ </author>
</authorgroup>
<authorgroup>
<author>
<firstname>Nik</firstname>
<surname>Clayton</surname>
- <contrib>Met input van </contrib>
- </author>
- <author>
+ <contrib>Met input van </contrib>
+ </author>
+ <author>
<firstname>Dirk</firstname>
- <surname>Frömberg</surname>
- </author>
- <author>
- <firstname>Peter</firstname>
- <surname>Childs</surname>
- </author>
+ <surname>Frömberg</surname>
+ </author>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Childs</surname>
+ </author>
</authorgroup>
</sect1info>
- <title>* Gebruikers PPP gebruiken</title>
+
+ <title>Gebruik maken van gebruiker PPP</title>
<sect2>
- <title>* Gebruikers PPP</title>
+ <title>Gebruiker PPP</title>
<sect3>
- <title>* Aannames Assumptions</title>
+ <title>Aannames</title>
+
+ <para>Dit document neemt aan dat u het volgende heeft:</para>
+
+ <itemizedlist>
+ <indexterm id="ppp-isp">
+ <primary>ISP</primary>
+ </indexterm>
+ <indexterm id="ppp-ppp2">
+ <primary>PPP</primary>
+ </indexterm>
+ <listitem>
+ <para>Een account bij een Internet Service Provider (ISP)
+ waarmee verbinding gemaakt wordt door mdidel van
+ PPP.</para>
+ </listitem>
+
+ <listitem>
+ <para>U heeft een modem of een ander apparaat verbonden
+ met uw pc en correct geconfigureerd wat het u mogelijk
+ maakt om verbinding te maken met uw ISP.</para>
+ </listitem>
+
+ <listitem>
+ <para>De inbel nummers van uw ISP.</para>
+ </listitem>
+
+ <indexterm id="ppp-pap">
+ <primary>PAP</primary>
+ </indexterm>
+ <indexterm id="ppp-chap">
+ <primary>CHAP</primary>
+ </indexterm>
+ <indexterm id="ppp-unix">
+ <primary>UNIX</primary>
+ </indexterm>
+ <indexterm id="ppp-login">
+ <primary>login naam</primary>
+ </indexterm>
+ <indexterm id="ppp-password">
+ <primary>wachtwoord</primary>
+ </indexterm>
+ <listitem>
+ <para>Uw loginnaam en wachtwoord (danwel een standaard &unix;
+ style login en wachtwoord combinatie of een PAP of CHAP
+ login en password combinatie).</para>
+ </listitem>
+
+ <indexterm id="ppp-nameserver">
+ <primary>naamserver</primary>
+ </indexterm>
+ <listitem>
+ <para>Het IP adres van één of meerdere naam
+ servers. Normaal gesproken krijgt u twee IP adressen van
+ uw ISP om te gebruiken. Als u er echter geen
+ één gekregen heeft, kunt u het commando
+ <command>enable dns</command> gebruiken in
+ <filename>ppp.conf</filename> en
+ <application>ppp</application> zal de naam servers voor
+ u configureren. Deze optie is afhankelijk van de PPP
+ implementatie van de ISP, welke DNS onderhandeling
+ moet ondersteunen.</para>
+ </listitem>
+ </itemizedlist>
+
+ <parA>De volgende informatie kan aangeleverd worden door uw
+ ISP maar is niet volledig noodzakelijk:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Het IP adres van uw ISP's doorgang. De doorgang is
+ de machine waarmee u verbinding maakt en welke ingesteld
+ wordt als de <emphasis>standaard route</emphasis>. Als
+ u deze informatie niet heeft, kunt u een willekeurig
+ adres verzinnen en zal de ISP PPP server het juiste adres
+ vertellen zodra u verbinding maakt.</para>
+
+ <para>Dit wordt IP adres wordt door
+ <application>ppp</application> <literal>HISADDR</literal>
+ genoemd.</para>
+ </listitem>
+
+ <listitem>
+ <para>Het netmasker wat gebruikt moet worden. Als uw ISP
+ deze niet heeft opgegeven, kan <hostid
+ role="netmask">255.255.255.255</hostid> veilig gebruikt
+ worden.</para>
+ </listitem>
+
+ <indexterm id="ppp-static-ip">
+ <primary>statisch ip adres</primary>
+ </indexterm>
+ <listitem>
+ <para>Als uw ISP een vast IP adres en hostname levert, kunt
+ u dit invoeren. In andere gevallen laten bepaalt de
+ andere kant welk adres er uitgegeven wordt.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Als u niet in bezit bent van de vereiste informatie, moet
+ u contact opnemen met uw ISP.</para>
+
+ <note>
+ <para>Door de rest van dit hoofdstuk worden veel van de
+ voorbeelden van configuratie bestanden genummerd per
+ regel. Deze nummers dienen alleen als hulp voor de
+ presentatie en discussie en zijn niet bedoeld om
+ daadwerkelijk in het echte bestand geplaatst te worden.
+ Juiste identatie met tabs en spaties zijn ook
+ belangrijk.</para>
+ </note>
- <para></para>
</sect3>
<sect3>
- <title>* Creeëren van PPP device nodes</title>
+ <title>Automatische <application>PPP</application> configuratie</title>
+
+ <indexterm>
+ <primary>PPP</primary>
+ <secondary>configuratie</secondary>
+ </indexterm>
- <para></para>
- </sect3>
+ <para>zowel <command>ppp</command> en <command>pppd</command>
+ (de implementatie van PPP op kernel niveau) gebruiken de
+ configuratie bestanden die zich in de
+ <filename>/etc/ppp</filename> directory bevinden. Voorbeelden
+ van gebruiker PPP kunnen gevonden worden in
+ <filename>/usr/share/examples/ppp/</filename>.</para>
- <sect3>
- <title>* Automatische <application>PPP</application>
- configuratie</title>
+ <para>Het configureren van <command>ppp</command> vereist
+ dat u een aantal bestanden bewerkt, afhankelijk van uw
+ eisen. Wat u moet invoeren is deels afhankelijk van wat
+ uw ISP u aanbied met oog op statische IP adressen (lees u
+ krijgt een statisch adres welke u altijd gebruikt) of
+ dynamisch (lees: uw IP adres veranderd elke keer als
+ u verbinding maakt met uw ISP).</para>
<sect4 id="userppp-staticIP">
- <title>* PPP en statische ip adressen</title>
+ <title>PPP en statische ip adressen</title>
+
+ <indexterm>
+ <primary>PPP</primary>
+ <secondary>met statische IP adressen</secondary>
+ </indexterm>
+
+ <para>U moet het <filename>/etc/ppp/ppp.conf</filename>
+ bewerken. Het zou er dan als volgend uit moeten zien:</para>
+
+ <note>
+ <para>Regels die eindigen met een <literal>:</literal>
+ starten in de eerste kolom (het begin vande regel)
+ — alle andere regels moeten inspringen zoals
+ getoond door middel van spaties of tabs.</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/cuad0
+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>Regel 1:</term>
+
+ <listitem>
+ <para>Dit identificeert de standaard regel. Commando's
+ in deze regel worden automatisch gestart zodra
+ ppp gestart wordt.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 2:</term>
+
+ <listitem>
+ <para>Zet log paramaters aan. Zodra de configuratie
+ naar verwachting werkt, moet deze regel gereduceerd
+ worden tot:</para>
+
+ <programlisting>set log phase tun</programlisting>
+
+ <para>om te voorkomen dat er extreem grote log files
+ komen.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 3:</term>
+
+ <listitem>
+ <para>Vertelt PPP hoe het zichzelf moet identificeren
+ aan de andere kant. PPP identificeert zichzelf aan
+ de andere kant, als het problemen heeft met het
+ onderhandelen en het opzetten van de link en het
+ leveren van informatie die de beheerders van de andere
+ kant nuttig kunnen vinden om zulke problemen te
+ onderzoeken.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 4:</term>
+
+ <listitem>
+ <para>Identificeert het apparaat waaraan de model
+ verbonden is. <devicename>COM1</devicename> is
+ <filename>/dev/cuad0</filename>
+ en
+ <devicename>COM2</devicename> is
+ <filename>/dev/cuad1</filename>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 5:</term>
+
+ <listitem>
+ <para>Stelt de snelheid in waarmee verbinding gemaakt
+ wordt. Als 115200 niet werkt (wat wel zou moeten
+ kunnen met elke nieuwe modem), probeert u dan de
+ instelling van 38400.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regels 6 & 7:</term>
+
+ <indexterm>
+ <primary>PPP</primary>
+ <secondary>gebruiker PPP</secondary>
+ </indexterm>
+
+ <listitem>
+ <para>De inbel regel. Gebruiker PPP gebruikt een
+ verwachting-verstuur syntax wat vergelijkbaar is
+ met het &man.chat.8; programma. Bekijk de handleiding
+ voor meer informatie over de mogelijkheden van deze
+ taal.</para>
+
+ <para>Let op dat dit commando doorgaat op de volgende
+ regel zodat deze leesbaar blijft. Elk commando in
+ <filename>ppp.conf</filename> kan dit doen als het
+ laatste karakter op een regel, het ``\'' karakter
+ is.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 8:</term>
+
+ <listitem>
+ <para>Stelt de idle timeout in voor een link. 180
+ seconden is de standaard, dus deze regel is puur
+ cosmetisch.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 9:</term>
+
+ <listitem>
+ <para>Vertelt PPP om de andere kant te vragen om een
+ bevestiging van de lokale opzoek instellingen. Als
+ u een lokale naam server draait moet deze regel
+ uitgecommentarieerd worden, of verwijderd.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 10:</term>
+
+ <listitem>
+ <para>Een blanco regel voor de leesbaarheid. Blanco
+ regels worden genegeerd door PPP.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 11:</term>
+
+ <listitem>
+ <para>Identificeert een sectie voor een provider die
+ <quote>provider</quote> genoemd wordt. Dit kan
+ gewijzigd worden in de naam van uw zodat er later
+ gebruik gemaakt van worden van de optie
+ <option>load <replaceable>ISP</replaceable></option>
+ om de verbinding te starten.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regel 12:</term>
+
+ <listitem>
+ <para>Stelt het telefoonnummer in voor deze provider.
+ Meerdere telefoonnummers kunnen gespecificeerd worden
+ door gebruik te maken van de dubbele punt
+ (<literal>:</literal>) of het pipe karakter
+ (<literal>|</literal>) als scheidingsteken. Het
+ verschil tussen de twee scheidingstekens wordt
+ beschreven in de &man.ppp.8; handleiding.
+ Om samen te vatten, als u wilt roteren tussen de
+ nummers gebruikt u dan een dubbelepunt. Als u altijd
+ het eerste nummer eerst wilt draaien en alleen de
+ andere nummers wilt draaien als het eerste nummer
+ faalt, gebruik dan het pipe karakter. Quote altijd
+ de hele set van telefoonnummers zoals getoond.</para>
+
+ <para>U moet het telefoonnummer citeren met dubbele quotes
+ (<literal>"</literal>) als er enige intentie is in het
+ gebruik van spaties in het telefoonummer. Dit kan een
+ simpele, maar subtiele error creeëren.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regels 13 & 14:</term>
+
+ <listitem>
+ <para>Identificeert de gebruikersnaam en het
+ wachtwoord. Wanneer gebruik gemaakt wordt van een
+ &unix; style login worden deze waarden verwezen
+ door het <command>set login</command> commando door
+ gebruik te maken van de \U en \P variabelen.
+ Wanneer er verbinding gemaakt wordt door PPP en CHAP
+ worden deze waardes gebruikt tijdens het
+ authenticeren.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Regels 15:</term>
+
+ <listitem>
+ <indexterm><primary>PAP</primary></indexterm>
+ <indexterm><primary>CHAP</primary></indexterm>
+ <para>Als u gebruik maakt van PPP en CHAP, zal er geen
+ login op dit moment zijn, en moet deze regel
+ uitgecommentarieerd worden of verwijderd. Zie het
+ <link linkend="userppp-PAPnCHAP">PAP en CHAP
+ authenticatie</link> hoofdstuk voor meer details.</para>
+
+ <para>De login string is hetzelfde als een chat-achtige
+ syntax van de inbel string. In dit voorbeeld werkt
+ de string voro een dienst wiens login sessie als
+ volgt eruit ziet:</para>
+
+ <screen>J. Random Provider
+login: <replaceable>foo</replaceable>
+password: <replaceable>bar</replaceable>
+protocol: ppp</screen>
+
+ <para>You will need to alter this script to suit your
+ own needs. When you write this script for the first
+ time, you should ensure that you have enabled
+ <quote>chat</quote> logging so you can determine if
+ the conversation is going as expected.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Line 16:</term>
+
+ <indexterm><primary>timeout</primary></indexterm>
+ <listitem>
+ <para>Sets the default idle timeout (in seconds) for the
+ connection. Here, the connection will be closed
+ automatically after 300 seconds of inactivity. If you
+ never want to timeout, set this value to zero or use
+ the <option>-ddial</option> command line switch.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Line 17:</term>
+ <indexterm><primary>ISP</primary></indexterm>
+ <listitem>
+ <para>Sets the interface addresses. The string
+ <replaceable>x.x.x.x</replaceable> should be
+ replaced by the IP address that your provider has
+ allocated to you. The string
+ <replaceable>y.y.y.y</replaceable> should be
+ replaced by the IP address that your ISP indicated
+ for their gateway (the machine to which you
+ connect). If your ISP has not given you a gateway
+ address, use <hostid
+ role="netmask">10.0.0.2/0</hostid>. If you need to
+ use a <quote>guessed</quote> address, make sure that
+ you create an entry in
+ <filename>/etc/ppp/ppp.linkup</filename> as per the
+ instructions for <link
+ linkend="userppp-dynamicIP">PPP and Dynamic IP
+ addresses</link>. If this line is omitted,
+ <command>ppp</command> cannot run in
+ <option>-auto</option> mode.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Line 18:</term>
+
+ <listitem>
+ <para>Adds a default route to your ISP's gateway. The
+ special word <literal>HISADDR</literal> is replaced with
+ the gateway address specified on line 17. It is
+ important that this line appears after line 17,
+ otherwise <literal>HISADDR</literal> will not yet be
+ initialized.</para>
+
+ <para>If you do not wish to run ppp in <option>-auto</option>,
+ this line should be moved to the
+ <filename>ppp.linkup</filename> file.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>It is not necessary to add an entry to
+ <filename>ppp.linkup</filename> when you have a static IP
+ address and are running ppp in <option>-auto</option> mode as your
+ routing table entries are already correct before you connect.
+ You may however wish to create an entry to invoke programs after
+ connection. This is explained later with the sendmail
+ example.</para>
- <para></para>
+ <para>Example configuration files can be found in the
+ <filename>/usr/share/examples/ppp/</filename> directory.</para>
</sect4>
<sect4 id="userppp-dynamicIP">
- <title>* PPP en dynamische ip adressen</title>
+ <title>PPP and Dynamic IP Addresses</title>
+
+ <indexterm>
+ <primary>PPP</primary>
+ <secondary>with dynamic IP addresses</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>IPCP</primary>
+ </indexterm>
+
+ <para>If your service provider does not assign static IP
+ addresses, <command>ppp</command> can be configured to
+ negotiate the local and remote addresses. This is done by
+ <quote>guessing</quote> an IP address and allowing
+ <command>ppp</command> to set it up correctly using the IP
+ Configuration Protocol (IPCP) after connecting. The
+ <filename>ppp.conf</filename> configuration is the same as
+ <link linkend="userppp-staticIP">PPP and Static IP
+ Addresses</link>, with the following change:</para>
+
+ <programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255</programlisting>
+
+ <para>Again, do not include the line number, it is just for
+ reference. Indentation of at least one space is
+ required.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Line 17:</term>
+
+ <listitem>
+ <para>The number after the <literal>/</literal> character
+ is the number of bits of the address that ppp will
+ insist on. You may wish to use IP numbers more
+ appropriate to your circumstances, but the above example
+ will always work.</para>
+
+ <para>The last argument (<literal>0.0.0.0</literal>) tells
+ PPP to start negotiations using address <hostid
+ role="ipaddr">0.0.0.0</hostid> rather than <hostid
+ role="ipaddr">10.0.0.1</hostid> and is necessary for some
+ ISPs. Do not use <literal>0.0.0.0</literal> as the first
+ argument to <command>set ifaddr</command> as it prevents
+ PPP from setting up an initial route in
+ <option>-auto</option> mode.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>If you are not running in <option>-auto</option> mode, you
+ will need to create an entry in
+ <filename>/etc/ppp/ppp.linkup</filename>.
+ <filename>ppp.linkup</filename> is used after a connection has
+ been established. At this point, <command>ppp</command> will
+ have assigned the interface addresses and it will now be
+ possible to add the routing table entries:</para>
+
+ <programlisting>1 provider:
+2 add default HISADDR</programlisting>
+
+ <variablelist>
+ <varlistentry>
+ <term>Line 1:</term>
+
+ <listitem>
+ <para>On establishing a connection,
+ <command>ppp</command> will look for an entry in
+ <filename>ppp.linkup</filename> according to the
+ following rules: First, try to match the same label
+ as we used in <filename>ppp.conf</filename>. If
+ that fails, look for an entry for the IP address of
+ our gateway. This entry is a four-octet IP style
+ label. If we still have not found an entry, look
+ for the <literal>MYADDR</literal> entry.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Line 2:</term>
+
+ <listitem>
+ <para>This line tells <command>ppp</command> to add a
+ default route that points to
+ <literal>HISADDR</literal>.
+ <literal>HISADDR</literal> will be replaced with the
+ IP number of the gateway as negotiated by the
+ IPCP.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
- <para></para>
+ <para>See the <literal>pmdemand</literal> entry in the files
+ <filename>/usr/share/examples/ppp/ppp.conf.sample</filename>
+ and
+ <filename>/usr/share/examples/ppp/ppp.linkup.sample</filename>
+ for a detailed example.</para>
</sect4>
<sect4>
- <title>* Inkomende telefoontjes ontvangen</title>
+ <title>Receiving Incoming Calls</title>
+
+ <indexterm>
+ <primary>PPP</primary>
+ <secondary>receiving incoming calls</secondary>
+ </indexterm>
+
+ <para>When you configure <application>ppp</application> to
+ receive incoming calls on a machine connected to a LAN, you
+ must decide if you wish to forward packets to the LAN. If you
+ do, you should allocate the peer an IP number from your LAN's
+ subnet, and use the command <command>enable proxy</command> in
+ your <filename>/etc/ppp/ppp.conf</filename> file. You should
+ also confirm that the <filename>/etc/rc.conf</filename> file
+ contains the following:</para>
- <para></para>
+ <programlisting>gateway_enable="YES"</programlisting>
</sect4>
- <sect4>
- <title>* Welke getty?</title>
+ <sect4>
+ <title>Which getty?</title>
+
+ <para><link linkend="dialup">Configuring FreeBSD for Dial-up
+ Services</link> provides a good description on enabling
+ dial-up services using &man.getty.8;.</para>
+
+ <para>An alternative to <command>getty</command> is <ulink
+ url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>,
+ a smarter version of <command>getty</command> designed
+ with dial-up lines in mind.</para>
+
+ <para>The advantages of using <command>mgetty</command> is
+ that it actively <emphasis>talks</emphasis> to modems,
+ meaning if port is turned off in
+ <filename>/etc/ttys</filename> then your modem will not answer
+ the phone.</para>
+
+ <para>Later versions of <command>mgetty</command> (from
+ 0.99beta onwards) also support the automatic detection of
+ PPP streams, allowing your clients script-less access to
+ your server.</para>
+
+ <para>Refer to <link linkend="userppp-mgetty">Mgetty and
+ AutoPPP</link> for more information on
+ <command>mgetty</command>.</para>
+ </sect4>
+
+ <sect4>
+ <title><application>PPP</application> Permissions</title>
+
+ <para>The <command>ppp</command> command must normally be
+ run as the <username>root</username> user. If however,
+ you wish to allow <command>ppp</command> to run in
+ server mode as a normal user by executing
+ <command>ppp</command> as described below, that user
+ must be given permission to run <command>ppp</command>
+ by adding them to the <groupname>network</groupname> group
+ in <filename>/etc/group</filename>.</para>
+
+ <para>You will also need to give them access to one or more
+ sections of the configuration file using the
+ <command>allow</command> command:</para>
+
+ <programlisting>allow users fred mary</programlisting>
+
+ <para>If this command is used in the <literal>default</literal>
+ section, it gives the specified users access to
+ everything.</para>
+ </sect4>
+
+ <sect4>
+ <title>PPP Shells for Dynamic-IP Users</title>
+
+ <indexterm>
+ <primary>PPP shells</primary>
+ </indexterm>
+
+ <para>Create a file called
+ <filename>/etc/ppp/ppp-shell</filename> containing the
+ following:</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>This script should be executable. Now make a symbolic
+ link called <filename>ppp-dialup</filename> to this script
+ using the following commands:</para>
+
+ <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen>
+
+ <para>You should use this script as the
+ <emphasis>shell</emphasis> for all of your dialup users.
+ This is an example from <filename>/etc/passwd</filename>
+ for a dialup PPP user with username
+ <username>pchilds</username> (remember do not directly edit
+ the password file, use &man.vipw.8;).</para>
+
+ <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting>
+
+ <para>Create a <filename>/home/ppp</filename> directory that
+ is world readable containing the following 0 byte
+ files:</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>which prevents <filename>/etc/motd</filename> from being
+ displayed.</para>
+ </sect4>
+
+ <sect4>
+ <title>PPP Shells for Static-IP Users</title>
+
+ <indexterm>
+ <primary>PPP shells</primary>
+ </indexterm>
+
+ <para>Create the <filename>ppp-shell</filename> file as above,
+ and for each account with statically assigned IPs create a
+ symbolic link to <filename>ppp-shell</filename>.</para>
+
+ <para>For example, if you have three dialup customers,
+ <username>fred</username>, <username>sam</username>, and
+ <username>mary</username>, that you route /24 CIDR networks
+ for, you would type the following:</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>Each of these users dialup accounts should have their
+ shell set to the symbolic link created above (for example,
+ <username>mary</username>'s shell should be
+ <filename>/etc/ppp/ppp-mary</filename>).</para>
+ </sect4>
+
+ <sect4>
+ <title>Setting Up <filename>ppp.conf</filename> for Dynamic-IP
+ Users</title>
+
+ <para>The <filename>/etc/ppp/ppp.conf</filename> file should
+ contain something along the lines of:</para>
+
+ <programlisting>default:
+ set debug phase lcp chat
+ set timeout 0
+
+ttyd0:
+ set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255
+ enable proxy
+
+ttyd1:
+ set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255
+ enable proxy</programlisting>
+
+ <note>
+ <para>The indenting is important.</para>
+ </note>
+
+ <para>The <literal>default:</literal> section is loaded for
+ each session. For each dialup line enabled in
+ <filename>/etc/ttys</filename> create an entry similar to
+ the one for <literal>ttyd0:</literal> above. Each line
+ should get a unique IP address from your pool of IP
+ addresses for dynamic users.</para>
+ </sect4>
+
+ <sect4>
+ <title>Setting Up <filename>ppp.conf</filename> for Static-IP
+ Users</title>
+
+ <para>Along with the contents of the sample
+ <filename>/usr/share/examples/ppp/ppp.conf</filename>
+ above you should add a section for each of the
+ statically assigned dialup users. We will continue with
+ our <username>fred</username>, <username>sam</username>,
+ and <username>mary</username> example.</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>The file <filename>/etc/ppp/ppp.linkup</filename>
+ should also contain routing information for each static
+ IP user if required. The line below would add a route
+ for the <hostid role="ipaddr">203.14.101.0/24</hostid>
+ network via the client's ppp link.</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
- <para></para>
+mary:
+ add 203.14.103.0 netmask 255.255.255.0 HISADDR</programlisting>
</sect4>
- <sect4>
- <title>* <application>PPP</application> permissies</title>
+ <sect4 id="userppp-mgetty">
+ <title><command>mgetty</command> and AutoPPP</title>
+
+ <indexterm>
+ <primary><command>mgetty</command></primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>AutoPPP</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>LCP</primary>
+ </indexterm>
+
+ <para>Configuring and compiling <command>mgetty</command>
+ with the <literal>AUTO_PPP</literal> option enabled
+ allows <command>mgetty</command> to detect the LCP phase
+ of PPP connections and automatically spawn off a ppp
+ shell. However, since the default login/password
+ sequence does not occur it is necessary to authenticate
+ users using either PAP or CHAP.</para>
+
+ <para>This section assumes the user has successfully
+ configured, compiled, and installed a version of
+ <command>mgetty</command> with the
+ <literal>AUTO_PPP</literal> option (v0.99beta or
+ later).</para>
+
+ <para>Make sure your
+ <filename>/usr/local/etc/mgetty+sendfax/login.config</filename>
+ file has the following in it:</para>
+
+ <programlisting>/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting>
+
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list