SLIP Installation and Configuration Guide

SLIP (Serial Link Internet Protocol) is a way of extending a TCP/IP network over point-to-point links (like phone lines). SLIP can be configured as dialout only, dialin only, or bidirectional (the union of dialin and dialout). These instructions are designed for Irix SLIP in Irix releases 4.x and 5.x.

There is currently little GUI (visual tool) support for configuring modems, much less configuring SLIP. Therefore, configuration involves working in a shell, and these instructions presume at least limited familiarity with text editors, such as vi or jot.

Verifying Software Installation Status

Before you attempt to configure your SLIP software, you must make sure that the software is properly installed. You need to have the standard but non- default Irix subsystems eoe2.sw.uucp and eoe1.sw.slip (for pre-5.2 Irix) or eoe1.sw.ppp and eoe2.sw.slip (for Irix-5.2) installed. You can check whether they are installed with the versions command.

Type the following to verify software installation:

% versions -a eoe{1,2}.\*.{uucp,slip}
I = Installed, R = Removed
The following is displayed if the software is installed:

I = Installed, R = Removed

   Name                 Version   Description

I  eoe1                762495609  IRIX Execution Environment 1, 5.2
I  eoe1.man           1011009700  IRIX Execution Environment Man Pages
I  eoe1.man.uucp      1011009700  UNIX-to-UNIX Copy Man Pages

I  eoe2                762380174  IRIX Execution Environment 2, 5.2
I  eoe2.man           1011009700  IRIX Execution Environment Man Pages
I  eoe2.man.slip      1011009700  SLIP Man Page
I  eoe2.sw            1011009700  IRIX Execution Environment Software
I  eoe2.sw.slip       1011009700  SLIP Software
I  eoe2.sw.uucp       1011009700  UUCP Utilities

Modem Selection and Installation

The next step in getting SLIP running is modem installation and configuration.

IP Address Selection

IP address selection and routing are intimately connected. You cannot discuss one without at least mentioning the other. Routing is how the packets know where to go in the network. Using an incorrect IP address can cause routing problems for more than just the machine with the incorrect IP address. In the worst case it can cause the whole network to fail!

Proceed with IP address selection.

Terminology

Throughout this document, I refer to a server host as one that provides the service of a connection to the larger network. Similarly, a client host is one that uses the service. It is unrelated to which host does the dialing and which host answers, although the client almost always dials and sometimes answers.

Setting the Dialout Configuration

This involves modifying several configuration files. The information needed to perform the configuration includes: The edits are organized by configuration file:
/etc/hosts
Only needs 3 entries, since all others can be obtained from the nameserver after a connection is made. The hosts file could look like (with appropriate substitutions):
127.0.0.1   localhost loghost
xx.yy.zz.ww myname.domain.sgi.com myname
aa.bb.cc.dd remote.domain.sgi.com remote
224.0.0.0   multicast
~uucp/Devices (/usr/lib/uucp in Irix4, /etc/uucp in Irix5)
Common for all versions to allow the use of cu for debugging connection problems. Make all additions and changes at the bottom of the file to simplify future updates. Use this example for port tty2:
Direct ttyd2 - Any direct
Direct ttym2 - Any direct
Direct ttyf2 - Any direct
~uucp/Devices
The file entries are based upon the modem type. This example assumes a Telebit T3000 modem running at 38400bps on port tty2. Add the following to the bottom of the file for each dialout modem. If all modems are "equivalent" (any modem to any destination), then use the same label for each modem (ACUslip), otherwise you'll need to make different labels for each class of modem. Make sure that the last field (t3000 in this example) is in your dialers file, or it will fail "mysteriously"!
ACUslip ttyf2 null 38400 212 x t3000
~uucp/Systems
This is the "smarts" for dialing the modem and logging into the server (to start SLIP). This is a "standard" chat script, modifications may be made in some circumstances. Put all entries at the end of the Systems file. There may be more than one line with the same name if you are using either a different modem or a different phone number (or both). Each entry must be made on a single line.
remote Any ACUslip 38400 phone_number "" \r\c ogin:--ogin: login_name assword: password framing

Irix SLIP sends out a message with the framing name before actually starting the protocol, adding a final match of "SLIP" ensures that the login really succeeded. I make the convention or prefixing remote with "S" for SLIP, followed by the hostname.

Starting a SLIP Connection

There are several ways to start a SLIP connection. You don't have much choice under Irix4 -- /usr/etc/slip dials the phone as soon as it is started, and does not automatically setup a route. Irix5 has a daemon mode, and can automatically startup a route. You must enter the following either manually, or in a script. In addition, use the cslip mode (aka Van Jacobson Header Compression) whenever possible, because it makes the link feel more responsive by decreasing latency. See `man slip` for more detail.

For Irix4 and Irix5 enter the following:

/usr/etc/slip -o -c -p cslip -r remote -l my_slip_address  -u remote &
[wait for the connection message]
/usr/etc/route add net default remote 1  # only on a client!!!!
I strongly recommend always specifying all of the -l, -r and -u options, and possibly the -m netmask option as well. Someday you are going to make a "trivial" change that breaks SLIP, and this just might be the hint you need to fix it...

Irix5 version can be configured to start on boot, and does dynamic link management. Something like the following script can be put in /etc/init.d/network.local, and a link added in /etc/rc2.d to start a SLIP connection at boot time. Starting PPP at boot shows an alternate method of starting at boot time.

Note: Don't use the '-R ""' option on a server! See `man slip` for more info. The syntax of the -R "-" option varies slightly between releases. See the man page for more details. chat_name is the first field of the Systems entry if it is different than the hostname of the remote.

#!/bin/sh
# slip boot startup script
case $1 in
   start)
       /etc/killall slip
       /usr/etc/slip -q -p cslip -R "" -r remote -u chat_name -l my_slip_address &
       ;;
   stop)
       /etc/killall slip
       ;;
esac
For the dynamically dialed setup, such as, Irix5 `slip -q`, you can start a link via a ping or rlogin or almost anything that wants to go over the link. The connection timesout and hangsup the phone after a programmable idle time, then re-dials when the traffic resumes. This can save a lot of money if you are connecting long distance! The idle times are configurable (see the respective man pages). Note that it takes about 30 seconds for the first packet to get through when starting an idle line, so active timeouts much less than a couple of minutes are more frustrating than useful.

Setting the Dialin Configuration

A SLIP server is easier to configure than a SLIP client, but security is far more important, since it is required to have dialable modems. There are three parts to configuring a server:

Security Issues

Security is a significant issue with SLIP connections to private internets. You should proceed now to the dialup security document for the information required to correctly implement your SLIP connections.

Enabling SLIP Client Dialin

The information in the Adding Clients document provides the configuration instructions necessary for adding clients and enabling client dialin.

Debugging Your Installation

Things don't always work the way you expect or want them to. Sometimes things either don't work to start with or they stop working for no apparent reason. Refer to the Debugging document for suggestions you can try in these situations.
Scott Henry <scotth@sgi.com>
Last modified: Wed Feb 1 14:23:49 1995