diff --git a/handbook/authors.sgml b/handbook/authors.sgml
index 7c27a71b42..0e8468fc73 100644
--- a/handbook/authors.sgml
+++ b/handbook/authors.sgml
@@ -1,25 +1,26 @@
-
+
<asami@FreeBSD.org>">
<davidg@Root.COM>">
<dufault@hda.com>">
<gclarkii@FreeBSD.org>">
<gena@NetVision.net.il>">
<ghelmer@alpha.dsu.edu>">
<gpalmer@FreeBSD.org>">
<jfieber@FreeBSD.org>">
<jkh@FreeBSD.org>">
<joerg_wunsch@uriah.heep.sax.de>">
<john@starfire.MN.ORG>">
<mark@grondar.za>">
<martin@innovus.com>">
<md@bsc.no>">
+<nik@blueberry.co.uk>">
<phk@FreeBSD.org>">
<paul@FreeBSD.org>">
<wilko@yedi.iaf.nl>">
diff --git a/handbook/handbook.sgml b/handbook/handbook.sgml
index fae8456a26..ab96aea1d1 100644
--- a/handbook/handbook.sgml
+++ b/handbook/handbook.sgml
@@ -1,175 +1,187 @@
-
+
%authors;
+
]>
FreeBSD Handbook
The FreeBSD Documentation Project
- July 27, 1995
+ July 28, 1995Welcome to FreeBSD! This handbook covers the
installation and day to day use of FreeBSD Release
2.0.5.
This manual is a work in progress and is the
work of many individials. Many sections do not yet exist
and some of those that do exist need to be updated. If
you are interested in helping with this project, send
email to &a.jfieber; or to the FreeBSD Documentation
Project mailing list <doc@freebsd.org>.
BasicsIntroduction
&nutshell;
&history;
&relnotes;
&install;
&basics;
Installing applications* Installing packages
&ports;
&porting;
System AdministrationReconfiguring the Kernel
Pending the completion of this section, please refer to
Kernel Configuration section of the .
Users, groups and security* DES, MD5 and Crypt* S/Key
&kerberos;
* FirewallsPrinting
This section is in progress. Please contact
Sean Kelly for more information.
* The X-Window SystemManaging hardware
&scsi;
* Adding and reconfiguring disks* Tapes and backups* Serial ports* Sound cardsNetwork CommunicationsBasic Networking* Ethernet basics* Serial basics* Hardwired Terminals
&dialup;
PPP and SLIP
+
+
If your connection to the internet is through a modem, or
+ you wish to provide other people with dialup connections to
+ the internet using FreeBSD, you have the option of using PPP
+ or SLIP. Furthermore, two varieties of PPP are provided:
+ user (sometimes referred to as iijppp) and
+ kernel. The procedures for configuring both types
+ of PPP, and for setting up SLIP are described in this
+ chapter.
+
+ &userppp;
&ppp;
&slipc;
&slips;
Advanced networking* Gateways and routing
&nfs;
* Yellow Pages/NIS
&diskless;
* ISDN* MailAdvanced topics
¤t;
&ctm;
⊃
&kerneldebug;
&submitters;
&booting;
&memoryuse;
&troubleshooting;
Appendices
&bibliography;
&eresources;
&hw;
&contrib;
&glossary;
diff --git a/handbook/ppp.sgml b/handbook/ppp.sgml
index 6f8145f122..f9a5476bbc 100644
--- a/handbook/ppp.sgml
+++ b/handbook/ppp.sgml
@@ -1,372 +1,372 @@
-
+
-Setting up a PPP link
+Setting up kernel PPP
Contributed by &a.gena;.
Before you start setting up PPP on your machine make
sure that pppd is located in /usr/sbin and directory /etc/ppp
exists.
pppd can work in two modes:
as a "client" , i.e. you want to connect your machine to outside
world via PPP serial connection or modem line.
as a "server" , i.e. your machine is located on the network and
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 then one user on your machine that uses
PPP ).
You also will need some modem/serial software ( preferably kermit )
so you can dial and establish connection with remote host.
Working as a PPP client
I used the following /etc/ppp/options to connect to 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 doesn't send your IP during IPCP
# negotiation , remove this option
passive # wait for LCP packets
domain ppp.foo.com # 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 :
defaultroute # put this if you want that PPP server will be your
# default router
To connect:
Dial to the remote host using kermit ( or other modem program )
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:
/usr/src/usr.sbin/pppd.new/pppd /dev/tty01 19200
( put the appropriate speed and device name )
Now your computer is connected with PPP. If the connection fails for some
reasons you can add the "debug" option to the /etc/ppp/options file
and check messages on the console to track the problem
Following /etc/ppp/pppup script will make all 3 stages automatically:
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
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
/etc/ppp/kermit.dial is kermit script that dials and makes all
necessary authorization on the remote host.
( Example of such script is attached to the end of this document )
Use the follwing /etc/ppp/pppdown script to disconnect the PPP line:
#!/bin/sh
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ X${pid} != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill -TERM ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
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 if PPP is still running (/usr/etc/ppp/ppptest):
#!/bin/sh
pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'`
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
Hangs up modem line (/etc/ppp/kermit.hup):
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
Working as a PPP server
/etc/ppp/options:
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
Following /etc/ppp/pppserv script will enable ppp server on your machine
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
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 ppp server:
#!/bin/sh
ps ax |grep pppd |grep -v grep
pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'`
if [ "X${pid}" != "X" ] ; then
echo 'killing pppd, PID=' ${pid}
kill ${pid}
fi
ps ax |grep kermit |grep -v grep
pid=`ps ax |grep kermit |grep -v grep|awk '{print $1;}'`
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
Following kermit script will enable/disable autoanswer mode
on your modem (/etc/ppp/kermit.ans):
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 mod
inp 5 OK
echo \13
exit
This /etc/ppp/kermit.dial script is used for dialing and authorizing on remote host.
You will need to customize it for your needs.
Put your login and password in this script , also you'll need
to change input statement depending on responces 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:
diff --git a/handbook/userppp.sgml b/handbook/userppp.sgml
new file mode 100644
index 0000000000..795bb7833b
--- /dev/null
+++ b/handbook/userppp.sgml
@@ -0,0 +1,356 @@
+
+
+
+Setting up user PPP