* Grammar nit changes

* Reworded sentences for consistency/understandability
 * Consistency/Standardization changes
 * Minor markup changes, placing items in <devicename>, and so forth
 * Revising constant usage of ie
 * Used generic Example.EDU in examples
This commit is contained in:
Chern Lee 2001-09-20 00:37:20 +00:00
parent 65cbdae147
commit 799d04ae77
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=10769

View file

@ -1,7 +1,7 @@
<!-- <!--
The FreeBSD Documentation Project The FreeBSD Documentation Project
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.58 2001/09/07 06:43:50 murray Exp $ $FreeBSD: doc/en_US.ISO8859-1/books/handbook/ppp-and-slip/chapter.sgml,v 1.59 2001/09/08 00:29:26 logo Exp $
--> -->
<chapter id="ppp-and-slip"> <chapter id="ppp-and-slip">
@ -43,7 +43,7 @@
<primary>PPP</primary> <primary>PPP</primary>
<secondary>over Ethernet</secondary> <secondary>over Ethernet</secondary>
</indexterm> </indexterm>
<para>This chapter covers four varieties of PPP; <para>This chapter covers four varieties of PPP:
<emphasis>user</emphasis>, <emphasis>kernel</emphasis>, <emphasis>user</emphasis>, <emphasis>kernel</emphasis>,
<emphasis>PPPoE</emphasis> (PPP over Ethernet) and <emphasis>PPPoE</emphasis> (PPP over Ethernet) and
<emphasis>PPPoA</emphasis> (PPP over ATM). It also covers <emphasis>PPPoA</emphasis> (PPP over ATM). It also covers
@ -62,11 +62,11 @@
with the outside world whereas kernel-ppp uses the with the outside world whereas kernel-ppp uses the
<devicename>ppp</devicename> device.</para> <devicename>ppp</devicename> device.</para>
<para>From here on out in this chapter, user ppp will simply be <para>Throughout in this chapter, user ppp will simply be
referred to as ppp unless a distinction needs to be made between it referred to as ppp unless a distinction needs to be made between it
and any other PPP software such as <command>pppd</command>. and any other PPP software such as <command>pppd</command>.
Unless otherwise stated, all of the commands explained in this Unless otherwise stated, all of the commands explained in this
section should be executed as root.</para> section should be executed as <username>root</username>.</para>
</sect1> </sect1>
<sect1 id="userppp"> <sect1 id="userppp">
@ -114,7 +114,11 @@
</indexterm> </indexterm>
<listitem> <listitem>
<para>An account with an Internet Service Provider (ISP) which <para>An account with an Internet Service Provider (ISP) which
you connect to using PPP. Further, you have a modem or you connect to using PPP.</para>
</listitem>
<listitem>
<para>Further, you have a modem or
other device connected to your system and configured other device connected to your system and configured
correctly, which allows you to connect to your ISP.</para> correctly, which allows you to connect to your ISP.</para>
</listitem> </listitem>
@ -139,16 +143,16 @@
<primary>password</primary> <primary>password</primary>
</indexterm> </indexterm>
<listitem> <listitem>
<para>Your login name and password. This can be either a <para>Your login name and password. (Either a
regular Unix-style login and password pair, or a PAP or CHAP regular Unix-style login and password pair, or a PAP or CHAP
login and password pair.</para> login and password pair.)</para>
</listitem> </listitem>
<indexterm id="ppp-nameserver"> <indexterm id="ppp-nameserver">
<primary>nameserver</primary> <primary>nameserver</primary>
</indexterm> </indexterm>
<listitem> <listitem>
<para>The IP address(es) of one or more name servers. <para>The IP address of one or more name servers.
Normally, you will be given two IP addresses by your ISP to Normally, you will be given two IP addresses by your ISP to
use for this. If they have not given you at least one, then use for this. If they have not given you at least one, then
you can use the <command>enable dns</command> command in you can use the <command>enable dns</command> command in
@ -192,7 +196,18 @@
</itemizedlist> </itemizedlist>
<para>If you do not have any of the required information, contact <para>If you do not have any of the required information, contact
your ISP and make sure they provide it to you.</para> your ISP.</para>
<note>
<para>Throughout this section, many of the examples showing
the contents of configuration files are numbered by line.
These numbers serve to aid in the presentation and
discussion only and are not meant to be placed in the actual
file. Proper indentation with tab and space characters is
also important.</para>
</note>
</sect3> </sect3>
<sect3> <sect3>
@ -208,7 +223,7 @@
<note><para>It should be noted that the tunnel driver creates devices <note><para>It should be noted that the tunnel driver creates devices
on demand, so <command>ifconfig -a</command> will not necessarily on demand, so <command>ifconfig -a</command> will not necessarily
show up with any <devicename>tun</devicename> devices.</para></note> show any <devicename>tun</devicename> devices.</para></note>
</sect3> </sect3>
@ -217,9 +232,10 @@
<para>Under normal circumstances, most users will only use one <para>Under normal circumstances, most users will only use one
<devicename>tun</devicename> device <devicename>tun</devicename> device
(<filename>/dev/tun0</filename>). References to (<devicename>/dev/tun0</devicename>). References to
<devicename>tun0</devicename> below may be changed to <devicename>tun0</devicename> below may be changed to
<devicename>tunN</devicename> where N is any unit number.</para> <devicename>tunN</devicename> where <literal>N</literal>
is any unit number corresponding to your system.</para>
<para>For FreeBSD installations that do not have DEVFS enabled, <para>For FreeBSD installations that do not have DEVFS enabled,
the existence of the <devicename>tun0</devicename> device should the existence of the <devicename>tun0</devicename> device should
@ -227,19 +243,19 @@
nodes will be created on demand).</para> nodes will be created on demand).</para>
<para>The easiest way to make sure that the <para>The easiest way to make sure that the
<devicename>tun0</devicename> device is configured correctly, <devicename>tun0</devicename> device is configured correctly
is to remake the device. To remake the device, do the is to remake the device. To remake the device, do the
following:</para> following:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>./MAKEDEV tun0</userinput></screen> &prompt.root; <userinput>sh MAKEDEV tun0</userinput></screen>
<para>If you need 16 tunnel devices in your kernel, you will need <para>If you need 16 tunnel devices in your kernel, you will need
to create them. This can be done by executing the following to create them. This can be done by executing the following
commands:</para> commands:</para>
<screen>&prompt.root; <userinput>cd /dev</userinput> <screen>&prompt.root; <userinput>cd /dev</userinput>
&prompt.root; <userinput>./MAKEDEV tun15</userinput></screen> &prompt.root; <userinput>sh MAKEDEV tun15</userinput></screen>
</sect3> </sect3>
<sect3> <sect3>
@ -254,19 +270,19 @@
<indexterm id="ppp-hosts"> <indexterm id="ppp-hosts">
<primary><filename>hosts</filename></primary> <primary><filename>hosts</filename></primary>
</indexterm> </indexterm>
<para>The resolver is the part of the system that turns IP <para>The resolver is the part of the system that looks up IP
addresses into hostnames and vice versa. It can be configured addresses into hostnames and vice versa. It can be configured
to look for maps that describe IP to hostname mappings in one of to look for maps that describe IP to hostname mappings in one of
two places. The first is a file called two places. The first is a file called
<filename>/etc/hosts</filename>. Read &man.hosts.5; for more <filename>/etc/hosts</filename>. Read &man.hosts.5; for more
information. The second is the Internet Domain Name Service information. The second is the Internet Domain Name Service
(DNS), a distributed data base, the discussion of which is (DNS), a distributed data base. For more information on DNS
beyond the scope of this document.</para> and DNS services, refer to <xref linkend="dns">.</para>
<para>The resolver is a set of system calls that do the name <para>The resolver is a set of system calls that perform the name
mappings, but you have to tell it where to find the mappings, but you have to tell it where to find the
information. For versions of FreeBSD prior to 5.0, you do this information. For versions of FreeBSD prior to 5.0. This is done by
by first editing the file <filename>/etc/host.conf</filename>. editing the file <filename>/etc/host.conf</filename>.
FreeBSD 5.0 uses the <filename>/etc/nsswitch.conf</filename> file.</para> FreeBSD 5.0 uses the <filename>/etc/nsswitch.conf</filename> file.</para>
<sect4> <sect4>
@ -279,7 +295,7 @@
bind</programlisting> bind</programlisting>
<para>This instructs the resolver to first look in the file <para>This instructs the resolver to first look in the file
<filename>/etc/hosts</filename>, and then to consult the DNS <filename>/etc/hosts</filename>, and to then consult the DNS
if the name was not found.</para> if the name was not found.</para>
</sect4> </sect4>
@ -292,7 +308,7 @@ bind</programlisting>
<programlisting>hosts: files, dns</programlisting> <programlisting>hosts: files, dns</programlisting>
<para>This instructs the resolver to first look in the file <para>This instructs the resolver to first look in the file
<filename>/etc/hosts</filename>, and then to consult the DNS <filename>/etc/hosts</filename>, and to then consult DNS
if the name was not found.</para> if the name was not found.</para>
</sect4> </sect4>
@ -300,7 +316,8 @@ bind</programlisting>
<title>Edit <filename>/etc/hosts</filename></title> <title>Edit <filename>/etc/hosts</filename></title>
<para>This file may contain the IP addresses and names of <para>This file may contain the IP addresses and names of
machines on your network. At a bare minimum it should contain machines on your local network. At a bare minimum it should
contain
entries for the machine which will be running ppp. Assuming entries for the machine which will be running ppp. Assuming
that your machine is called <hostid that your machine is called <hostid
role="fqdn">foo.bar.com</hostid> with the IP address <hostid role="fqdn">foo.bar.com</hostid> with the IP address <hostid
@ -321,6 +338,12 @@ bind</programlisting>
shorthand <hostid>foo</hostid>) to the IP address <hostid shorthand <hostid>foo</hostid>) to the IP address <hostid
role="ipaddr">10.0.0.1</hostid>.</para> role="ipaddr">10.0.0.1</hostid>.</para>
<note>
<para><hostid role="ipaddr">127.0.0.1</hostid> and
<hostid>localhost</hostid> are known as loopback
addresses, which loopback to the local machine.</para>
</note>
<para>If your provider allocates you a static IP address and <para>If your provider allocates you a static IP address and
name, and you are not using that as your host name, add this name, and you are not using that as your host name, add this
to the <filename>/etc/hosts</filename> too.</para> to the <filename>/etc/hosts</filename> too.</para>
@ -388,9 +411,10 @@ nameserver <replaceable>y.y.y.y</replaceable></programlisting>
should look similar to the example below.</para> should look similar to the example below.</para>
<note> <note>
<para>Lines that end in a <literal>:</literal> start in the <para>Lines that end in a <literal>:</literal> start in
first column, all other lines should be indented as shown the first column (beginning of the line)&mdash; all other
using spaces or tabs.</para> lines should be indented as shown using spaces or
tabs.</para>
</note> </note>
<programlisting>1 default: <programlisting>1 default:
@ -412,9 +436,6 @@ nameserver <replaceable>y.y.y.y</replaceable></programlisting>
17 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0 17 set ifaddr <replaceable>x.x.x.x</replaceable> <replaceable>y.y.y.y</replaceable> 255.255.255.255 0.0.0.0
18 add default HISADDR</programlisting> 18 add default HISADDR</programlisting>
<para>Do not include the line numbers, they are just for
reference in this discussion.</para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>Line 1:</term> <term>Line 1:</term>
@ -457,9 +478,9 @@ nameserver <replaceable>y.y.y.y</replaceable></programlisting>
<listitem> <listitem>
<para>Identifies the device to which the modem is <para>Identifies the device to which the modem is
connected. <devicename>COM1</devicename> is connected. <devicename>COM1</devicename> is
<filename>/dev/cuaa0</filename> and <devicename>/dev/cuaa0</devicename> and
<devicename>COM2</devicename> is <devicename>COM2</devicename> is
<filename>/dev/cuaa1</filename>.</para> <devicename>/dev/cuaa1</devicename>.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -549,7 +570,7 @@ nameserver <replaceable>y.y.y.y</replaceable></programlisting>
<listitem> <listitem>
<para>Identifies the user name and password. When connecting <para>Identifies the user name and password. When connecting
using a unix-style login prompt, these values are referred using a Unix-style login prompt, these values are referred
to by the <command>set login</command> command using the \U to by the <command>set login</command> command using the \U
and \P variables. When connecting using PAP or CHAP, these and \P variables. When connecting using PAP or CHAP, these
values are used at authentication time.</para> values are used at authentication time.</para>
@ -785,7 +806,8 @@ protocol: ppp</screen>
<title><application>PPP</application> Permissions</title> <title><application>PPP</application> Permissions</title>
<para>The <command>ppp</command> command must normally be run <para>The <command>ppp</command> command must normally be run
as user id 0. If however, you wish to allow as the <username>root</username> user. If however, you wish
to allow
<command>ppp</command> to run in server mode as a normal <command>ppp</command> to run in server mode as a normal
user by executing <command>ppp</command> as described below, user by executing <command>ppp</command> as described below,
that user must be given permission to run that user must be given permission to run
@ -856,11 +878,11 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting>
<title>PPP Shells for Static-IP Users</title> <title>PPP Shells for Static-IP Users</title>
<indexterm><primary>PPP shells</primary></indexterm> <indexterm><primary>PPP shells</primary></indexterm>
<para>Create the <filename>ppp-shell</filename> file as above <para>Create the <filename>ppp-shell</filename> file as above,
and for each account with statically assigned IPs create a and for each account with statically assigned IPs create a
symbolic link to <filename>ppp-shell</filename>.</para> symbolic link to <filename>ppp-shell</filename>.</para>
<para>For example, if you have three dialup customers <para>For example, if you have three dialup customers,
<username>fred</username>, <username>sam</username>, and <username>fred</username>, <username>sam</username>, and
<username>mary</username>, that you route class C networks <username>mary</username>, that you route class C networks
for, you would type the following:</para> for, you would type the following:</para>
@ -870,7 +892,7 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting>
&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen> &prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen>
<para>Each of these users dialup accounts should have their <para>Each of these users dialup accounts should have their
shell set to the symbolic link created above (i.e., shell set to the symbolic link created above (for example,
<username>mary</username>'s shell should be <username>mary</username>'s shell should be
<filename>/etc/ppp/ppp-mary</filename>).</para> <filename>/etc/ppp/ppp-mary</filename>).</para>
</sect5> </sect5>
@ -1034,7 +1056,7 @@ set dns 203.14.100.1 203.14.100.2
set nbns 203.14.100.5</programlisting> set nbns 203.14.100.5</programlisting>
<para>This will tell the clients the primary and secondary <para>This will tell the clients the primary and secondary
name server addresses, and a netbios nameserver host.</para> name server addresses, and a NetBIOS nameserver host.</para>
<para>In version 2 and above, if the <para>In version 2 and above, if the
<literal>set dns</literal> line is omitted, PPP will use the <literal>set dns</literal> line is omitted, PPP will use the
@ -1068,10 +1090,6 @@ set nbns 203.14.100.5</programlisting>
12 set authname <replaceable>MyUserName</replaceable> 12 set authname <replaceable>MyUserName</replaceable>
13 set authkey <replaceable>MyPassword</replaceable></programlisting> 13 set authkey <replaceable>MyPassword</replaceable></programlisting>
<para>As always, do not include the line numbers, they are just
for reference in this discussion. Indentation of at least one
space is required.</para>
<variablelist> <variablelist>
<varlistentry> <varlistentry>
<term>Line 7:</term> <term>Line 7:</term>
@ -1125,9 +1143,9 @@ set nbns 203.14.100.5</programlisting>
suitable diagnostic port has been set up. To do this, add the suitable diagnostic port has been set up. To do this, add the
following line to your configuration:</para> following line to your configuration:</para>
<programlisting>set server /var/run/ppp-tun%d DiagnosticPassword 0177</programlisting> <programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting>
<para>This will tell PPP to listen to the specified unix-domain <para>This will tell PPP to listen to the specified Unix-domain
socket, asking clients for the specified password before socket, asking clients for the specified password before
allowing access. The <literal>%d</literal> in the name is allowing access. The <literal>%d</literal> in the name is
replaced with the <devicename>tun</devicename> device number replaced with the <devicename>tun</devicename> device number
@ -1189,7 +1207,7 @@ set nbns 203.14.100.5</programlisting>
<primary><application>routed</application></primary> <primary><application>routed</application></primary>
</indexterm> </indexterm>
<para>It is important that the <command>routed</command> daemon is <para>It is important that the <command>routed</command> daemon is
not started (it is started by default), as it not started (it is started by default), as
<command>routed</command> tends to delete the default routing <command>routed</command> tends to delete the default routing
table entries created by <command>ppp</command>.</para> table entries created by <command>ppp</command>.</para>
@ -1361,14 +1379,14 @@ set nbns 203.14.100.5</programlisting>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>As a <quote>client</quote>, i.e., you want to connect your <para>As a <quote>client</quote> &mdash; you want to connect your
machine to the outside world via a PPP serial connection or machine to the outside world via a PPP serial connection or
modem line.</para> modem line.</para>
</listitem> </listitem>
<indexterm><primary>PPP</primary><secondary>server</secondary></indexterm> <indexterm><primary>PPP</primary><secondary>server</secondary></indexterm>
<listitem> <listitem>
<para>as a <quote>server</quote>, i.e. your machine is located on <para>as a <quote>server</quote> &mdash; your machine is located on
the network and used to connect other computers using the network and used to connect other computers using
PPP.</para> PPP.</para>
</listitem> </listitem>
@ -1385,6 +1403,17 @@ set nbns 203.14.100.5</programlisting>
</sect2> </sect2>
<sect2> <sect2>
<sect2info>
<authorgroup>
<author>
<firstname>Trev</firstname>
<surname>Roydhouse</surname>
<contrib>Based on information provided by </contrib>
<!-- Trev.Roydhouse@f401.n711.z3.fidonet.org -->
</author>
</authorgroup>
</sect2info>
<title>Using <command>pppd</command> as a Client</title> <title>Using <command>pppd</command> as a Client</title>
<indexterm><primary>PPP</primary><secondary>client</secondary></indexterm> <indexterm><primary>PPP</primary><secondary>client</secondary></indexterm>
<indexterm><primary>Cisco</primary></indexterm> <indexterm><primary>Cisco</primary></indexterm>
@ -1566,10 +1595,6 @@ defaultroute # put this if you want that PPP server will be
to do is run <command>pppd</command>, like so:</para> to do is run <command>pppd</command>, like so:</para>
<screen>&prompt.root; <userinput>pppd</userinput></screen> <screen>&prompt.root; <userinput>pppd</userinput></screen>
<para>This sample is based primarily on information provided by:
Trev Roydhouse &lt;Trev.Roydhouse@f401.n711.z3.fidonet.org&gt;
and used with permission.</para>
</sect2> </sect2>
<sect2> <sect2>
@ -1809,8 +1834,8 @@ exit 1
<see>PPP, over Ethernet</see> <see>PPP, over Ethernet</see>
</indexterm> </indexterm>
<para>The following describes how to set up PPP over Ethernet, a.k.a, <para>This section how to set up PPP over Ethernet
PPPoE.</para> (<acronym>PPPoE</acronym>).</para>
<sect2> <sect2>
<title>Configuring the kernel</title> <title>Configuring the kernel</title>
@ -1959,7 +1984,8 @@ ppp_profile="name_of_service_provider"</programlisting>
Alcatel's license agreement</ulink>.</para> Alcatel's license agreement</ulink>.</para>
<para>To install the port, simply use the <link linkend="ports"> <para>To install the port, simply use the <link linkend="ports">
ports collection</link> to install the net/pppoa port and follow ports collection</link> to install the <port>net/pppoa</port>
port and follow
the instructions provided there.</para> the instructions provided there.</para>
</sect2> </sect2>
@ -1994,9 +2020,9 @@ ppp_profile="name_of_service_provider"</programlisting>
<title>Setting up a SLIP Client</title> <title>Setting up a SLIP Client</title>
<indexterm><primary>SLIP</primary><secondary>client</secondary></indexterm> <indexterm><primary>SLIP</primary><secondary>client</secondary></indexterm>
<para>The following is one way to set up a FreeBSD machine for SLIP <para>The following is one way to set up a FreeBSD machine for SLIP
on a static host network. For dynamic hostname assignments (i.e., on a static host network. For dynamic hostname assignments (your
your address changes each time you dial up), you probably need to address changes each time you dial up), you probably need to
do something much fancier.</para> have a more complex setup.</para>
<para>First, determine which serial port your modem is connected to. <para>First, determine which serial port your modem is connected to.
Many people setup a symbolic link, such as Many people setup a symbolic link, such as
@ -2031,10 +2057,10 @@ ppp_profile="name_of_service_provider"</programlisting>
this:</para> this:</para>
<programlisting>127.0.0.1 localhost loghost <programlisting>127.0.0.1 localhost loghost
136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia 136.152.64.181 water.CS.Example.EDU water.CS water
136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway 136.152.64.1 inr-3.CS.Example.EDU inr-3 slip-gateway
128.32.136.9 ns1.Berkeley.edu ns1 128.32.136.9 ns1.Example.EDU ns1
128.32.136.12 ns2.Berkeley.edu ns2</programlisting> 128.32.136.12 ns2.Example.EDU ns2</programlisting>
</step> </step>
<step> <step>
@ -2054,13 +2080,14 @@ ppp_profile="name_of_service_provider"</programlisting>
<programlisting>hostname=<quote>myname.my.domain</quote></programlisting> <programlisting>hostname=<quote>myname.my.domain</quote></programlisting>
<para>You should give it your full Internet <para>Your machine's full Internet hostname should be
hostname.</para> placed here.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Add sl0 to the list of network interfaces by <para>Add <devicename>sl0</devicename> to the list of
changing the line that says:</para> network interfaces by changing the line that
says:</para>
<programlisting>network_interfaces="lo0"</programlisting> <programlisting>network_interfaces="lo0"</programlisting>
@ -2094,7 +2121,7 @@ ppp_profile="name_of_service_provider"</programlisting>
<para>Make a file <filename>/etc/resolv.conf</filename> which <para>Make a file <filename>/etc/resolv.conf</filename> which
contains:</para> contains:</para>
<programlisting>domain HIP.Berkeley.EDU <programlisting>domain CS.Example.EDU
nameserver 128.32.136.9 nameserver 128.32.136.9
nameserver 128.32.136.12</programlisting> nameserver 128.32.136.12</programlisting>
@ -2108,10 +2135,7 @@ nameserver 128.32.136.12</programlisting>
<step> <step>
<para>Set the password for <username>root</username> and <para>Set the password for <username>root</username> and
<username>toor</username> (and any other <username>toor</username> (and any other
accounts that do not have a password). Use passwd or accounts that do not have a password).</para>
&man.vipw.8;, do not edit the
<filename>/etc/passwd</filename> or
<filename>/etc/master.passwd</filename> files!</para>
</step> </step>
<step> <step>
@ -2127,9 +2151,9 @@ nameserver 128.32.136.12</programlisting>
<procedure> <procedure>
<step> <step>
<para>Dial up, type <command>slip</command> at the prompt, <para>Dial up, type <command>slip</command> at the prompt,
enter your machine name and password. The things you need enter your machine name and password. What is required to
to enter depends on your environment. If you use kermit, you be entered depends on your environment. If you use
can try a script like this:</para> kermit, you can try a script like this:</para>
<programlisting># kermit setup <programlisting># kermit setup
set modem hayes set modem hayes
@ -2147,19 +2171,22 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>
<para>Of course, you have to change the hostname and password <para>Of course, you have to change the hostname and password
to fit yours. After doing so, you can just type to fit yours. After doing so, you can just type
<command>slip</command> from the kermit prompt to get <command>slip</command> from the kermit prompt to
connected.</para> connect.</para>
<note> <note>
<para>Leaving your password in plain text anywhere in the <para>Leaving your password in plain text anywhere in the
filesystem is generally a BAD idea. Do it at your own filesystem is generally a <emphasis>bad</emphasis> idea.
risk.</para> Do it at your own risk.</para>
</note> </note>
</step> </step>
<step> <step>
<para>Leave the kermit there (you can suspend it by <para>Leave the kermit there (you can suspend it by
<command>z</command>) and as root, type:</para> <keycombo>
<keycap>Ctrl</keycap>
<keycap>z</keycap>
</keycombo>) and as root, type:</para>
<screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen> <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen>
@ -2181,7 +2208,8 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting>
<para>to kill <command>slattach</command>. Keep in mind you must be <para>to kill <command>slattach</command>. Keep in mind you must be
<username>root</username> to do the above. Then go back to <username>root</username> to do the above. Then go back to
kermit (<command>fg</command> if you suspended it) and exit from kermit (by running <command>fg</command> if you suspended it) and
exit from
it (<command>q</command>).</para> it (<command>q</command>).</para>
<para>The <command>slattach</command> manual page says you have <para>The <command>slattach</command> manual page says you have
@ -2227,7 +2255,7 @@ sl0: flags=10&lt;POINTOPOINT&gt;
<listitem> <listitem>
<para>Also, <command>netstat -r</command> will give the <para>Also, <command>netstat -r</command> will give the
routing table, in case you get the <quote>no route to routing table, in case you get the <quote>no route to
host</quote> messages from ping. Mine looks like:</para> host</quote> messages from ping. An example shown here:</para>
<screen>&prompt.root; <userinput>netstat -r</userinput> <screen>&prompt.root; <userinput>netstat -r</userinput>
Routing tables Routing tables
@ -2238,14 +2266,14 @@ Destination Gateway Flags Refs Use IfaceMTU Rtt N
Route Tree for Protocol Family inet: Route Tree for Protocol Family inet:
(root node) =&gt; (root node) =&gt;
default inr-3.Berkeley.EDU UG 8 224515 sl0 - - default inr-3.Example.EDU UG 8 224515 sl0 - -
localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438 localhost.Exampl localhost.Example. UH 5 42127 lo0 - 0.438
inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - - inr-3.Example.ED water.CS.Example.E UH 1 0 sl0 - -
silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438 water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438
(root node)</screen> (root node)</screen>
<para>This is after transferring a bunch of files, your <para>This is after the link has been up for a while, the numbers
numbers should be smaller).</para> on your system will vary.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </sect3>
@ -2258,16 +2286,20 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
<para>This document provides suggestions for setting up SLIP Server <para>This document provides suggestions for setting up SLIP Server
services on a FreeBSD system, which typically means configuring services on a FreeBSD system, which typically means configuring
your system to automatically startup connections upon login for your system to automatically startup connections upon login for
remote SLIP clients. The author has written this document based remote SLIP clients.</para>
<!-- Disclaimer is not necessarily relevant
<para> The author has written this document based
on his experience; however, as your system and needs may be on his experience; however, as your system and needs may be
different, this document may not answer all of your questions, and different, this document may not answer all of your questions, and
the author cannot be responsible if you damage your system or lose the author cannot be responsible if you damage your system or lose
data due to attempting to follow the suggestions here.</para> data due to attempting to follow the suggestions here.</para>
-->
<sect3 id="slips-prereqs"> <sect3 id="slips-prereqs">
<title>Prerequisites</title> <title>Prerequisites</title>
<indexterm><primary>TCP/IP networking</primary></indexterm> <indexterm><primary>TCP/IP networking</primary></indexterm>
<para>This document is very technical in nature, so background <para>This section is very technical in nature, so background
knowledge is required. It is assumed that you are familiar with knowledge is required. It is assumed that you are familiar with
the TCP/IP network protocol, and in particular, network and node the TCP/IP network protocol, and in particular, network and node
addressing, network address masks, subnetting, routing, and addressing, network address masks, subnetting, routing, and
@ -2317,8 +2349,7 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
<para>For example, if a SLIP user ID were <para>For example, if a SLIP user ID were
<username>Shelmerg</username>, <username>Shelmerg</username>'s <username>Shelmerg</username>, <username>Shelmerg</username>'s
entry in <filename>/etc/master.passwd</filename> would look entry in <filename>/etc/master.passwd</filename> would look
something like this (except it would be all on one something like this:</para>
line):</para>
<programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting> <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting>
@ -2342,7 +2373,7 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
<filename>/etc/sliphome/slip.login</filename> will issue an <filename>/etc/sliphome/slip.login</filename> will issue an
<command>ifconfig</command> for the SLIP interface to which <command>ifconfig</command> for the SLIP interface to which
<command>sliplogin</command> attached itself (slip interface <command>sliplogin</command> attached itself (slip interface
0,in the above example, which was the first parameter in the 0, in the above example, which was the first parameter in the
list given to <filename>slip.login</filename>) to set the list given to <filename>slip.login</filename>) to set the
local IP address (<hostid>dc-slip</hostid>), remote IP address local IP address (<hostid>dc-slip</hostid>), remote IP address
(<hostid>sl-helmer</hostid>), network mask for the SLIP (<hostid>sl-helmer</hostid>), network mask for the SLIP
@ -2350,11 +2381,12 @@ silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
any additional flags (<literal>autocomp</literal>). If any additional flags (<literal>autocomp</literal>). If
something goes wrong, <command>sliplogin</command> usually something goes wrong, <command>sliplogin</command> usually
logs good informational messages via the logs good informational messages via the
<literal>daemon</literal> syslog facility, which usually goes <literal>daemon</literal> syslog facility, which usually logs
into <filename>/var/log/messages</filename> (see the manual to <filename>/var/log/messages</filename> (see the manual
pages for &man.syslogd.8; and &man.syslog.conf.5; and perhaps pages for &man.syslogd.8; and &man.syslog.conf.5; and perhaps
check <filename>/etc/syslog.conf</filename> to see to which check <filename>/etc/syslog.conf</filename> to see to what
files <command>syslogd</command> is logging).</para> <command>syslogd</command> is logging and where it is
logging to.</para>
<para>OK, enough of the examples &mdash; let us dive into <para>OK, enough of the examples &mdash; let us dive into
setting up the system.</para> setting up the system.</para>
@ -2381,19 +2413,20 @@ sl0* 296 &lt;Link&gt; 0 0 0 0
sl1* 296 &lt;Link&gt; 0 0 0 0 0</screen> sl1* 296 &lt;Link&gt; 0 0 0 0 0</screen>
<para>The <devicename>sl0</devicename> and <para>The <devicename>sl0</devicename> and
<devicename>sl1</devicename> interfaces shown in <devicename>sl1</devicename> interfaces shown from
<command>netstat -i</command>'s output indicate that there are <command>netstat -i</command> indicate that there are
two SLIP interfaces built into the kernel. (The asterisks after two SLIP interfaces built into the kernel. (The asterisks after
the <literal>sl0</literal> and <literal>sl1</literal> indicate the <literal>sl0</literal> and <literal>sl1</literal> indicate
that the interfaces are <quote>down</quote>.)</para> that the interfaces are <quote>down</quote>.)</para>
<para>However, FreeBSD's default kernels do not come configured <para>However, FreeBSD's default kernel does not come configured
to forward packets (ie, your FreeBSD machine will not act as a to forward packets (by default, your FreeBSD machine will not act
as a
router) due to Internet RFC requirements for Internet hosts (see router) due to Internet RFC requirements for Internet hosts (see
RFCs 1009 [Requirements for Internet Gateways], 1122 RFCs 1009 [Requirements for Internet Gateways], 1122
[Requirements for Internet Hosts &mdash; Communication Layers], [Requirements for Internet Hosts &mdash; Communication Layers],
and perhaps 1127 [A Perspective on the Host Requirements RFCs]), and perhaps 1127 [A Perspective on the Host Requirements RFCs]).
so if you want your FreeBSD SLIP Server to act as a router, you If you want your FreeBSD SLIP Server to act as a router, you
will have to edit the <filename>/etc/rc.conf</filename> file and will have to edit the <filename>/etc/rc.conf</filename> file and
change the setting of the <literal>gateway_enable</literal> variable to change the setting of the <literal>gateway_enable</literal> variable to
<option>YES</option>.</para> <option>YES</option>.</para>
@ -2413,9 +2446,9 @@ sl1* 296 &lt;Link&gt; 0 0 0 0
the maximum number of SLIP connections that may be operating the maximum number of SLIP connections that may be operating
simultaneously.</para> simultaneously.</para>
<para>Please refer to <link linkend="kernelconfig">Configuring the <para>Please refer to <xref linkend="kernelconfig"> on
FreeBSD Kernel</link> for help in reconfiguring your Configuring the FreeBSD Kernel for help in
kernel.</para> reconfiguring your kernel.</para>
</sect3> </sect3>
<sect3> <sect3>
@ -2437,7 +2470,7 @@ sl1* 296 &lt;Link&gt; 0 0 0 0
<title><filename>slip.hosts</filename> Configuration</title> <title><filename>slip.hosts</filename> Configuration</title>
<para><filename>/etc/sliphome/slip.hosts</filename> contains <para><filename>/etc/sliphome/slip.hosts</filename> contains
lines which have at least four items, separated by lines which have at least four items separated by
whitespace:</para> whitespace:</para>
<itemizedlist> <itemizedlist>
@ -2500,24 +2533,16 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>Note that <command>sliplogin</command> under early releases
of FreeBSD 2 ignored the options that FreeBSD 1.x recognized,
so the options <option>normal</option>,
<option>compress</option>, <option>autocomp</option>, and
<option>noicmp</option> had no effect until support was added
in FreeBSD 2.2 (unless your <filename>slip.login</filename>
script included code to make use of the flags).</para>
<indexterm><primary>SLIP</primary></indexterm> <indexterm><primary>SLIP</primary></indexterm>
<indexterm><primary>TCP/IP networking</primary></indexterm> <indexterm><primary>TCP/IP networking</primary></indexterm>
<para>Your choice of local and remote addresses for your SLIP <para>Your choice of local and remote addresses for your SLIP
links depends on whether you are going to dedicate a TCP/IP links depends on whether you are going to dedicate a TCP/IP
subnet or if you are going to use <quote>proxy ARP</quote> on subnet or if you are going to use <quote>proxy ARP</quote> on
your SLIP server (it is not <quote>true</quote> proxy ARP, but your SLIP server (it is not <quote>true</quote> proxy ARP, but
that is the terminology used in this document to describe it). 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 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 addresses, please refer to the TCP/IP books referenced in
<link linkend="slips-prereqs">slips-prereqs</link> section the SLIP Prerequisites (<xref linkend="slips-prereqs">)
and/or consult your IP network manager.</para> and/or consult your IP network manager.</para>
<indexterm> <indexterm>
@ -2563,8 +2588,8 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
# #
/sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting> /sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting>
<para>This <filename>slip.login</filename> file merely <para>This <filename>slip.login</filename> file merely runs
<command>ifconfig</command>'s the appropriate SLIP interface <command>ifconfig</command> for the appropriate SLIP interface
with the local and remote addresses and network mask of the with the local and remote addresses and network mask of the
SLIP interface.</para> SLIP interface.</para>
@ -2592,7 +2617,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
&#36;5 00:11:22:33:44:55 pub</command>, creates an ARP entry &#36;5 00:11:22:33:44:55 pub</command>, creates an ARP entry
in the SLIP server's ARP table. This ARP entry causes the in the SLIP server's ARP table. This ARP entry causes the
SLIP server to respond with the SLIP server's Ethernet MAC SLIP server to respond with the SLIP server's Ethernet MAC
address whenever a another IP node on the Ethernet asks to address whenever another IP node on the Ethernet asks to
speak to the SLIP client's IP address.</para> speak to the SLIP client's IP address.</para>
<indexterm><primary>Ethernet</primary><secondary>MAC address</secondary></indexterm> <indexterm><primary>Ethernet</primary><secondary>MAC address</secondary></indexterm>
@ -2620,7 +2645,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
<para>When you create <para>When you create
<filename>/etc/sliphome/slip.login</filename> and <filename>/etc/sliphome/slip.login</filename> and
<filename>/etc/sliphome/slip.logout</filename>, the <filename>/etc/sliphome/slip.logout</filename>, the
<quote>execute</quote> bit (ie, <command>chmod 755 <quote>execute</quote> bit (<command>chmod 755
/etc/sliphome/slip.login /etc/sliphome/slip.logout</command>) /etc/sliphome/slip.login /etc/sliphome/slip.logout</command>)
must be set, or <command>sliplogin</command> will be unable must be set, or <command>sliplogin</command> will be unable
to execute it.</para> to execute it.</para>
@ -2673,7 +2698,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
<para>It bears repeating: make sure <para>It bears repeating: make sure
<filename>/etc/sliphome/slip.logout</filename> has the execute <filename>/etc/sliphome/slip.logout</filename> has the execute
bit set for after you create it (ie, <command>chmod 755 bit set after you create it (ie, <command>chmod 755
/etc/sliphome/slip.logout</command>).</para> /etc/sliphome/slip.logout</command>).</para>
</sect4> </sect4>
</sect3> </sect3>
@ -2697,7 +2722,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting
<title>Static Routes</title> <title>Static Routes</title>
<indexterm><primary>static routes</primary></indexterm> <indexterm><primary>static routes</primary></indexterm>
<para>Adding static routes to your nearest default routers can <para>Adding static routes to your nearest default routers can
be troublesome (or impossible, if you do not have authority to be troublesome (or impossible if you do not have authority to
do so...). If you have a multiple-router network in your do so...). If you have a multiple-router network in your
organization, some routers, such as those made by Cisco and Proteon, may organization, some routers, such as those made by Cisco and Proteon, may
not only need to be configured with the static route to the not only need to be configured with the static route to the