Date: Fri, 15 Aug 2008 13:31:49 GMT From: Remko Lodder <remko@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 147448 for review Message-ID: <200808151331.m7FDVn4X092096@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=147448 Change 147448 by remko@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) <<<
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808151331.m7FDVn4X092096>