diff options
Diffstat (limited to 'zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml')
-rw-r--r-- | zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml | 272 |
1 files changed, 136 insertions, 136 deletions
diff --git a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml index 35ada57c60..478bd3035f 100644 --- a/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml +++ b/zh_CN.GB2312/books/handbook/ppp-and-slip/chapter.sgml @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD Simplified Chinese Project - Original Revision: 1.158 + Original Revision: 1.170 $FreeBSD$ --> @@ -35,63 +35,66 @@ 这些都要求使用 PPP 或 SLIP。 这章将详细介绍设置这些基于 modem 的通信服务的方法。</para> - <para>读完这一章,您将会了解到:</para> + <para>读完这一章, 您将了解:</para> <itemizedlist> <listitem> - <para> 如何设置用户级PPP.</para> + <para>如何设置用户级 PPP。</para> </listitem> <listitem> - <para>如何设置内核级PPP.</para> + <para>如何设置内核级 PPP。</para> </listitem> <listitem> <para>如何设置 <acronym>PPPoE</acronym> (PPP over - Ethernet).</para> + Ethernet)。</para> </listitem> <listitem> <para>如何设置 <acronym>PPPoA</acronym> (PPP over - ATM).</para> + ATM)。</para> </listitem> <listitem> - <para>如何配置和安装SLIP客户端和服务器.</para> + <para>如何配置和安装 SLIP 客户端和服务器。</para> </listitem> </itemizedlist> <indexterm id="ppp-ppp-user"> <primary>PPP</primary> - <secondary>用户级PPP</secondary> + <secondary>用户级 PPP</secondary> </indexterm> <indexterm id="ppp-ppp-kernel"> <primary>PPP</primary> - <secondary>内核级PPP</secondary> + <secondary>内核级 PPP</secondary> </indexterm> <indexterm id="ppp-ppp-ethernet"> <primary>PPP</primary> - <secondary>PPPOE</secondary> + <secondary>PPPoE</secondary> </indexterm> - <para>在阅读这章之前,您应当:</para> + <para>在阅读这章之前, 您应:</para> <itemizedlist> <listitem> - <para>熟悉基本的网络术语.</para> + <para>熟悉基本的网络术语。</para> </listitem> <listitem> - <para> 理解拨号连接和PPP,SLIP的基础知识.</para> + <para>理解拨号连接和 PPP、 SLIP 的基础知识。</para> </listitem> </itemizedlist> - <para>您可能想知道用户级PPP与内核级PPP不同之处.回答很简单: - 用户级PPP处理用户级的输入和输出数据,而不是内核级. - 在内核与用户区之间复制数据的花费要大一些,但它能提供具有更多特性的PPP实现 . - 用户级PPP使用 <devicename>tun</devicename>设备与外界通信而内核级PPP使用 - <devicename>ppp</devicename>设备.</para> + <para>您可能想知道用户级 PPP 与内核级 PPP 之间的不同之处。 回答很简单: + 用户级 PPP 处理用户级的输入和输出数据, 而不是内核级。 + 在内核与用户区之间复制数据的花费要大一些, + 但它能提供具有更多特性的PPP实现。 + 用户级PPP使用 <devicename>tun</devicename> + 设备与外界通信而内核级 PPP 使用 + <devicename>ppp</devicename> 设备。</para> <note> - <para>除非需要与其它PPP软件(比如<application>pppd</application>)相区别,在这一章中 - 用户级PPP就简称为<application>ppp</application>.另外,若没有额外的注明,本章所介绍 - 的所有命令都需要<username>root</username>权限. - .</para> + <para>除非需要与其它 PPP 软件 (比如 <application>pppd</application>) + 相区别, 在这一章中, + 用户级 PPP 就简称为 <application>ppp</application>。 + 另外, 若没有额外的注明, 本章所介绍的所有命令都需要 + <username>root</username> 权限。</para> </note> </sect1> @@ -128,10 +131,10 @@ </authorgroup> </sect1info> - <title>使用用户级PPP</title> + <title>使用用户级 PPP</title> <sect2> - <title>用户级PPP</title> + <title>用户级 PPP</title> <sect3> <title>前提条件</title> @@ -146,15 +149,16 @@ <primary>PPP</primary> </indexterm> <listitem> - <para>您有一个ISP提供的用于连接使用PPP的帐号.</para> + <para>您有一个 ISP 提供的用于连接使用 PPP 的帐号。</para> </listitem> <listitem> - <para>您需要一个连接到您的系统并做了正确配置的modem或其它设备,使您能连接到ISP.</para> + <para>您需要一个连接到您的系统, 并做了正确配置的 modem + 或其它设备, 使您能连接到 ISP。</para> </listitem> <listitem> - <para>ISP的拨号号码.</para> + <para>ISP 的拨号号码。</para> </listitem> <indexterm id="ppp-pap"> @@ -173,23 +177,24 @@ <primary>password?/primary> </indexterm> <listitem> - <para>您的登录名称和密码(可能是一般的UNIX风格的登录名和密码对, - 也可能是PAP或CHAP登录名和密码对.)</para> + <para>您的登录名称和密码 (可能是一般的 UNIX 风格的登录名和密码对, + 也可能是 PAP 或 CHAP 登录名和密码对。)</para> </listitem> <indexterm id="ppp-nameserver"> <primary>nameserver</primary> </indexterm> <listitem> - <para>一个或多个域名服务器IP地址. - 通常,您会从ISP处得到两个这样的IP地址. 如果您至少得到了一个, 就可以 - 在文件<filename>ppp.conf</filename>中加入<command>enable dns</command>命令 - 使<application>ppp</application>设置域名服务.这个功能取决于ISP对支持DNS协商的具体实现. - </para> + <para>一个或多个域名服务器 IP 地址。 + 通常, 您会从ISP处得到两个这样的IP地址。 + 如果您至少得到了一个, 就可以在文件 + <filename>ppp.conf</filename> 中加入 <command>enable dns</command> + 命令使 <application>ppp</application> 设置域名服务。 + 这个功能取决于 ISP 对支持 DNS 协商的具体实现。</para> </listitem> </itemizedlist> - <para>下面的信息由您的ISP提供,但不是必需的:</para> + <para>下面的信息由您的 ISP 提供, 但不是必需的:</para> <itemizedlist> <listitem> @@ -621,10 +626,12 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting> <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> - <para>您应该将这个脚本作为所有拨入用户的<emphasis>shell</emphasis>. - 以下是在文件<filename>/etc/password</filename>中关于一个PPP用户的例子,用户名为 - <username>pchilds</username> (切记不要直接修改这个密码文件, - 而是使用<command>vipw</command>命令).</para> + <para>您应该将这个脚本作为所有拨入用户的 + <emphasis>shell</emphasis>。 + 以下是在文件 <filename>/etc/passwd</filename> + 中关于 PPP 用户 + <username>pchilds</username> 的例子 (切记, + 不要直接修改这个密码文件, 用 &man.vipw.8; 来修改它)。</para> <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting> @@ -752,9 +759,10 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> set ifaddr 203.14.100.1 203.14.100.20-203.14.100.40 enable proxy</programlisting> - <para>每个通过这种方式登录的用户必须在 - <filename>/etc/ppp/ppp.secret</filename>文件中有一个username/password项,或者加入 - 以下选项以使服务器通过PAP方式用<filename>/etc/password</filename>文件验证用户.</para> + <para>每个以这种方式登录的用户, 都必须在 + <filename>/etc/ppp/ppp.secret</filename> 文件中给出用户名/口令, + 或者使用以下选项, 来通过 PAP 方式以 <filename>/etc/passwd</filename> + 文件提供的信息来完成身份验证。</para> <programlisting>enable passwdauth</programlisting> @@ -1844,8 +1852,9 @@ ppp_profile="name_of_service_provider"</programlisting> <programlisting>net.graph.nonstandard_pppoe=1</programlisting> - <para>或直接执行命令: - <command>sysctl net.graph.nonstandard_pppoe=1</command>.</para> + <para>或者, 也可以直接执行下面的命令:</para> + + <screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen> <para>很不幸,由于这是系统全局设置,无法同时与正常的PPP客户端(或服务器) 和&tm.3com;<trademark class="registered">HomeConnect</trademark> ADSL Modem通信 @@ -2097,28 +2106,32 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 <sect2 id="slipc"> <title>设置SLIP客户端</title> <indexterm><primary>SLIP</primary><secondary>client</secondary></indexterm> - <para>下面是一个在静态主机网络上设置FreeBSD机器的方法.对于动态主机名分配(您的地址在每次拨号时都会改变), - 您可能还需要更复杂的设置.</para> - - <para>首先,确定您的modem连接的串行口. - 许多人会设置符号连接, 比如<filename>/dev/modem</filename>指向真实的设备名 - <filename>/dev/cuaaN</filename>.这充许您抽像真实的设备名. 当您需 - 要在<filename>/etc</filename>和<filename>.kermrc</filename>文件中修复整个系统上的许多文件时, - 这是一件非常麻烦的事情!</para> + <para>下面是在静态主机网络上配置 FreeBSD 机器使用 SLIP 的方法。 + 对于动态主机名分配 (您的地址会随每次拨号而不同), + 您可能需要稍复杂一些的设置。</para> + + <para>首先, 您需要确认调制解调器所连接的串口。 + 许多人会设置一个符号连接, 例如 + <filename>/dev/modem</filename>, 用以指向实际的设备名, + <filename>/dev/cuaaN</filename> (或在 &os; 6.X 下是 + <filename>/dev/cuadN</filename>)。 这样您就可以对实际的设备名进行抽象, + 以备调制解调器换到其他串口时方便调整之用。 + 不然, 在系统中修改一大堆 <filename>/etc</filename> 下的文件以及 + <filename>.kermrc</filename> 将是非常麻烦的事情!</para> <note> - <para><filename>/dev/cuaa0</filename> is - <devicename>COM1</devicename>, <filename>cuaa1</filename> is + <para><filename>/dev/cuaa0</filename> (or <filename>/dev/cuad0</filename> under &os; 6.X) is + <devicename>COM1</devicename>, <filename>cuaa1</filename> (or <filename>/dev/cuad1</filename>) is <devicename>COM2</devicename>, etc.</para> </note> - <para>确保您的内核文件包含以下内容:</para> - - <programlisting>pseudo-device sl 1</programlisting> + <para>确保您的内核文件包含以下内容:</para> + + <programlisting>device sl</programlisting> - <para>在 &os; 5.X 中, 则应使用:</para> + <para>对于 &os; 4.X, 则是:</para> - <programlisting>device sl</programlisting> + <programlisting>pseudo-device sl 1</programlisting> <para>这包含在<filename>GENERIC</filename>内核,所以这应该不会是个问题,除非您 已经删除了它。</para> @@ -2163,23 +2176,6 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 <para>应该用您主机的Internet全名代替.</para> </listitem> - <listitem> - <para>改变以下这些行将<devicename>sl0</devicename>添加到网络接口 - 列表中:</para> - - <programlisting>network_interfaces="lo0"</programlisting> - - <para>改为:</para> - - <programlisting>network_interfaces="lo0 sl0"</programlisting> - </listitem> - - <listitem> - <para> 加入以下这一行设置<devicename>sl0</devicename>的启动标志:</para> - - <programlisting>ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"</programlisting> - </listitem> - <indexterm><primary>default route</primary></indexterm> <listitem> <para>改变这一行以指明默认的路由:</para> @@ -2368,13 +2364,16 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 协议的书籍.</para> <indexterm><primary>modem</primary></indexterm> - <para>另外还假定您已经设置好了您的modem并配置了相应的文件允许通过modem登录. 如果您还没有准备好您的系统,请 - 参考拨号服务的配置指南; 如果您能使用网页浏览器,也可以浏览 - <ulink url="&url.base;/docs.html">http://www.FreeBSD.org/docs.html</ulink>上的指南列表. - 您还需要参考&man.sio.4;以获取串行端口设备驱动的信息, - &man.ttys.5;,&man.gettytab.5;, &man.getty.8;, & &man.init.8;以获取配置系统以接受modem登录的 - 相关信息,也许还有 &man.stty.1;以获取有关串行口参数设置的信息(比如<literal>clocal</literal>指直线串行 - 接口).</para> + <para>此外还假定您已经配置好了您的调制解调器以及相应的系统文件, + 以允许通过调制解调器进行登录。 如果您还没有为此配置好系统, + 请参见 <xref + linkend="dialup"> 以了解关于如何进行拨号服务的配置。 + 您可能也会想看一看 &man.sio.4; 的联机手册, + 以了解关于串口设备驱动的进一步信息, 以及 &man.ttys.5;、 + &man.gettytab.5;、 &man.getty.8; & &man.init.8; + 上关于怎样配置系统来接受来自调制解调器的登录请求的具体情况, + 还有 &man.stty.1; 以了解关于设置串口参数 + (例如 <literal>clocal</literal> 表示串口直联) 等。</para> </sect3> <sect3> @@ -2406,60 +2405,57 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> - <para>如果一切顺利, - <filename>/etc/sliphome/slip.login</filename>为<command>sliplogin</command> - )绑定的接口(在上面的例子中,是<filename>slip.login</filename>参数列表的第一个参数)运行 - <command>ifconfig</command>以设置SLIP接口的本地IP地址(<hostid>dc-slip</hostid>),远程IP地址(<hostid>sl-helmer</hostid>), - 掩码(<hostid role="netmask">0xfffffc00</hostid>),及其它附加的标志(<literal>autocomp</literal>). 如果出现错误 - ,<command>sliplogin</command> 通常会使用syslog<literal>守护进程</literal>将有用的信息写入 - <filename>/var/log/messages</filename> 参考&man.syslogd.8;和&man.syslog.conf.5;联机手册及<filename>/etc/syslog.conf</filename>, - 以获知<command>syslogd</command>是如何工作的).</para> - - <para>好了,让我们开始设置系统 .</para> + <para>如果一切顺利 + <filename>/etc/sliphome/slip.login</filename> 将在 <command>sliplogin</command> + 绑定的 SLIP 接口上发出 + <command>ifconfig</command> (前述的例子中是 SLIP 接口 + 0, 这是 <filename>slip.login</filename> 的第一个参数), + 以设置本地 IP 地址 (<hostid>dc-slip</hostid>)、 远程 IP 地址 + (<hostid>sl-helmer</hostid>)、 这一 SLIP + 接口的子网掩码 (<hostid role="netmask">0xfffffc00</hostid>), + 以及任何其他标志 (<literal>autocomp</literal>)。 + 如果发生错误, <command>sliplogin</command> 通常会通过 + <application>syslogd</application> 的 daemon facility + 记下有用的信息, 前者会把这些信息保存到 <filename>/var/log/messages</filename> + (参见 &man.syslogd.8; 和 &man.syslog.conf.5; 以及 + <filename>/etc/syslog.conf</filename> 的联机手册, 以了解 + <application>syslogd</application> 在记录什么, + 以及这些内容将被记在哪里)。</para> </sect4> </sect3> <sect3> <title>内核配置</title> <indexterm><primary>kernel</primary><secondary>configuration</secondary></indexterm> - <para>FreeBSD默认的内核一般定义了两个SLIP接口:(<devicename>sl0</devicename>和 - <devicename>sl1</devicename>); 您可以使用 <command>netstat - -i</command>命令查看您的内核是否定义了这些接口.</para> - - <para><command>netstat -i</command>样例输出:</para> - - <screen>Name Mtu Network Address Ipkts Ierrs Opkts Oerrs Coll -ed0 1500 <Link>0.0.c0.2c.5f.4a 291311 0 174209 0 133 -ed0 1500 138.247.224 ivory 291311 0 174209 0 133 -lo0 65535 <Link> 79 0 79 0 0 -lo0 65535 loop localhost 79 0 79 0 0 -sl0* 296 <Link> 0 0 0 0 0 -sl1* 296 <Link> 0 0 0 0 0</screen> + <indexterm><primary>SLIP</primary></indexterm> - <para><command>netstat -i</command>显示的<devicename>sl0</devicename> - <devicename>sl1</devicename>接口表明您的内核内建了两个SLIP接口. ( - <literal>sl0</literal>和<literal>sl1</literal> 之后的星号表明 - 这两个接口是<quote>关闭</quote>的.)</para> + <para>&os; 的默认内核 (<filename>GENERIC</filename>) + 提供了 SLIP (&man.sl.4;) 支持; 使用定制的内核时, + 您必须把下面的设置加入到配置文件:</para> - <para>然而,FreeBSD默认的内核并没有配置额外的包 (默认的,您的FreeBSD不会被作为一个路由器) - 因为Internet RFC对Internet主机有特殊要求(参考 - RFCs 1009 [Requirements for Internet Gateways], 1122 - [Requirements for Internet Hosts — Communication Layers], - 还有 1127 [A Perspective on the Host Requirements RFCs]). - 如果您想让FreeBSD SLIP服务器成为一个路由器,就必须编辑 - <filename>/etc/rc.conf</filename>,将<literal>gateway_enable</literal>变量设为<option>YES</option>.</para> + <programlisting>device sl</programlisting> - <para>然后您要重新启动使新的设置生效.</para> + <para>在 &os; 4.X 下, 则是:</para> - <para>您会发现靠近默认内核配置文件(<filename>/sys/i386/conf/GENERIC</filename>)的最后, - 有这么一行:</para> + <programlisting>pseudo-device sl 2</programlisting> - <programlisting>pseudo-device sl 2</programlisting> + <note> + <para>行末的数字表示允许同时使用的最大 SLIP 连接数。 + 从 &os; 5.0 开始, &man.sl.4; + 驱动具有了 <quote>自动克隆</quote> 的能力, + 因而不再需要这一设置。</para> + </note> - <indexterm><primary>SLIP</primary></indexterm> - <para>这一行定义内核中可用的SLIP设备个数;行末尾的数字表示同时进行操作的SLIP连接的最大个数.</para> + <para>默认情况下, 您的 &os; 计算机不会转发包。 + 如果您希望将 FreeBSD SLIP 服务器作为路由器使用, + 就需要修改 <filename>/etc/rc.conf</filename> 文件, + 并加入一项将 <literal>gateway_enable</literal> 变量设为 + <option>YES</option> 的设制。</para> + + <para>接下来需要重新启动以便使新设置生效。</para> - <para>请参考<xref linkend="kernelconfig">FreeBSD内核配置这一章以获取配置内核的帮助.</para> + <para>请参见 <xref linkend="kernelconfig"> 以了解如何配置 FreeBSD + 内核, 并获得在重新配置内核方面的指导。</para> </sect3> <sect3> @@ -2496,8 +2492,8 @@ sl1* 296 <Link> 0 0 0 0 <para>本地和远程地址可以是主机名 (通过文件<filename>/etc/hosts</filename>或者域名服务解析为IP地址, - 在FreeBSD 5.X上这取决于文件<filename>/etc/nsswitch.conf</filename>的设置 - 在FreeBSD 4.X里,则是<filename>/etc/host.conf</filename>),网络掩网可以是一个 + 在FreeBSD 5.X上这取决于文件<filename>/etc/nsswitch.conf</filename>的设置; + 而在FreeBSD 4.X里,则是<filename>/etc/host.conf</filename>),网络掩网可以是一个 能通过文件<filename>/etc/networks</filename>解析的名字.在一个样例系统中, <filename>/etc/sliphome/slip.hosts</filename>是这样的:</para> @@ -2507,7 +2503,7 @@ sl1* 296 <Link> 0 0 0 0 # Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting> - <para>在这行的末尾是一个或多个选项.</para> + <para>在这行末尾是一或多个选项:</para> <itemizedlist> <listitem> @@ -2604,12 +2600,12 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting 这是&man.arp.8;要求的格式; 参考&man.arp.8; 的联机手册以获取完整的使用方法.</para> <note> - <para>创建 - <filename>/etc/sliphome/slip.login</filename>和 - <filename>/etc/sliphome/slip.logout</filename>时,一定要设置 - <quote>执行(execute)</quote>位 (<command>chmod 755 - /etc/sliphome/slip.login /etc/sliphome/slip.logout</command>) - ,否则 <command>sliplogin</command>将无法执行它.</para> + <para>在编写 + <filename>/etc/sliphome/slip.login</filename> 和 + <filename>/etc/sliphome/slip.logout</filename> 时, 一定要设置 + <quote>可执行</quote> (execute) 位 (换言之, <command>chmod 755 + /etc/sliphome/slip.login /etc/sliphome/slip.logout</command>), + 否则 <command>sliplogin</command>将无法执行它。</para> </note> </sect4> @@ -2650,10 +2646,14 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting # Quit answering ARP requests for the SLIP client /usr/sbin/arp -d $5</programlisting> - <para>命令<command>arp -d $5</command> 删除<filename>slip.login</filename>在SLIP客户登录时添加的ARP项 .</para> + <para><command>arp -d $5</command> 将删除由 <quote>代理 ARP</quote> + <filename>slip.login</filename> 在 SLIP 客户程序登录时所生成的 + ARP 项。</para> - <para>再次强调:确保您创建<filename>/etc/sliphome/slip.logout</filename>时设置了执行位 - (ie, <command>chmod 755 /etc/sliphome/slip.logout</command>).</para> + <para>再次强调: 建立 + <filename>/etc/sliphome/slip.logout</filename> 之后, + 一定要设置可执行位 (也就是说, <command>chmod 755 + /etc/sliphome/slip.logout</command>)。</para> </sect4> </sect3> |