diff --git a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
index 7fcceb544a..a9cbd73a84 100644
--- a/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
+++ b/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.xml
@@ -32,7 +32,7 @@
FreeBSD has a number of ways to link one computer to
another. To establish a network or Internet connection through
a dial-up modem, or to allow others to do so through you,
- requires the use of PPP or SLIP. This chapter describes setting
+ requires the use of PPP. This chapter describes setting
up these modem-based communication services in detail.After reading this chapter, you will know:
@@ -41,9 +41,6 @@
How to set up user PPP.
-
- How to set up kernel PPP (&os; 7.X only).
- How to set up PPPoE (PPP over
Ethernet).
@@ -52,10 +49,6 @@
How to set up PPPoA (PPP over
ATM).
-
- How to configure and set up a SLIP client and
- server (&os; 7.X only).
-
@@ -79,29 +72,9 @@
Understand the basics and purpose of a dialup connection
- and PPP and/or SLIP.
+ and PPP.
-
- You may be wondering what the main difference is between
- user PPP and kernel PPP. The answer is simple: user PPP
- processes the inbound and outbound data in userland rather than
- in the kernel. This is expensive in terms of copying the data
- between the kernel and userland, but allows a far more
- feature-rich PPP implementation. User PPP uses the
- tun device to communicate with the
- outside world whereas kernel PPP uses the
- ppp device.
-
-
- Throughout in this chapter, user PPP will simply be
- referred to as ppp unless a
- distinction needs to be made between it and any other PPP
- software such as pppd
- (&os; 7.X only). Unless otherwise stated, all of the
- commands explained in this chapter should be executed as
- root.
-
@@ -239,11 +212,9 @@
configuration
- Both ppp and pppd
- (the kernel level implementation of PPP, &os; 7.X only)
- use the configuration files located in the /etc/ppp directory.
- Examples for user ppp can be found in ppp uses the configuration files
+ located in /etc/ppp.
+ Examples can be found in /usr/share/examples/ppp/.Configuring ppp requires that you
@@ -1314,505 +1285,6 @@ ifconfig_tun0=
-
-
-
-
- Gennady B.
- Sorokopud
- Parts originally contributed by
-
-
- Robert
- Huff
-
-
-
-
- Using Kernel PPP
-
-
- This section applies and is valid only for
- &os; 7.X.
-
-
-
- Setting Up Kernel PPP
-
-
- PPP
- kernel PPP
-
-
- Before you start setting up PPP on your machine, make sure
- that pppd is located in
- /usr/sbin and the
- directory /etc/ppp
- exists.
-
- pppd can work in two modes:
-
-
-
- As a client — you want to connect
- your machine to the outside world via a PPP serial
- connection or modem line.
-
-
-
-
- PPP
- server
-
-
- As a server — your machine is
- located on the network, and is used to connect other
- computers using PPP.
-
-
-
- In both cases you will need to set up an options file
- (/etc/ppp/options or
- ~/.ppprc if you have more than one user
- on your machine that uses PPP).
-
- You will also need some modem/serial software (preferably
- comms/kermit), so you
- can dial and establish a connection with the remote
- host.
-
-
-
-
-
-
- Trev
- Roydhouse
- Based on information provided by
-
-
-
-
-
- Using pppd as a Client
-
-
- PPP
- client
-
-
-
- Cisco
-
-
- The following /etc/ppp/options might
- be used to connect to a Cisco terminal server PPP line.
-
- crtscts # enable hardware flow control
-modem # modem control line
-noipdefault # remote PPP server must supply your IP address
- # if the remote host does not send your IP during IPCP
- # negotiation, remove this option
-passive # wait for LCP packets
-domain ppp.foo.com # put your domain name here
-
-:remote_ip # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to local_ip:remote_ip
-
-defaultroute # put this if you want that PPP server will be your
- # default router
-
- To connect:
-
- Kermit
- modem
-
-
- Dial to the remote host using
- Kermit (or some other modem
- program), and enter your user name and password (or
- whatever is needed to enable PPP on the remote
- host).
-
-
-
- Exit Kermit (without
- hanging up the line).
-
-
-
- Enter the following:
-
- &prompt.root; /usr/sbin/pppd /dev/tty0119200
-
- Be sure to use the appropriate speed and device
- name.
-
-
-
- Now your computer is connected with PPP. If the
- connection fails, you can add the
- option to the /etc/ppp/options file,
- and check console messages to track the problem.
-
- Following /etc/ppp/pppup script will
- make all 3 stages automatic:
-
- #!/bin/sh
-pgrep -l pppd
-pid=`pgrep pppd`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-pgrep -l kermit
-pid=`pgrep kermit`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.dial
-pppd /dev/tty01 19200
-
-
- Kermit
-
-
- /etc/ppp/kermit.dial is a
- Kermit script that dials and makes
- all necessary authorization on the remote host (an example
- of such a script is attached to the end of this
- document).
-
- Use the following /etc/ppp/pppdown
- script to disconnect the PPP line:
-
- #!/bin/sh
-pid=`pgrep pppd`
-if [ X${pid} != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill -TERM ${pid}
-fi
-
-pgrep -l kermit
-pid=`pgrep kermit`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-/sbin/ifconfig ppp0 down
-/sbin/ifconfig ppp0 delete
-kermit -y /etc/ppp/kermit.hup
-/etc/ppp/ppptest
-
- Check to see if pppd is still running
- by executing /usr/etc/ppp/ppptest, which
- should look like this:
-
- #!/bin/sh
-pid=`pgrep pppd`
-if [ X${pid} != "X" ] ; then
- echo 'pppd running: PID=' ${pid-NONE}
-else
- echo 'No pppd running.'
-fi
-set -x
-netstat -n -I ppp0
-ifconfig ppp0
-
- To hang up the modem, execute
- /etc/ppp/kermit.hup, which should
- contain:
-
- set line /dev/tty01 ; put your modem device here
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-echo \13
-exit
-
- Here is an alternate method using chat
- instead of kermit:
-
- The following two files are sufficient to accomplish a
- pppd connection.
-
- /etc/ppp/options:
-
- /dev/cuad1 115200
-
-crtscts # enable hardware flow control
-modem # modem control line
-connect "/usr/bin/chat -f /etc/ppp/login.chat.script"
-noipdefault # remote PPP serve must supply your IP address
- # if the remote host doesn't send your IP during
- # IPCP negotiation, remove this option
-passive # wait for LCP packets
-domain your.domain # put your domain name here
-
-: # put the IP of remote PPP host here
- # it will be used to route packets via PPP link
- # if you didn't specified the noipdefault option
- # change this line to local_ip:remote_ip
-
-defaultroute # put this if you want that PPP server will be
- # your default router
-
- /etc/ppp/login.chat.script:
-
-
- The following should go on a single line.
-
-
- ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDTphone.number
- CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: login-id
- TIMEOUT 5 sword: password
-
- Once these are installed and modified correctly, all
- you need to do is run pppd, like so:
-
- &prompt.root; pppd
-
-
-
- Using pppd as a Server
-
- /etc/ppp/options should contain
- something similar to the following:
-
- crtscts # Hardware flow control
-netmask 255.255.255.0 # netmask (not required)
-192.114.208.20:192.114.208.165 # IP's of local and remote hosts
- # local ip must be different from one
- # you assigned to the Ethernet (or other)
- # interface on your machine.
- # remote IP is IP address that will be
- # assigned to the remote machine
-domain ppp.foo.com # your domain
-passive # wait for LCP
-modem # modem line
-
- The following /etc/ppp/pppserv script
- will tell pppd to behave as a
- server:
-
- #!/bin/sh
-pgrep -l pppd
-pid=`pgrep pppd`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-pgrep -l kermit
-pid=`pgrep kermit`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-
-# reset ppp interface
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-# enable autoanswer mode
-kermit -y /etc/ppp/kermit.ans
-
-# run ppp
-pppd /dev/tty01 19200
-
- Use this /etc/ppp/pppservdown script
- to stop the server:
-
- #!/bin/sh
-pgrep -l pppd
-pid=`pgrep pppd`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing pppd, PID=' ${pid}
- kill ${pid}
-fi
-pgrep -l kermit
-pid=`pgrep kermit`
-if [ "X${pid}" != "X" ] ; then
- echo 'killing kermit, PID=' ${pid}
- kill -9 ${pid}
-fi
-ifconfig ppp0 down
-ifconfig ppp0 delete
-
-kermit -y /etc/ppp/kermit.noans
-
- The following Kermit script
- (/etc/ppp/kermit.ans) will enable/disable
- autoanswer mode on your modem. It should look like
- this:
-
- set line /dev/tty01
-set speed 19200
-set file type binary
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-
-pau 1
-out +++
-inp 5 OK
-out ATH0\13
-inp 5 OK
-echo \13
-out ATS0=1\13 ; change this to out ATS0=0\13 if you want to disable
- ; autoanswer mode
-inp 5 OK
-echo \13
-exit
-
- A script named /etc/ppp/kermit.dial
- is used for dialing and authenticating on the remote host.
- You will need to customize it for your needs. Put your login
- and password in this script; you will also need to change the
- input statement depending on responses from your modem and
- remote host.
-
- ;
-; put the com line attached to the modem here:
-;
-set line /dev/tty01
-;
-; put the modem speed here:
-;
-set speed 19200
-set file type binary ; full 8 bit file xfer
-set file names literal
-set win 8
-set rec pack 1024
-set send pack 1024
-set block 3
-set term bytesize 8
-set command bytesize 8
-set flow none
-set modem hayes
-set dial hangup off
-set carrier auto ; Then SET CARRIER if necessary,
-set dial display on ; Then SET DIAL if necessary,
-set input echo on
-set input timeout proceed
-set input case ignore
-def \%x 0 ; login prompt counter
-goto slhup
-
-:slcmd ; put the modem in command mode
-echo Put the modem in command mode.
-clear ; Clear unread characters from input buffer
-pause 1
-output +++ ; hayes escape sequence
-input 1 OK\13\10 ; wait for OK
-if success goto slhup
-output \13
-pause 1
-output at\13
-input 1 OK\13\10
-if fail goto slcmd ; if modem doesn't answer OK, try again
-
-:slhup ; hang up the phone
-clear ; Clear unread characters from input buffer
-pause 1
-echo Hanging up the phone.
-output ath0\13 ; hayes command for on hook
-input 2 OK\13\10
-if fail goto slcmd ; if no OK answer, put modem in command mode
-
-:sldial ; dial the number
-pause 1
-echo Dialing.
-output atdt9,550311\13\10 ; put phone number here
-assign \%x 0 ; zero the time counter
-
-:look
-clear ; Clear unread characters from input buffer
-increment \%x ; Count the seconds
-input 1 {CONNECT }
-if success goto sllogin
-reinput 1 {NO CARRIER\13\10}
-if success goto sldial
-reinput 1 {NO DIALTONE\13\10}
-if success goto slnodial
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 60 goto look
-else goto slhup
-
-:sllogin ; login
-assign \%x 0 ; zero the time counter
-pause 1
-echo Looking for login prompt.
-
-:slloop
-increment \%x ; Count the seconds
-clear ; Clear unread characters from input buffer
-output \13
-;
-; put your expected login prompt here:
-;
-input 1 {Username: }
-if success goto sluid
-reinput 1 {\255}
-if success goto slhup
-reinput 1 {\127}
-if success goto slhup
-if < \%x 10 goto slloop ; try 10 times to get a login prompt
-else goto slhup ; hang up and start again if 10 failures
-
-:sluid
-;
-; put your userid here:
-;
-output ppp-login\13
-input 1 {Password: }
-;
-; put your password here:
-;
-output ppp-password\13
-input 1 {Entering SLIP mode.}
-echo
-quit
-
-:slnodial
-echo \7No dialtone. Check the telephone line!\7
-exit 1
-
-; local variables:
-; mode: csh
-; comment-start: "; "
-; comment-start-skip: "; "
-; end:
-
-
-
@@ -2521,760 +1993,4 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
/var/log/ppp.log for clues.
-
-
-
-
-
- Satoshi
- Asami
- Originally contributed by
-
-
-
-
- Guy
- Helmer
- With input from
-
-
- Piero
- Serini
-
-
-
-
- Using SLIP
-
- SLIP
-
-
- This section applies and is valid only for
- &os; 7.X.
-
-
-
- Setting Up a SLIP Client
-
-
- SLIP
- client
-
-
- The following is one way to set up a FreeBSD machine for
- SLIP on a static host network. For dynamic hostname
- assignments (your address changes each time you dial up), you
- probably need to have a more complex setup.
-
- First, determine which serial port your modem is connected
- to. Many people set up a symbolic link, such as
- /dev/modem, to point
- to the real device name, /dev/cuadN.
- This allows you to abstract the actual device name should you
- ever need to move the modem to a different port. It can
- become quite cumbersome when you need to fix a bunch of files
- in /etc and
- .kermrc files all over the system!
-
-
- /dev/cuad0
- is COM1, /dev/cuad1 is
- COM2, etc.
-
-
- Make sure you have the following in your kernel
- configuration file:
-
- device sl
-
- It is included in the GENERIC kernel,
- so this should not be a problem unless you have deleted
- it.
-
-
- Things You Have to Do Only Once
-
-
-
- Add your home machine, the gateway and nameservers
- to your /etc/hosts file. Ours
- looks like this:
-
- 127.0.0.1 localhost loghost
-136.152.64.181 water.CS.Example.EDU water.CS water
-136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
-128.32.136.9 ns1.Example.EDU ns1
-128.32.136.12 ns2.Example.EDU ns2
-
-
-
- Make sure you have files before
- dns in the hosts:
- section of your /etc/nsswitch.conf
- file. Without these parameters funny things may
- happen.
-
-
-
- Edit the /etc/rc.conf
- file.
-
-
-
- Set your hostname by editing the line that
- says:
-
- hostname="myname.my.domain"
-
- Your machine's full Internet hostname should be
- placed here.
-
-
-
- default
- route
-
- Designate the default router by changing the
- line:
-
- defaultrouter="NO"
-
- to:
-
- defaultrouter="slip-gateway"
-
-
-
-
-
- Make a file /etc/resolv.conf
- which contains:
-
- domain CS.Example.EDU
-nameserver 128.32.136.9
-nameserver 128.32.136.12
-
- nameserver
- domain name
- As you can see, these set up the nameserver hosts.
- Of course, the actual domain names and addresses depend
- on your environment.
-
-
-
- Set the password for root and
- toor (and any other
- accounts that do not have a password).
-
-
-
- Reboot your machine and make sure it comes up with
- the correct hostname.
-
-
-
-
-
- Making a SLIP Connection
-
-
- SLIP
- connecting with
-
-
-
-
- Dial up, type slip at the prompt,
- enter your machine name and password. What is required
- to be entered depends on your environment. If you use
- Kermit, you can try a script
- like this:
-
- # kermit setup
-set modem hayes
-set line /dev/modem
-set speed 115200
-set parity none
-set flow rts/cts
-set terminal bytesize 8
-set file type binary
-# The next macro will dial up and login
-define slip dial 643-9600, input 10 =>, if failure stop, -
-output slip\x0d, input 10 Username:, if failure stop, -
-output silvia\x0d, input 10 Password:, if failure stop, -
-output ***\x0d, echo \x0aCONNECTED\x0a
-
- Of course, you have to change the username and
- password to fit yours. After doing so, you can just
- type slip from the
- Kermit prompt to
- connect.
-
-
- Leaving your password in plain text anywhere in
- the filesystem is generally a bad
- idea. Do it at your own risk.
-
-
-
-
- Leave the Kermit there
- (you can suspend it by
-
- Ctrl
- z
- ) and as root,
- type:
-
- &prompt.root; slattach -h -c -s 115200 /dev/modem
-
- If you are able to ping hosts
- on the other side of the router, you are connected!
- If it does not work, you might want to try
- instead of as
- an argument to slattach.
-
-
-
-
-
- How to Shutdown the Connection
-
- Do the following:
-
- &prompt.root; kill -INT `cat /var/run/slattach.modem.pid`
-
- to kill slattach. Keep in mind you
- must be root to do the above. Then
- go back to kermit (by running
- fg if you suspended it) and exit from
- it (q).
-
- The &man.slattach.8; manual page says you have to use
- ifconfig sl0 down to mark the interface
- down, but this does not seem to make any difference.
- (ifconfig sl0 reports the same
- thing.)
-
- Some times, your modem might refuse to drop the carrier.
- In that case, simply start kermit and
- quit it again. It usually goes out on the second
- try.
-
-
-
- Troubleshooting
-
- If it does not work, feel free to ask on &a.net.name;
- mailing list. The things that people tripped over so
- far:
-
-
-
- Not using or
- in slattach (This should not be
- fatal, but some users have reported that this solves
- their problems.)
-
-
-
- Using instead of
- (might be hard to see the
- difference on some fonts).
-
-
-
- Try ifconfig sl0 to see your
- interface status. For example, you might get:
-
- &prompt.root; ifconfig sl0
-sl0: flags=10<POINTOPOINT>
- inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
-
-
-
- If you get no route to host
- messages from &man.ping.8;, there may be a problem
- with your routing table. You can use the
- netstat -r command to display the
- current routes :
-
- &prompt.root; netstat -r
-Routing tables
-Destination Gateway Flags Refs Use IfaceMTU Rtt Netmasks:
-
-(root node)
-(root node)
-
-Route Tree for Protocol Family inet:
-(root node) =>
-default inr-3.Example.EDU UG 8 224515 sl0 - -
-localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
-inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
-water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
-(root node)
-
- The preceding examples are from a relatively busy
- system. The numbers on your system will vary depending
- on network activity.
-
-
-
-
-
-
-
- Setting Up a SLIP Server
-
-
- SLIP
- server
-
-
- This document provides suggestions for setting up SLIP
- Server services on a FreeBSD system, which typically means
- configuring your system to automatically start up connections
- upon login for remote SLIP clients.
-
-
-
-
- Prerequisites
-
- TCP/IP networking
- This section 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 TCP/IP
- Network Administration published by O'Reilly
- & Associates, Inc. (ISBN Number 0-937175-82-X), or
- Douglas Comer's books on the TCP/IP protocol.
-
- modem
- It is further assumed that you have already set up 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 for details on dialup services
- configuration. You may also want to check the manual pages
- or &man.sio.4; for information on the serial port device
- driver and &man.ttys.5;, &man.gettytab.5;, &man.getty.8;,
- & &man.init.8; for information relevant to configuring
- the system to accept logins on modems, and perhaps
- &man.stty.1; for information on setting serial port
- parameters (such as clocal for
- directly-connected serial interfaces).
-
-
-
- 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 sliplogin
- program browses the 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 a SLIP user ID were
- Shelmerg,
- Shelmerg's entry in
- /etc/master.passwd would look
- something like this:
-
- Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin
-
- When Shelmerg logs in,
- 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 into the next available SLIP
- interface, and then execute
- /etc/sliphome/slip.login like
- this:
-
- /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
-
- If all goes well,
- /etc/sliphome/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
- syslogd daemon facility, which
- usually logs to /var/log/messages
- (see the manual pages for &man.syslogd.8; and
- &man.syslog.conf.5; and perhaps check
- /etc/syslog.conf to see to what
- syslogd is logging and where
- it is logging to).
-
-
-
-
- Kernel Configuration
-
-
- kernel
- configuration
-
-
-
- SLIP
-
-
- &os;'s default kernel (GENERIC)
- comes with SLIP (&man.sl.4;) support; in case of a custom
- kernel, you have to add the following line to your kernel
- configuration file:
-
- device sl
-
- By default, your &os; machine will not forward packets.
- If you want your FreeBSD SLIP Server to act as a router, you
- will have to edit the /etc/rc.conf
- file and change the setting of the
- gateway_enable variable to
- . This will make sure that setting the
- routing option will be persistent after a reboot.
-
- To apply the settings immediately you can execute the
- following command as root:
-
- &prompt.root; service routing start
-
- Please refer to on
- Configuring the FreeBSD Kernel for help in
- reconfiguring your kernel.
-
-
-
- Sliplogin Configuration
-
- As mentioned earlier, there are three files in the
- /etc/sliphome
- directory that are part of the configuration for
- /usr/sbin/sliplogin (see
- &man.sliplogin.8; for the actual manual page for
- sliplogin):
- slip.hosts, which defines the SLIP
- users and 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.
-
-
- slip.hosts Configuration
-
- /etc/sliphome/slip.hosts contains
- lines which have at least four items separated by
- whitespace:
-
-
-
- SLIP user's login ID
-
-
-
- Local address (local to the SLIP server) of the
- SLIP link
-
-
-
- Remote address of the SLIP link
-
-
-
- Network mask
-
-
-
- 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 the file
- /etc/nsswitch.conf), and the network
- mask may be a name that can be resolved by a lookup into
- /etc/networks. On a sample system,
- /etc/sliphome/slip.hosts looks like
- this:
-
- #
-# login local-addr remote-addr mask opt1 opt2
-# (normal,compress,noicmp)
-#
-Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
-
- At the end of the line is one or more of the
- options:
-
-
-
- — no header
- compression
-
-
-
- — compress
- headers
-
-
-
- — compress headers
- if the remote end allows it
-
-
-
- — disable ICMP
- packets (so any ping packets will be
- dropped instead of using up your bandwidth)
-
-
-
- SLIP
- TCP/IP networking
- 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 section 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 SLIP
- Prerequisites () 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 need to configure a static route
- to the SLIP subnet via your SLIP server on your nearest
- IP router.
-
- Ethernet
- 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
- /etc/sliphome/slip.login and
- /etc/sliphome/slip.logout scripts
- to use &man.arp.8; to manage the proxy ARP
- entries in the SLIP server's ARP table.
-
-
-
- slip.login Configuration
-
- The typical
- /etc/sliphome/slip.login file looks
- like this:
-
- #!/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
-
- This slip.login file merely runs
- ifconfig for 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
- /etc/sliphome/slip.login file will
- need to look something like this:
-
- #!/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
-
- The additional line in this
- slip.login, arp -s
- $5 00:11:22:33:44:55 pub, 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 another IP node on the
- Ethernet asks to speak to the SLIP client's IP
- address.
-
-
- Ethernet
- MAC address
-
-
- When using the example above, be sure to replace the
- Ethernet MAC address (00:11:22:33:44:55) 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 netstat
- -i; the second line of the output should look
- something like:
-
- ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
-
- This indicates that this particular system's Ethernet
- MAC address is 00:02:c1:28:5f:4a — the
- periods in the Ethernet MAC address given by
- netstat -i 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 &man.arp.8; desires; see the manual page on
- &man.arp.8; for complete information on usage.
-
-
- When you create
- /etc/sliphome/slip.login and
- /etc/sliphome/slip.logout, the
- execute bit (i.e., 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/sliphome/slip.logout is not
- 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:
-
- #!/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
-
- If you are using proxy ARP, you will
- want to have
- /etc/sliphome/slip.logout remove the
- ARP entry for the SLIP client:
-
- #!/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
-
- 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/sliphome/slip.logout has the
- execute bit set after you create it (i.e., chmod
- 755 /etc/sliphome/slip.logout).
-
-
-
-
- Routing Considerations
-
-
- SLIP
- routing
-
- 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 have to add static routes to your closest default
- router(s) to route your SLIP clients subnet via your SLIP
- server.
-
-
- Static Routes
-
- static routes
-
- 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 those
- made by 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.
-
-
-
-