Setting up a SLIP server
-
-Contributed by &a.ghelmer;.
+
Contribudted by &a.ghelmer;.
+v1.0, 15 May 1995.
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.
-I've written this document based on my own experience; however, as
-your system and needs may be different, this document may not answer
-all of your questions, and I cannot be responsible if you damage your
-system or lose data due to attempting to follow the suggestions here.
+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.
-I have only setup SLIP Server services on a FreeBSD 1.1 system, so if
-you are running a different version (such as FreeBSD 2.0), your system
-may be different.
+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
+FreeBSD 2.x, which appear to be the only major changes between
+FreeBSD versions. If you do run encounter mistakes in this document,
+please email the author with enough information to help correct the
+problem.
+
+For FreeBSD 1.x users, all of the files referenced in the directory
+/etc/sliphome are actually in the /etc directory.
Prerequisites>
This document is very technical in nature, so background knowledge is
-required. I must assume that you are familiar with the TCP/IP network
+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 TCP/IP Network
Administration published by O'Reilly & Associates, Inc. (ISBN
-Number 0-937175-82-X), or Douglas Comer's book on the TCP/IP protocol.
+Number 0-937175-82-X), or Douglas Comer's books on the TCP/IP
+protocol.
-I will assume that you have already setup your modem(s) and configured
-the appropriate system files to allow logins through your modems (see
-the manual pages for sio(4) for information on the serial
-port device driver and ttys(5) , gettytab(5) ,
-getty(8) , & init(8) for information relevant to
-configuring the system to accept logins on modems, and perhaps
-stty(1) for information on setting serial port parameters
-[such as clocal for directly-connected serial
-interfaces]).
+It's further assumed that you have already setup your modem(s) and
+configured the appropriate system files to allow logins through your
+modems. If you haven't 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
+http://www.freebsd.org/How ; otherwise, check the place
+where you found this document for a document named Quick Overview
-
+
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 /usr/sbin/sliplogin
as the special user's shell. The /etc/slip.hosts 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
-/etc/slip.login to configure the SLIP interface.
+file /etc/sliphome/slip.hosts 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
+/etc/sliphome/slip.login to configure the SLIP interface.
An Example of a SLIP Server Login
-
-For example, if my SLIP user ID were Shelmerg , that user's
+
+For example, if a SLIP user ID were Shelmerg , /etc/master.passwd would look something like this
(except it would be all on one line):
@@ -74,34 +88,36 @@ Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
/usr/users/Shelmerg:/usr/sbin/sliplogin
-and, when I log in with that user ID, sliplogin will search
-/etc/slip.hosts for a line that had a matching user ID; on my
-system, I may have a line in /etc/slip.hosts that reads:
+and, when sliplogin will search
+/etc/sliphome/slip.hosts for a line that had a matching user
+ID; for example, there may be a line in
+/etc/sliphome/slip.hosts that reads:
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-sliplogin will find that matching line, hook the serial line I'm on
-into the next available SLIP interface, and then execute
-/etc/slip.login like this:
+/etc/sliphome/slip.login like this:
-/etc/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
+/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-If all goes well, /etc/slip.login will issue an
-ifconfig for the SLIP interface to which sliplogin attached
-itself (slip interface 0, in the above example, which was the first
-parameter in the list given to slip.login ) to set the local
-IP address (dc-slip ), remote IP address (sl-helmer ),
-network mask for the SLIP interface (0xfffffc00 ), and any
-additional flags (autocomp ). If something goes wrong,
-sliplogin usually logs good informational messages via the daemon
-syslog facility, which usually goes into /var/log/messages
-(see the manual pages for syslogd(8) and
-syslog.conf(5) , and perhaps check /etc/syslog.conf
-to see to which files syslogd is logging).
+If all goes well, /etc/sliphome/slip.login will issue an
+ifconfig for the SLIP interface to which slip.login ) to set the
+local IP address (dc-slip ), remote IP address
+(sl-helmer ), network mask for the SLIP interface
+(0xfffffc00 ), and any additional flags (autocomp ).
+If something goes wrong, /var/log/messages (see the manual pages for
+syslogd(8) and syslog.conf(5) , and perhaps check
+/etc/syslog.conf to see to which files syslogd is
+logging).
OK, enough of the examples -- let's dive into setting up the system.
@@ -169,19 +185,23 @@ kernels.
Sliplogin Configuration
-As mentioned earlier, there are three files in the /etc directory that are part of the configuration for
-/usr/sbin/sliplogin (see sliplogin(8) for the actual
-manual page for sliplogin ): slip.hosts , which
+
+As mentioned earlier, there are three files in the
+/etc/sliphome directory that are part of the configuration
+for /usr/sbin/sliplogin (see sliplogin(8) for the
+actual manual page for sliplogin ): slip.hosts , which
defines the SLIP users & their associated IP addresses;
slip.login , which usually just configures the SLIP interface;
-and (optionally) slip.logout , which undoes slip.login 's
-effects when the serial connection is terminated.
+and (optionally) slip.logout , which undoes
+slip.login 's effects when the serial connection is
+terminated.
slip.hosts Configuration
-/etc/slip.hosts contains lines which have at least four items
-listed:
+
+/etc/sliphome/slip.hosts contains lines which have at least
+four items, separated by whitespace:
- SLIP user's login ID
@@ -194,20 +214,20 @@ The local and remote addresses may be host names (resolved to IP
addresses by
/etc/hosts or by the domain name service,
depending on your specifications in /etc/host.conf ), and I
believe the network mask may be a name that can be resolved by a
-lookup into /etc/networks . On one of my systems,
-/etc/slip.hosts looks like this:
+lookup into /etc/networks . On a sample system,
+/etc/sliphome/slip.hosts looks like this:
------ begin /etc/slip.hosts -----
+----- 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/slip.hosts ------
+----- end /etc/sliphome/slip.hosts ------
-At the end of the line is one or more of the options:
+At the end of the line is one or more of the options.
-
normal - no header compression
@@ -217,10 +237,16 @@ At the end of the line is one or more of the options:
dropped instead of using up your bandwidth)
+It appears that section and/or consult your IP network manager.
@@ -238,17 +264,17 @@ 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'll also need to adjust your
-/etc/slip.login and /etc/slip.logout scripts to use
-arp(8) to manage the proxy-ARP entries in the SLIP server's
-ARP table.
+/etc/sliphome/slip.login and
+/etc/sliphome/slip.logout scripts to use arp(8) to
+manage the proxy-ARP entries in the SLIP server's ARP table.
slip.login Configuration
-The typical /etc/slip.login file looks like this:
+The typical /etc/sliphome/slip.login file looks like this:
------ begin /etc/slip.login -----
+----- begin /etc/sliphome/slip.login -----
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -260,7 +286,7 @@ The typical /etc/slip.login file looks like this:
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
------ end /etc/slip.login -----
+----- end /etc/sliphome/slip.login -----
This slip.login file merely ifconfig's the appropriate SLIP
@@ -268,11 +294,12 @@ 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 /etc/slip.login
-file will need to look something like this:
+a separate subnet for your SLIP clients), your
+/etc/sliphome/slip.login file will need to look something
+like this:
------ begin /etc/slip.login for "proxy ARP" -----
+----- begin /etc/sliphome/slip.login for "proxy ARP" -----
#!/bin/sh -
#
# @(#)slip.login 5.1 (Berkeley) 7/1/90
@@ -286,7 +313,7 @@ file will need to look something like this:
/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/slip.login for "proxy ARP" -----
+----- end /etc/sliphome/slip.login for "proxy ARP" -----
The additional line in this slip.login , arp -s $5
@@ -314,21 +341,22 @@ should be added to each single-digit hexadecimal number to convert the
address into the form that arp(8) desires; see the manual page on
arp(8) for complete information on usage.
-Note that when you create /etc/slip.login and
-/etc/slip.logout , the ``execute'' bit (ie, chmod 755
-/etc/slip.login /etc/slip.logout ) must be set, or
-sliplogin will be unable to execute it.
+Note that when you create /etc/sliphome/slip.login and
+/etc/sliphome/slip.logout , the ``execute'' bit (ie,
+chmod 755 /etc/sliphome/slip.login
+/etc/sliphome/slip.logout ) must be set, or sliplogin
+will be unable to execute it.
slip.logout Configuration
-/etc/slip.logout isn't strictly needed (unless you are
-implementing ``proxy ARP''), but if you decide to create it, this is
-an example of a basic slip.logout script:
+/etc/sliphome/slip.logout isn't strictly needed (unless you
+are implementing ``proxy ARP''), but if you decide to create it, this
+is an example of a basic slip.logout script:
------ begin /etc/slip.logout -----
+----- begin /etc/sliphome/slip.logout -----
#!/bin/sh -
#
# slip.logout
@@ -340,14 +368,15 @@ an example of a basic slip.logout script:
# slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
------ end /etc/slip.logout -----
+----- end /etc/sliphome/slip.logout -----
If you are using ``proxy ARP'', you'll want to have
-/etc/slip.logout remove the ARP entry for the SLIP client:
+/etc/sliphome/slip.logout remove the ARP entry for the SLIP
+client:
------ begin /etc/slip.logout for "proxy ARP" -----
+----- begin /etc/sliphome/slip.logout for "proxy ARP" -----
#!/bin/sh -
#
# @(#)slip.logout
@@ -361,15 +390,15 @@ If you are using ``proxy ARP'', you'll want to have
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5
------ end /etc/slip.logout for "proxy ARP" -----
+----- end /etc/sliphome/slip.logout for "proxy ARP" -----
The arp -d $5 removes the ARP entry that the ``proxy ARP''
slip.login added when the SLIP client logged in.
-It bears repeating: make sure /etc/slip.logout has the
-execute bit set for after you create it (ie, chmod 755
-/etc/slip.logout ).
+It bears repeating: make sure /etc/sliphome/slip.logout has
+the execute bit set for after you create it (ie, chmod 755
+/etc/sliphome/slip.logout ).
Routing Considerations
@@ -400,15 +429,16 @@ routing to work.
An alternative to the headaches of static routes is to install
gated 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. ftp.gated.cornell.edu in the directory /pub/gated ; I
-believe the current version as of this writing is
-gated-R3_5Alpha_8.tar.Z , which includes support for FreeBSD
-``out-of-the-box''. Complete information and documentation on
+about your SLIP subnet. ftp.gated.cornell.edu in the directory
+/pub/gated ; I believe the current version as of this writing
+is gated-R3_5Alpha_8.tar.Z , which includes support for
+FreeBSD ``out-of-the-box''. Complete information and documentation on
gated is available on the Web starting at
http://www.gated.cornell.edu/ . Compile and install it, and
then write a /etc/gated.conf file to configure your gated;
-here's a sample, similar to what I use on my FreeBSD SLIP server:
+here's a sample, similar to what the author used on a FreeBSD SLIP
+server:
----- begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
@@ -460,11 +490,10 @@ the Ethernet; if you are using a different Ethernet driver than the
interface appropriately. This sample file also sets up tracing to
/var/tmp/gated.output for debugging gated 's
activity; you can certainly turn off the tracing options if
-gated works OK for you. I've changed my SLIP subnet's
-address to xxx.xxx.yy throughout the above file; you'll need
-to change the xxx.xxx.yy 's into the network address of your
-own SLIP subnet (be sure to change the net mask in the proto
-direct clause as well).
+gated works OK for you. You'll need to change the
+xxx.xxx.yy 's into the network address of your own SLIP subnet
+(be sure to change the net mask in the proto direct clause as
+well).
When you get gated built and installed and create a
configuration file for it, you'll need to run gated in place
@@ -477,7 +506,7 @@ parameters.
Acknowledgements
-Thanks to these people for comments and advice regarding this FAQ:
+Thanks to these people for comments and advice regarding this tutorial:
-