diff options
Diffstat (limited to 'share/doc/handbook/userppp.sgml')
-rw-r--r-- | share/doc/handbook/userppp.sgml | 751 |
1 files changed, 0 insertions, 751 deletions
diff --git a/share/doc/handbook/userppp.sgml b/share/doc/handbook/userppp.sgml deleted file mode 100644 index 1bc7aae..0000000 --- a/share/doc/handbook/userppp.sgml +++ /dev/null @@ -1,751 +0,0 @@ -<!-- $Id: userppp.sgml,v 1.16 1997/05/12 16:29:48 brian Exp $ --> -<!-- The FreeBSD Documentation Project --> - -<sect>Setting up user PPP<label id="userppp"> - -<!-- This FAQ/HowTo is intended to get you up and running with - iijppp, also known as <em>user level ppp</em> or just - simply <em>ppp</em> for FreeBSD 2.0.5 and above. - -<p>It also outlines how to use iijppp as a ppp server. - -<p>This document has originally written by Nik Clayton, and has - turned into a collaborative effort over the years. - ---> - -<p>User PPP was introduced to FreeBSD in release 2.0.5 as an - addition to the existing kernel implementation of PPP. So, - what is different about this new PPP that warrants its - addition? To quote from the manual page: - -<quote> - This is a user process PPP software package. Normally, PPP is - implemented as a part of the kernel (e.g. as managed by pppd) and - it is thus somewhat hard to debug and/or modify its behavior. However, - in this implementation PPP is done as a user process with the help of - the tunnel device driver (tun). -</quote> - - In essence, this means that rather than running a PPP daemon, the ppp - program can be run as and when desired. No PPP interface needs to be - compiled into the kernel, as the program can use the generic tunnel - device to get data into and out of the kernel. - - From here on out, user ppp will be referred to simply as ppp unless a - distinction needs to be made between it and any other PPP client/server - software. Unless otherwise stated, all commands in this section should - be executed as root. - -<sect1><heading>Before you start</heading> - -<p>This document assumes you are in roughly this position: - - You have an account with an Internet Service Provider (ISP) which lets you - use PPP. Further, you have a modem (or other device) connected and - configured correctly which allows you to connect to your ISP. - - You are going to need the following information to hand: - -<itemize> - <item>The IP address of your ISP's gateway. The gateway is the - machine to which you will connect and will - be set up as your <tt>default route</tt>. - - <item>Your ISP's netmask setting. If you can't determine this, - assume a netmask of 0xffffff00. - - <item>The IP addresses of one or more nameservers. Normally, you - will be given two IP numbers. - - <item>If your ISP allocates you a static IP address and/or hostname - then you will need that as well. If not, you will need to know - from what range of IP addresses your allocated IP address will - belong. If you havn't been given this range, you can accept - any IP number (as explained later). -</itemize> - - If you do not have any of this information then contact your ISP and make - sure they provide it to you. - - In addition, it is assumed that because your connection to the - Internet is not full time you are not running a name server - (<tt>named(8)</tt>). If this is not the case, ignore any - information on setting up the <tt>/etc/resolv.conf</tt> file. - -<sect1><heading>Building a ppp ready kernel</heading> - -<p>As the description states, ``ppp'' uses the kernel ``tun'' device. - It is necessary to make sure that your kernel has support for this - device compiled in. - - To check this, go to your kernel compile directory (probably - /sys/i386/conf) and examine your kernel configuration file. - It needs to have the line - -<tscreen><verb> - pseudo-device tun 1 -</verb></tscreen> - - in it somewhere. The stock GENERIC kernel has this as standard, so - if you have not installed a custom kernel or you do not have a /sys - directory, you do not have to change anything. - If your kernel configuration file does not have this line in it, or - you need to configure more than one tun device (for example, if - you are setting up a server and could have 16 dialup ppp connections - at any one time then you will need to use ``16'' instead of ``1''), - then you should add the line, re-compile, re-install and boot the new - kernel. Please refer to the - <ref id="kernelconfig" name="Configuring the FreeBSD Kernel"> - section for more information on kernel configuration. - -<p>You can check how many tunnel devices your current kernel has by - typing the following: - -<tscreen><verb> - # ifconfig -a - tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 - inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff - tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576 - tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 - inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff - tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500 -</verb></tscreen> - - which in this case shows four tunnel devices, two of which are - currently configured and being used. - -<p>If you have a kernel without the tun device, and you can not - rebuild it for some reason, all is not lost. You should be - able to dynamically load the code. Refer to the appropriate - modload(8) and lkm(4) pages for further details. - -<p>You may also wish to take this opportunity to configure a firewall. - Details can be found in the <ref id="firewalls" name="Firewalls"> - section. - -<sect1><heading>Check the tun device</heading> - -<p>Most users will only require one ``tun'' device (tun0). If you have - used more (i.e., a number other than `1' in the pseudo-device line - in the kernel configuration file) then alter all references to ``tun0'' - below to reflect whichever device number you are using. - - The easiest way to make sure that the tun0 device is configured correctly - is to re-make it. To this end, execute the following commands: - -<tscreen><verb> - # cd /dev - # ./MAKEDEV tun0 -</verb></tscreen> - -<p>If you require 16 tunnel devices in your kernel, you will need to - create more than just tun0: - -<tscreen><verb> - # cd /dev - # ./MAKEDEV tun0 tun1 tun2 tun3 tun4 tun5 tun6 tun7 tun8 tun9 - # ./MAKEDEV tun10 tun11 tun12 tun13 tun14 tun15 -</verb></tscreen> - -<p>Also, to confirm that the kernel is configured correctly, - the following command should give the indicated output: - -<tscreen><verb> - $ ifconfig tun0 - tun0: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500 - $ -</verb></tscreen> - -<sect1><heading>PPP Name Resolution Configuration</heading> - -<p>The resolver is the part of the networking system that turns IP - addresses into hostnames and vice versa. It can be configured - to look for maps that describe IP to hostname mappings in one - of two places. The first is a file called <tt>/etc/hosts</tt> - (<tt>man 5 hosts</tt>). The second is the Internet Domain Name - Service (DNS), a distributed data base, the discussion of which - is beyond the scope of this document. - -<p>This section describes briefly how to configure your resolver. If - you are already running a DNS, this section may be skipped. - -<p>The resolver is a set of system calls that do the name mappings, but - you have to tell them where to get their information from. You do - this by first editing the file <tt>/etc/host.conf</tt>. Do - <bf>not</bf> call this file <tt>/etc/hosts.conf</tt> (note the extra - ``s'') as the results can be confusing. - -<sect2><heading>Edit the /etc/host.conf file</heading> - -<p>This file should contain the following two lines: - -<tscreen><verb> - hosts - bind -</verb></tscreen> - which instructs the resolver to first look in the file - <tt>/etc/hosts</tt>, and then to consult the DNS if the - name was not found. - -<sect2><heading>Edit the /etc/hosts(5) file</heading> - -<p>This file should contain the IP addresses and names of machines on your - network. At a bare minimum it should contain entries for the machine - which will be running ppp. Assuming that your machine is called - foo.bar.com with the IP address 10.0.0.1, <tt>/etc/hosts</tt> should - contain: - -<tscreen><verb> - 127.0.0.1 localhost - 10.0.0.1 foo.bar.com foo -</verb></tscreen> - - The first line defines the alias ``localhost'' as a synonym for the - current machine. Regardless of your own IP address, the IP address for - this line should always be 127.0.0.1. The second line maps the name - ``foo.bar.com'' (and the shorthand ``foo'') to the IP address 10.0.0.1. - - If your provider allocates you a static IP address then use this in place - of 10.0.0.1. - -<sect2><heading>Edit the /etc/resolv.conf file</heading> - -<p><tt>/etc/resolv.conf</tt> contains some extra information required when - you are not running a nameserver. It points the resolver routines at real - nameservers, and specifies some other information. - - At the very least, <tt>/etc/resolv.conf</tt> should contain one line with - a nameserver which can be queried, but two nameservers are preferable. - You should enter these as IP addresses, for example: - -<tscreen><verb> - nameserver 1.2.3.4 - nameserver 1.2.3.5 -</verb></tscreen> - - Add as many ``nameserver'' lines as your ISP provides nameservers. - Refer to the resolv.conf manual page for further details of entries - in this file. - -<sect1><heading>PPP Configuration</heading> - -<p>Both user ppp and pppd (the kernel level implementation of PPP) - use configuration files located in the <tt>/etc/ppp</tt> directory. - The sample configuration files provided are a good reference for - user ppp, so don't delete them. - -<p>Configuring ppp requires that you edit up to three files, depending - on your requirements. What you put in them depends to some extent - on whether your ISP allocates IP addresses statically (i.e., you get - given one IP address, and always use that one) or dynamically (i.e., - your IP address can be different during different PPP sessions). - -<sect2><heading>PPP and static IP addresses</heading> - -<p>You will need to create three files in the <tt>/etc/ppp</tt> - directory. - -<p>The first of these files is <tt>ppp.conf</tt>. It should look - similar to the example below. Note that lines that end in a - ``:'' start in column 1, all other lines should be indented as - shown using spaces or tabs. - - <tt>/etc/ppp/ppp.conf</tt> -<tscreen><verb> -1 default: -2 set device /dev/cuaa0 -3 set speed 38400 -4 set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0 OK-AT-OK -\\dATDT\\T TIMEOUT 40 CONNECT" -5 provider: -6 set phone 01234567890 -7 set login "TIMEOUT 10 gin:-BREAK-gin: foo word: bar col: ppp" -8 set timeout 120 -9 set ifaddr x.x.x.x y.y.y.y -10 delete ALL -11 add 0 0 y.y.y.y -12 set openmode active -</verb></tscreen> - Do not include the line numbers, they are just for reference in - this discussion. - -<descrip> -<tag/Line 1:/ Identifies the default entry. Commands in this entry are - executed automatically when ppp is run. - -<tag/Line 2:/ Identifies the device to which the modem is connected. - COM1: is <tt>/dev/cuaa0</tt> and COM2: is <tt>/dev/cuaa1</tt>. - -<tag/Line 3:/ Sets the speed you want to connect at. - -<tag/Line 4:/ The dial string. User ppp uses an expect-send syntax similar - to the <tt>chat(8)</tt> program. Refer to the manual page - for information on the features of this language. - -<tag/Line 5:/ Identifies an entry for a provider called ``provider''. - -<tag/Line 6:/ Sets the phone number for this provider. Multiple phone - numbers may be specified using the `:' character as a - seperator. - -<tag/Line 7:/ The login string. The login string is of the same - syntax as the dial string. In this example, the string is - for a service who's login session looks like - -<tscreen><verb> - J. Random Provider - login: foo - password: bar - protocol: ppp -</verb></tscreen> - - You will need to alter this script to suit your own needs. - -<tag/Line 8:/ Sets the default timeout (in seconds) for the connection. - Here, the connection will be closed automatically after - 120 seconds of inactivity. - -<tag/Line 9:/ Sets the interface addresses. The string x.x.x.x should be - replaced by the IP address that your provider allocates you. - The string y.y.y.y should be replaced by the IP address that - your ISP indicated for their gateway (the machine to which - you connect). - -<tag/Line 10:/ Deletes all existing routing table entries for the - acquired tun device. - -<tag/Line 11:/ Adds a default route to your ISPs IP number. The IP - number should always be that of your ISPs gateway. - -<tag/Line 12:/ Tells our side to begin negotiation. This is not always - necessary, but it does no harm to have both sides initiating - the Line Control Protocol (LCP). -</descrip> - -<p>The second of these files is <tt>/etc/ppp/ppp.linkup</tt>: - -<tscreen><verb> - x.x.x.x: - delete ALL - add 0 0 HISADDR -</verb></tscreen> - -<p>Replace x.x.x.x with your IP address as before. This file is used to - automatically delete all existing routes for the acquired line and - add a default route from your ISP (who's address is automatically - inserted with the HISADDR macro) to you. - -<p>With a static IP number assigned by your ISP, you don't actually - need an entry in <tt>/etc/ppp.linkup</tt>, but again, it doesn't - do any harm to have it. - -<p>Finally, the third of these files is <tt>/etc/ppp/ppp.secret</tt>. - This file allows you to set some passwords to control access to - your ppp server. You may or may not want to configure this file, - depending on how many people have access to your ppp system. - -<p>Examples can be found in the <tt>/etc/ppp</tt> directory. - -<sect2><heading>PPP and Dynamic IP addresses</heading> - -<p>If your service provider does not assign static IP numbers, - <tt>ppp</tt> can be configured to negotiate the local and - remote addresses. This is done by "guessing" an IP number - and allowing ppp to set it up correctly using the LCP at - connection time. Otherwise, the configuration is the same as - that of a static IP configuration. - -<p>Put the following lines in your <tt>ppp.conf</tt> file: - -<tscreen><verb> - ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 - delete ALL - add 0 0 10.0.0.2 -</verb></tscreen> - -<p>You should NOT use 0 as either IP address. If you do, ppp will not be - able to set up the correct initial entries in the routing table. - -<p>The number after the ``/'' character is the number of bits of - the address that ppp will insist on. - -<p>Note also that the HISADDR macro is not yet available in - <tt>ppp.conf</tt>, only in <tt>ppp.linkup</tt>. - -<p>See the pmdemand entry in the files <tt>/etc/ppp/ppp.conf.sample</tt> and - <tt>/etc/ppp/ppp.linkup.sample</tt> for a detailed example. - -<sect2><heading>Receiving incoming calls with PPP</heading> - -<p>This section describes setting up iijppp in a server role. - -<p>When you configure <tt>ppp</tt> to receive incoming calls, you - must decide whether you wish to forward packets for just - <tt>ppp</tt> connections, for all interfaces, or not at all. - To forward for just ppp connections, include the line - -<tscreen><verb> - enable proxy -</verb></tscreen> - - in your <tt>ppp.conf</tt> file. If you wish to forward packets on all - interfaces, use the - -<tscreen><verb> - gateway=YES -</verb></tscreen> - - option in <tt>/etc/rc.conf</tt> (this file used to be called - <tt>/etc/sysconfig</tt>). - -<sect3><heading>Which getty?</heading> - -<p><ref id="dialup" name="Configuring FreeBSD for Dialup Services"> - provides a good description on enabling dialup services using getty. - -<p>An alternative to getty is - <url url="http://www.leo.org/~doering/mgetty/index.html" name="mgetty">, - a smarter version of getty designed with dialup lines in mind. - -<p>The advantages of using mgetty is that it actively <em>talks</em> to - modems, meaning if port is turned off in <tt>/etc/ttys</tt> then - your modem won't answer the phone. - -<p>Later versions of mgetty (from 0.99beta onwards) also support the - automatic detection of PPP streams, allowing your clients script-less - access to your server. - -<p>Obtaining and configuring mgetty correctly is beyond the scope of - this document. - -<sect3><heading>Setting up a PPP shell for dynamic-IP users</heading> - -<p>Create a file called <tt>/etc/ppp/ppp-shell</tt> containing the - following: - -<tscreen><verb> - #!/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 -</verb></tscreen> - -<p>This script should be executable. Now make a symbolic link called - <tt>ppp-dialup</tt> to this script using the following commands: - -<tscreen><verb> - # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-dialup -</verb></tscreen> - -<p>You should use this script as the <em>shell</em> for all your dialup - ppp users. This is an example from <tt>/etc/password</tt> - for a dialup PPP user with username pchilds. (remember don't directly - edit the password file, use <tt>vipw</tt>) - -<tscreen><verb> - pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup -</verb></tscreen> - -<p>Create a <tt>/home/ppp</tt> directory that is world readable - containing the following 0 byte files - -<tscreen><verb> - -r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin - -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts -</verb></tscreen> - - which prevents <tt>/etc/motd</tt> from being displayed. - -<sect3><heading>Setting up a PPP shell for static-IP users</heading> - -<p>Create the <tt>ppp-shell</tt> file as above and for each account with - statically assigned IPs create a symbolic link to <tt>ppp-shell</tt>. - -<p>For example, if you have three dialup customers fred, sam, and mary, - that you route class C networks for, you would type the following: - -<tscreen><verb> - # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred - # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam - # ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary -</verb></tscreen> - -<p>Each of these users dialup accounts should have their shell set - to the symbolic link created above. (ie. mary's shell should be - <tt>/etc/ppp/ppp-mary</tt>). - -<sect3><heading>Setting up ppp.conf for dynamic-IP users</heading> - -<p>The <tt>/etc/ppp/ppp.conf</tt> file should contain something along - the lines of - -<tscreen><verb> - 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 -</verb></tscreen> - -<p>Note the indenting is important. - -<p>The <tt>default:</tt> section is loaded for each session. For each - dialup line enabled in <tt>/etc/ttys</tt> create an entry similar - to the one for <tt>ttyd0:</tt> above. Each line should get a unique - IP from your pool of ip address for dynamic users. - -<sect3><heading>Setting up ppp.conf for static-IP users</heading> - -<p>Along with the contents of the sample <tt>/etc/ppp/ppp.conf</tt> - above you should add a section for each of the statically assigned - dialup users. We will continue with our fred, sam, and mary example. - -<tscreen><verb> - 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 -</verb></tscreen> - -<p>The file <tt>/etc/ppp/ppp.linkup</tt> should also contain routing - information for each static IP user if required. The line below - would add a route for the <tt>203.14.101.0</tt> class C via - the client's ppp link. - -<tscreen><verb> - 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 -</verb></tscreen> - -<sect3><heading>More on mgetty, AutoPPP, and MS extensions</heading> - -<sect4><heading>Mgetty and AutoPPP</heading> - -<p>Configuring and compiling mgetty with the AUTO_PPP option enabled - allows mgetty 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. - -<p>This section assumes the user has successfully configured, compiled, and - installed a version of mgetty with the AUTO_PPP option (v0.99beta or later) - -<p>Make sure your <tt>/usr/local/etc/mgetty+sendfax/login.config</tt> file - has the following in it: - -<tscreen><verb> - /AutoPPP/ - - /etc/ppp/ppp-pap-dialup -</verb></tscreen> - -<p>This will tell mgetty to run the <tt>ppp-pap-dialup</tt> script for - detected PPP connections. - -<p>Create a file called <tt>/etc/ppp/ppp-pap-dialup</tt> containing the - following (the file should be executable): - -<tscreen><verb> - #!/bin/sh - TTY=`tty` - IDENT=`basename $TTY` - exec /usr/sbin/ppp -direct pap$IDENT -</verb></tscreen> - -<p>For each dialup line enabled in <tt>/etc/ttys</tt> create a corresponding - entry in <tt>/etc/ppp/ppp.conf</tt>. This will happily co-exist with - the definitions we created above. - -<tscreen><verb> - papttyd0: - enable pap - set ifaddr 203.14.100.1 203.14.100.20 255.255.255.255 - enable proxy - - papttyd1: - enable pap - set ifaddr 203.14.100.1 203.14.100.21 255.255.255.255 - enable proxy -</verb></tscreen> - -<p>Each user logging in with this method will need to have a username/password - in <tt>/etc/ppp/ppp.secret</tt> file, or alternatively add the - -<tscreen><verb> - enable passwdauth -</verb></tscreen> - - option to authenticate users via pap from the <tt>/etc/password</tt>d - file. (*) - -<p>(*) Note this option only available in 2.2-961014-SNAP or later, or by - getting the updated ppp code for 2.1.x. (see MS extensions below for details) - -<sect4><heading>MS extentions</heading> - -<p>From 2.2-961014-SNAP onwards it is possible to allow the automatic - negotiation of DNS and NetBIOS name servers with clients supporting - this feature (namely Win95/NT clients). See RFC1877 for more details - on the protocol. - -<p>An example of enabling these extensions in your - <tt>/etc/ppp/ppp.conf</tt> file is illustrated below. - -<tscreen><verb> - default: - set debug phase lcp chat - set timeout 0 - enable msext - set ns 203.14.100.1 203.14.100.2 - set nbns 203.14.100.5 -</verb></tscreen> - -<p>This will tell the clients the primary and secondary - name server addresses, and a netbios nameserver host. - -<sect1><heading>Final system configuration</heading> - -<p>You now have PPP configured, but there are a few more things to - do before it is ready to work. They all involve editing the - <tt>/etc/rc.conf</tt> file (was <tt>/etc/sysconfig</tt>). - - Working from the top down in this file, make sure the ``hostname='' line - is set, e.g.: - -<tscreen><verb> - hostname=foo.bar.com -</verb></tscreen> - -<p>Look for the network_interfaces variable. If you want to configure - your system to dial your ISP on demand, make sure the tun0 device is - added to the list, otherwise remove it. - -<tscreen><verb> - network_interfaces="lo0 tun0" - ifconfig_tun0= -</verb></tscreen> - - Note, the <tt>ifconfig_tun0</tt> variable should be empty, and - a file called /etc/start_if.tun0 should be created. This file - should contain the line - -<tscreen><verb> - ppp -auto mysystem -</verb></tscreen> - - This script is executed at network configuration time, starting - your ppp daemon in automatic mode. - -<p>Set the router program to ``NO'' with the line - -<tscreen><verb> - router_enable=NO (/etc/rc.conf) - router=NO (/etc/sysconfig) -</verb></tscreen> - - It is important that the <tt>routed</tt> daemon is not started - (the default) as <tt>routed</tt> tends to delete the default - routing table entries created by ppp. - -<p>It is probably worth your while ensuring that the ``sendmail_flags'' line - does not include the ``-q'' option, otherwise sendmail will attempt to do - a network lookup every now and then, possibly causing your machine to dial - out. You may try: - -<tscreen><verb> - sendmail_flags="-bd" -</verb></tscreen> - - The upshot of this is that you must force sendmail to re-examine the - mail queue whenever the ppp link is up by typing: - -<tscreen><verb> - # /usr/sbin/sendmail -q -</verb></tscreen> - - If you don't like this, it is possible to set up a "dfilter" to block - SMTP traffic. Refer to the sample files for further details. You - can also use a script in the <tt>ppp.linkup</tt> file to execute this - command. - - All that is left is to reboot the machine. - - You can now either type -<tscreen><verb> - # ppp -</verb></tscreen> - - and then ``dial provider'' to start the PPP session, or, if you - want ppp to establish sessions automatically when there is outbound - traffic (and you havn't created the start_if.tun0 script) , type - -<tscreen><verb> - # ppp -auto provider -</verb></tscreen> - -<sect1><heading>Summary</heading> - -<p>To recap, the following steps are necessary when setting up ppp - for the first time: - -<p>Client side: - -<itemize> - <item>Ensure that the tun device is built into your kernel. - <item>Ensure that the tunX device file is available in the - <tt>/dev</tt> directory. - <item>Create an entry in <tt>/etc/ppp.conf</tt>. The - <tt>pmdemand</tt> example should suffice for most - ISPs. - <item>Create an entry in <tt>/etc/ppp.linkup</tt>. - <item>Update your rc.conf (or sysconfig) file. - <item>Create a start_if.tun0 script if you require demand - dialing. -</itemize> - -<p>Server side: -<itemize> - <item>Ensure that the tun device is built into your kernel. - <item>Ensure that the tunX device file is available in the - <tt>/dev</tt> directory. - <item>Create an entry in /etc/passwd (using the vipw(8) - program). - <item>Create a profile in this users home directory that - runs ``ppp -direct direct-server'' or similar. - <item>Create an entry in <tt>/etc/ppp.conf</tt>. The - <tt>direct-server</tt> example should suffice. - <item>Create an entry in <tt>/etc/ppp.linkup</tt>. - <item>Update your rc.conf (or sysconfig) file. -</itemize> - -<sect1><heading>Acknowledgments</heading> - -<p>Thanks to the following for their comments & suggestions: - -<p>&a.nik -<p>&a.dirkvangulik -<p>&a.pjc |