summaryrefslogtreecommitdiffstats
path: root/share/doc/handbook/slips.sgml
diff options
context:
space:
mode:
Diffstat (limited to 'share/doc/handbook/slips.sgml')
-rw-r--r--share/doc/handbook/slips.sgml509
1 files changed, 0 insertions, 509 deletions
diff --git a/share/doc/handbook/slips.sgml b/share/doc/handbook/slips.sgml
deleted file mode 100644
index b93be74..0000000
--- a/share/doc/handbook/slips.sgml
+++ /dev/null
@@ -1,509 +0,0 @@
-<!-- $Id$
- This is an SGML version in the linuxdoc DTD of the SLIP Server
- FAQ by Guy Helmer.
-
- This guide provides instruction in configuring and preparing
- a FreeBSD system to be a dialup SLIP server.
-
-<title>
-Setting up FreeBSD as a SLIP Server
-<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
-<date>v1.0, 15 May 1995
-
--->
-
-<sect><heading>Setting up a SLIP server<label id="slips"></heading>
-<p><em>Contributed by &a.ghelmer;.<newline>
-v1.0, 15 May 1995.</em>
-
-This document provides suggestions for setting up SLIP Server services
-on a FreeBSD system, which typically means configuring your system to
-automatically startup connections upon login for remote SLIP clients.
-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.
-
-This guide was originally written for SLIP Server services on a
-FreeBSD 1.x system. It has been modified to reflect changes in the
-pathnames and the removal of the SLIP interface compression flags in
-early versions of FreeBSD 2.X, which appear to be the only major
-changes between FreeBSD versions. If you do encounter mistakes in
-this document, please email the author with enough information to
-help correct the problem.
-
-<sect1><heading>Prerequisites<label id="slips:prereqs"></>
-
-<p>
-This document is very technical in nature, so background knowledge is
-required. It is assumed that you are familiar with the TCP/IP network
-protocol, and in particular, network and node addressing, network
-address masks, subnetting, routing, and routing protocols, such as
-RIP. Configuring SLIP services on a dial-up server requires a
-knowledge of these concepts, and if you are not familiar with them,
-please read a copy of either Craig Hunt's <em>TCP/IP Network
-Administration</em> published by O'Reilly &amp; Associates, Inc. (ISBN
-Number 0-937175-82-X), or Douglas Comer's books on the TCP/IP
-protocol.
-
-It is further assumed that you have already setup your modem(s) and
-configured the appropriate system files to allow logins through your
-modems. If you have not prepared your system for this yet, please see
-the tutorial for configuring dialup services; if you have a World-Wide
-Web browser available, browse the list of tutorials at
-<tt>http://www.freebsd.org/</tt>; otherwise, check the place
-where you found this document for a document named <tt/dialup.txt/ or
-something similar. You may also want to check the manual pages for
-<tt/sio(4)/ for information on the serial port device driver and
-<tt/ttys(5)/, <tt/gettytab(5)/, <tt/getty(8)/, &amp; <tt/init(8)/ for
-information relevant to configuring the system to accept logins on
-modems, and perhaps <tt/stty(1)/ for information on setting serial
-port parameters &lsqb;such as <tt/clocal/ for directly-connected
-serial interfaces&rsqb;.
-
-<sect1><heading>Quick Overview</heading>
-<p>
-
-In its typical configuration, using FreeBSD as a SLIP server works as
-follows: a SLIP user dials up your FreeBSD SLIP Server system and logs
-in with a special SLIP login ID that uses <tt>/usr/sbin/sliplogin</tt>
-as the special user's shell. The <tt/sliplogin/ program browses the
-file <tt>/etc/sliphome/slip.hosts</tt> to find a matching line for
-the special user, and if it finds a match, connects the serial line to
-an available SLIP interface and then runs the shell script
-<tt>/etc/sliphome/slip.login</tt> to configure the SLIP interface.
-
-<sect2><heading>An Example of a SLIP Server Login</heading>
-<p>
-
-For example, if a SLIP user ID were <tt>Shelmerg</tt>, <tt/Shelmerg/'s
-entry in <tt>/etc/master.passwd</tt> would look something like this
-(except it would be all on one line):
-
-<tscreen><verb>
-Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
- /usr/users/Shelmerg:/usr/sbin/sliplogin
-</verb></tscreen>
-
-and, when <tt/Shelmerg/ logs in, <tt>sliplogin</tt> will search
-<tt>/etc/sliphome/slip.hosts</tt> for a line that had a matching user
-ID; for example, there may be a line in
-<tt>/etc/sliphome/slip.hosts</tt> that reads:
-
-<tscreen><verb>
-Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-<tt/sliplogin/ will find that matching line, hook the serial line into
-the next available SLIP interface, and then execute
-<tt>/etc/sliphome/slip.login</tt> like this:
-
-<tscreen><verb>
-/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-</verb></tscreen>
-
-If all goes well, <tt>/etc/sliphome/slip.login</tt> will issue an
-<tt>ifconfig</tt> for the SLIP interface to which <tt/sliplogin/
-attached itself (slip interface 0, in the above example, which was the
-first parameter in the list given to <tt>slip.login</tt>) to set the
-local IP address (<tt>dc-slip</tt>), remote IP address
-(<tt>sl-helmer</tt>), network mask for the SLIP interface
-(<tt>0xfffffc00</tt>), and any additional flags (<tt>autocomp</tt>).
-If something goes wrong, <tt/sliplogin/ usually logs good
-informational messages via the daemon syslog facility, which usually
-goes into <tt>/var/log/messages</tt> (see the manual pages for
-<tt>syslogd(8)</tt> and <tt>syslog.conf(5)</tt>, and perhaps check
-<tt>/etc/syslog.conf</tt> to see to which files <tt>syslogd</tt> is
-logging).
-
-OK, enough of the examples -- let us dive into setting up the system.
-
-<sect1><heading>Kernel Configuration</heading>
-<p>
-FreeBSD's default kernels usually come with two SLIP interfaces
-defined (<tt>sl0</tt> and <tt>sl1</tt>); you can use <tt>netstat
--i</tt> to see whether these interfaces are defined in your kernel.
-
-Sample output from <tt>netstat -i</tt>:
-
-<tscreen><verb>
-Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll
-ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133
-ed0 1500 138.247.224 ivory 291311 0 174209 0 133
-lo0 65535 <Link> 79 0 79 0 0
-lo0 65535 loop localhost 79 0 79 0 0
-sl0* 296 <Link> 0 0 0 0 0
-sl1* 296 <Link> 0 0 0 0 0
-</verb></tscreen>
-
-The <tt>sl0</tt> and <tt>sl1</tt> interfaces shown in <tt>netstat
--i</tt>'s output indicate that there are two SLIP interfaces built
-into the kernel. (The asterisks after the <tt>sl0</tt> and
-<tt>sl1</tt> indicate that the interfaces are ``down''.)
-
-However, FreeBSD's default kernels do not come configured to forward
-packets (ie, your FreeBSD machine will not act as a router) due to
-Internet RFC requirements for Internet hosts (see RFC's 1009
-&lsqb;Requirements for Internet Gateways&rsqb;, 1122
-&lsqb;Requirements for Internet Hosts -- Communication Layers&rsqb;,
-and perhaps 1127 &lsqb;A Perspective on the Host Requirements
-RFCs&rsqb;), so if you want your FreeBSD SLIP Server to act as a
-router, you will have to edit the <tt>/etc/sysconfig</tt> file and change
-the setting of the <bf>gateway</bf> variable to <tt>YES</tt>. If you
-have an older system which does not have the <tt>/etc/sysconfig</tt>
-file, then add the following command:
-<verb>
-sysctl -w net.inet.ip.forwarding = 1
-</verb>
-to your <tt>/etc/rc.local</tt> file.
-
-<p>You will then need to reboot for the new settings to take effect.
-
-<p>You will notice that near the end of the default kernel configuration
-file (<tt>/sys/i386/conf/GENERIC</tt>) is a line that reads:
-
-<tscreen><verb>
-pseudo-device sl 2
-</verb></tscreen>
-
-which is the line that defines the number of SLIP devices available in
-the kernel; the number at the end of the line is the maximum number of
-SLIP connections that may be operating simultaneously.
-
-Please refer to <ref id="kernelconfig" name="Configuring the FreeBSD Kernel">
-for help in reconfiguring your kernel.
-
-<sect1><heading>Sliplogin Configuration</heading>
-
-<p>
-
-As mentioned earlier, there are three files in the
-<tt>/etc/sliphome</tt> directory that are part of the configuration
-for <tt>/usr/sbin/sliplogin</tt> (see <tt>sliplogin(8)</tt> for the
-actual manual page for <tt>sliplogin</tt>): <tt>slip.hosts</tt>, which
-defines the SLIP users &amp; their associated IP addresses;
-<tt>slip.login</tt>, which usually just configures the SLIP interface;
-and (optionally) <tt>slip.logout</tt>, which undoes
-<tt>slip.login</tt>'s effects when the serial connection is
-terminated.
-
-<sect2><heading>slip.hosts Configuration</heading>
-
-<p>
-
-<tt>/etc/sliphome/slip.hosts</tt> contains lines which have at least
-four items, separated by whitespace:
-
-<itemize>
-<item> SLIP user's login ID
-<item> Local address (local to the SLIP server) of the SLIP link
-<item> Remote address of the SLIP link
-<item> Network mask
-</itemize>
-
-The local and remote addresses may be host names (resolved to IP
-addresses by <tt>/etc/hosts</tt> or by the domain name service,
-depending on your specifications in <tt>/etc/host.conf</tt>), and I
-believe the network mask may be a name that can be resolved by a
-lookup into <tt>/etc/networks</tt>. On a sample system,
-<tt>/etc/sliphome/slip.hosts</tt> looks like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.hosts -----
-#
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
------ end /etc/sliphome/slip.hosts ------
-</verb></tscreen>
-
-At the end of the line is one or more of the options.
-
-<itemize>
-<item> <tt>normal</tt> - no header compression
-<item> <tt>compress</tt> - compress headers
-<item> <tt>autocomp</tt> - compress headers if the remote end allows it
-<item> <tt>noicmp</tt> - disable ICMP packets (so any ``ping'' packets will be
- dropped instead of using up your bandwidth)
-</itemize>
-
-Note that <tt/sliplogin/ under early releases of FreeBSD 2 ignored
-the options that FreeBSD 1.x recognized, so the options
-<tt/normal/, <tt/compress/, <tt/autocomp/, and <tt/noicmp/ had no effect
-until support was added in FreeBSD 2.2 (unless your <tt/slip.login/ script
-included code to make use of the flags).
-
-Your choice of local and remote addresses for your SLIP links depends
-on whether you are going to dedicate a TCP/IP subnet or if you are
-going to use ``proxy ARP'' on your SLIP server (it is not ``true''
-proxy ARP, but that is the terminology used in this document to
-describe it). If you are not sure which method to select or how to
-assign IP addresses, please refer to the TCP/IP books referenced in
-the <ref id="slips:prereqs"> section and/or consult your IP network manager.
-
-If you are going to use a separate subnet for your SLIP clients, you
-will need to allocate the subnet number out of your assigned IP
-network number and assign each of your SLIP client's IP numbers out of
-that subnet. Then, you will probably either need to configure a
-static route to the SLIP subnet via your SLIP server on your nearest
-IP router, or install <tt>gated</tt> on your FreeBSD SLIP server and
-configure it to talk the appropriate routing protocols to your other
-routers to inform them about your SLIP server's route to the SLIP
-subnet.
-
-Otherwise, if you will use the ``proxy ARP'' method, you will need to
-assign your SLIP client's IP addresses out of your SLIP server's
-Ethernet subnet, and you will also need to adjust your
-<tt>/etc/sliphome/slip.login</tt> and
-<tt>/etc/sliphome/slip.logout</tt> scripts to use <tt>arp(8)</tt> to
-manage the proxy-ARP entries in the SLIP server's ARP table.
-
-<sect2><heading>slip.login Configuration</heading>
-
-<p>
-The typical <tt>/etc/sliphome/slip.login</tt> file looks like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login -----
-#!/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
------ end /etc/sliphome/slip.login -----
-</verb></tscreen>
-
-This <tt>slip.login</tt> file merely ifconfig's the appropriate SLIP
-interface with the local and remote addresses and network mask of the
-SLIP interface.
-
-If you have decided to use the ``proxy ARP'' method (instead of using
-a separate subnet for your SLIP clients), your
-<tt>/etc/sliphome/slip.login</tt> file will need to look something
-like this:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.login for "proxy ARP" -----
-#!/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
------ end /etc/sliphome/slip.login for "proxy ARP" -----
-</verb></tscreen>
-
-The additional line in this <tt>slip.login</tt>, <tt>arp -s &dollar;5
-00:11:22:33:44:55 pub</tt>, creates an ARP entry in the SLIP server's
-ARP table. This ARP entry causes the SLIP server to respond with the
-SLIP server's Ethernet MAC address whenever a another IP node on the
-Ethernet asks to speak to the SLIP client's IP address.
-
-When using the example above, be sure to replace the Ethernet MAC
-address (<tt>00:11:22:33:44:55</tt>) with the MAC address of your
-system's Ethernet card, or your ``proxy ARP'' will definitely not work!
-You can discover your SLIP server's Ethernet MAC address by looking at
-the results of running <tt>netstat -i</tt>; the second line of the output
-should look something like:
-
-<tscreen><verb>
-ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
- ^^^^^^^^^^^^^^^
-</verb></tscreen>
-
-which indicates that this particular system's Ethernet MAC address is
-<tt>00:02:c1:28:5f:4a</tt> -- the periods in the Ethernet MAC address
-given by <tt>netstat -i</tt> must be changed to colons and leading zeros
-should be added to each single-digit hexadecimal number to convert the
-address into the form that <tt>arp(8)</tt> desires; see the manual page on
-<tt>arp(8)</tt> for complete information on usage.
-
-Note that when you create <tt>/etc/sliphome/slip.login</tt> and
-<tt>/etc/sliphome/slip.logout</tt>, the ``execute'' bit (ie,
-<tt>chmod 755 /etc/sliphome/slip.login
-/etc/sliphome/slip.logout</tt>) must be set, or <tt>sliplogin</tt>
-will be unable to execute it.
-
-<sect2><heading>slip.logout Configuration</heading>
-
-<p>
-
-<tt>/etc/sliphome/slip.logout</tt> is not strictly needed (unless you
-are implementing ``proxy ARP''), but if you decide to create it, this
-is an example of a basic <tt>slip.logout</tt> script:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout -----
-#!/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
------ end /etc/sliphome/slip.logout -----
-</verb></tscreen>
-
-If you are using ``proxy ARP'', you will want to have
-<tt>/etc/sliphome/slip.logout</tt> remove the ARP entry for the SLIP
-client:
-
-<tscreen><verb>
------ begin /etc/sliphome/slip.logout for "proxy ARP" -----
-#!/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
------ end /etc/sliphome/slip.logout for "proxy ARP" -----
-</verb></tscreen>
-
-The <tt>arp -d &dollar;5</tt> removes the ARP entry that the ``proxy ARP''
-<tt>slip.login</tt> added when the SLIP client logged in.
-
-It bears repeating: make sure <tt>/etc/sliphome/slip.logout</tt> has
-the execute bit set for after you create it (ie, <tt>chmod 755
-/etc/sliphome/slip.logout</tt>).
-
-<sect1><heading>Routing Considerations</heading>
-
-<p>
-If you are not using the ``proxy ARP'' method for routing packets
-between your SLIP clients and the rest of your network (and perhaps
-the Internet), you will probably either have to add static routes to
-your closest default router(s) to route your SLIP client subnet via
-your SLIP server, or you will probably need to install and configure
-<tt>gated</tt> on your FreeBSD SLIP server so that it will tell your
-routers via appropriate routing protocols about your SLIP subnet.
-
-<sect2><heading>Static Routes</heading>
-
-<p>
-Adding static routes to your nearest default routers can be
-troublesome (or impossible, if you do not have authority to do so...).
-If you have a multiple-router network in your organization, some
-routers, such as Cisco and Proteon, may not only need to be configured
-with the static route to the SLIP subnet, but also need to be told
-which static routes to tell other routers about, so some expertise and
-troubleshooting/tweaking may be necessary to get static-route-based
-routing to work.
-
-<sect2><heading>Running gated</heading>
-
-<p>
-An alternative to the headaches of static routes is to install
-<tt>gated</tt> on your FreeBSD SLIP server and configure it to use the
-appropriate routing protocols (RIP/OSPF/BGP/EGP) to tell other routers
-about your SLIP subnet. <tt/gated/ is available via anonymous ftp
-from <tt>ftp.gated.cornell.edu</tt> in the directory
-<tt>/pub/gated</tt>; I believe the current version as of this writing
-is <tt>gated-R3_5Alpha_8.tar.Z</tt>, which includes support for
-FreeBSD ``out-of-the-box''. Complete information and documentation on
-<tt>gated</tt> is available on the Web starting at
-<tt>http://www.gated.cornell.edu/</tt>. Compile and install it, and
-then write a <tt>/etc/gated.conf</tt> file to configure your gated;
-here is a sample, similar to what the author used on a FreeBSD SLIP
-server:
-
-<tscreen><verb>
------ begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
-#
-# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
-# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
-#
-#
-# tracing options
-#
-traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;
-
-rip yes {
- interface sl noripout noripin ;
- interface ed ripin ripout version 1 ;
- traceoptions route ;
-} ;
-
-#
-# Turn on a bunch of tracing info for the interface to the kernel:
-kernel {
- traceoptions remnants request routes info interface ;
-} ;
-
-#
-# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
-#
-
-export proto rip interface ed {
- proto direct {
- xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
- } ;
-} ;
-
-#
-# Accept routes from RIP via ed Ethernet interfaces
-
-import proto rip interface ed {
- all ;
-} ;
-
------ end sample /etc/gated.conf -----
-</verb></tscreen>
-
-The above sample <tt>gated.conf</tt> file broadcasts routing
-information regarding the SLIP subnet <tt>xxx.xxx.yy</tt> via RIP onto
-the Ethernet; if you are using a different Ethernet driver than the
-<tt/ed/ driver, you will need to change the references to the <tt/ed/
-interface appropriately. This sample file also sets up tracing to
-<tt>/var/tmp/gated.output</tt> for debugging <tt>gated</tt>'s
-activity; you can certainly turn off the tracing options if
-<tt>gated</tt> works OK for you. You will need to change the
-<tt>xxx.xxx.yy</tt>'s into the network address of your own SLIP subnet
-(be sure to change the net mask in the <tt>proto direct</tt> clause as
-well).
-
-When you get <tt>gated</tt> built and installed and create a
-configuration file for it, you will need to run <tt>gated</tt> in place
-of <tt>routed</tt> on your FreeBSD system; change the
-<tt>routed/gated</tt> startup parameters in <tt>/etc/netstart</tt> as
-appropriate for your system. Please see the manual page for
-<tt>gated</tt> for information on <tt>gated</tt>'s command-line
-parameters.
-
-<sect1><heading>Acknowledgments</heading>
-
-<p>
-Thanks to these people for comments and advice regarding this tutorial:
-
-<descrip>
-<tag/&a.wilko;/
-
-<tag/Piero Serini/ &lt;Piero@Strider.Inet.IT&gt;
-</descrip>
-
-<!-- </article> -->
OpenPOWER on IntegriCloud