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 | 1084 |
1 files changed, 547 insertions, 537 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 f9975d5909..98ab0dd5d7 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.172 + Original Revision: 1.173 $FreeBSD$ --> @@ -139,7 +139,7 @@ <sect3> <title>前提条件</title> - <para>本章假定您具备如下条件:</para> + <para>本章假定您具备如下条件:</para> <itemizedlist> <indexterm id="ppp-isp"> @@ -198,79 +198,58 @@ <itemizedlist> <listitem> - <para>ISP的网关IP地址. 网关是您要连接的且要被设为<emphasis>默认路由</emphasis>的主机. - 如果您没有这个信息,您可以虚构一个,在连接时ISP的PPP服务器会自动告诉您正确的值.</para> + <para>ISP的网关IP地址。 网关是您准备连接, 并设为 + <emphasis>默认路由</emphasis> 的主机。 + 如果您没有这个信息, 您可以虚构一个, + 在连接时 ISP 的 PPP 服务器会自动告诉您正确的值。</para> - <para>这个虚构的IP号被<application>ppp</application>称为 - <literal>HISADDR</literal>.</para> + <para>这个虚构的 IP 地址在 <application>ppp</application> 中记做 + <literal>HISADDR</literal>。</para> </listitem> <listitem> - <para>需要使用的子网掩码.如果ISP没有提供,您可以安全地使用 - <hostid role="netmask">255.255.255.255</hostid>.</para> + <para>准备使用的子网掩码。 如果ISP没有提供, 一般使用 + <hostid role="netmask">255.255.255.255</hostid> 是没有问题的。</para> </listitem> <indexterm id="ppp-static-ip"> - <primary>static IP address</primary> + <primary>static IP address (静态 IP 地址)</primary> </indexterm> <listitem> - <para>如果ISP提供了一个静态的IP地址和主机名,可以输入它们.否则,让对方主机指定它 - 认为合适的IP地址.</para> + <para>如果 ISP 提供了静态的IP地址和主机名, 可以输入它们。 + 反之, 则应让对方主机指定它认为合适的 IP 地址。</para> </listitem> </itemizedlist> - <para>如果您不知道这些信息,请与您的ISP联系.</para> + <para>如果您不知道这些信息, 请与您的 ISP 联系。</para> - <note><para>在这节中,所有作为样例显示的配置文件信息都对行进行了编号. - 这些行号只是为了使解释和讨论变得方便,在真实当地用tab键和sp文件中并不存在. - 缩进是必需的.</para> + <note><para>在这节中, 所有作为例子展示的配置文件中都有行号。 + 这些行号只是为了使解释和讨论变得方便, 在真实的文件中并不存在。 + 此外, 在必要时应使用 Tab 和空格来进行缩进。</para> </note> </sect3> <sect3> - <title>创建PPP设备节点</title> - <indexterm><primary>PPP</primary><secondary>creating device nodes</secondary></indexterm> - - <para>一般情况下,大多数用户只需要一个<devicename>tun</devicename>设备 - (<filename>/dev/tun0</filename>),提及<devicename>tun0</devicename>时, - 即指<devicename>tun<replaceable>N</replaceable></devicename>,N是您系统中具体的号码.</para> - - <para>若的FreeBSD(FreeBSD 4.X 及早前版本)没有启用&man.devfs.5;,应当先检查 - 是否存在<devicename>tun0</devicename>设备,如果已经启用了&man.devfs.5;,这一步就没必要了 - (因为&man.devfs.5;会根据需要创建设备).</para> - - <para>为了确保<devicename>tun0</devicename>配置正确, 最简单的方式是重新创建它。 - 按照以下步骤可以重新创建设备:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKEDEV tun0</userinput></screen> - - <para>如果您的内核要有16个tunnel设备,您必须创建它们.可以通过执行以下命令完成:</para> - - <screen>&prompt.root; <userinput>cd /dev</userinput> -&prompt.root; <userinput>sh MAKEDEV tun15</userinput></screen> - </sect3> - - <sect3> <title><application>PPP</application>自动化配置</title> <indexterm><primary>PPP</primary><secondary>configuration</secondary></indexterm> <para> <command>ppp</command>和<command>pppd</command>(PPP的内核级实现) - 都使用<filename>/etc/ppp</filename>目录中的配置文件.用户级PPP的例子能 - 在<filename>/usr/share/examples/ppp/</filename>中找到.</para> + 都使用<filename>/etc/ppp</filename>目录中的配置文件。 用户级 PPP + 的例子可以在 <filename>/usr/share/examples/ppp/</filename> 中找到。</para> - <para>配置<command>ppp</command>要求根据您的需要编辑几个文件.编辑哪几个文件取决于您的 - IP是静态分配还是动态分配的.</para> + <para>配置<command>ppp</command>要求根据您的需要编辑几个文件。 + 编辑哪几个文件取决于您的 + IP 是静态分配还是动态分配的。</para> <sect4 id="userppp-staticIP"> <title>PPP和静态IP地址</title> <indexterm><primary>PPP</primary><secondary>with static IP addresses</secondary></indexterm> - <para>您需要编辑配置文件<filename>/etc/ppp/ppp.conf</filename>.如下所示.</para> + <para>您需要编辑配置文件<filename>/etc/ppp/ppp.conf</filename>, 如下所示。</para> <note> - <para>以冒号<literal>:</literal>结尾的行从第一列 (行首)开始, + <para>以冒号<literal>:</literal>结尾的行从第一列 (行首)开始, 其它所有的行都要使用空格或制表符 (Tab) 来缩进。</para> </note> @@ -295,48 +274,48 @@ <variablelist> <varlistentry> - <term>行1 :</term> + <term>行1:</term> <listitem> - <para>指定默认的项.当PPP运行时这个项中的命令将自动执行.</para> + <para>指定默认的项。 当PPP运行时这个项中的命令将自动执行。</para> </listitem> </varlistentry> <varlistentry> - <term>行2:</term> + <term>行2:</term> <listitem> - <para>启用登录参数.工作正常后,为避免产生过多的日志文件,这行应该简化为: - <programlisting>set log phase tun</programlisting>.</para> + <para>启用登录参数。 工作正常后, 为避免产生过多的日志文件, 这行应该简化为: + <programlisting>set log phase tun</programlisting>。</para> </listitem> </varlistentry> <varlistentry> - <term>行 3:</term> + <term>行 3:</term> <listitem> - <para>告诉PPP怎样向对方自我标识. - 如果在建立或使用连接时遇到任何麻烦,PPP就会向对方主机自我标识.对方主机管理员 - 在处理这个问题时,这些信息会有用.</para> + <para>告诉 PPP 怎样向对方标识自己。 + 如果在建立或使用连接时遇到任何麻烦, PPP就会向对方主机自我标识。 + 对方主机管理员在处理这个问题时, 这些信息会有用。</para> </listitem> </varlistentry> <varlistentry> - <term>行 4:</term> + <term>行 4:</term> <listitem> - <para>标明modem要连接的端口号.<devicename>COM1</devicename>是 - <filename>/dev/cuaa0</filename>, <devicename>COM2</devicename> - 是<filename>/dev/cuaa1</filename>.</para> + <para>标明modem要连接的端口号。 <devicename>COM1</devicename> 对应的设备是 + <filename>/dev/cuaa0</filename>, 而 <devicename>COM2</devicename> + 对应的则是 <filename>/dev/cuaa1</filename>。</para> </listitem> </varlistentry> <varlistentry> - <term>行 5:</term> + <term>行 5:</term> <listitem> - <para>设置连接的速度.如果115200 - 不能工作,试试 38400.</para> + <para>设置连接的速度。 如果 115200 + 有问题, 试试 38400。</para> </listitem> </varlistentry> @@ -345,60 +324,63 @@ <indexterm><primary>PPP</primary><secondary>user PPP</secondary></indexterm> <listitem> - <para>拨号字符串. 用户级PPP使用一种与&man.chat.8;程序相似的语法. - 请参考联机手册了解这种语言的相关信息.</para> + <para>拨号字符串。 用户级 PPP 使用一种与 &man.chat.8;程序相似的语法。 + 请参考联机手册了解这种语言的相关信息。</para> - <para>注意,为了便于阅读此命令进行了换行.任何<filename>ppp.conf</filename>里的 - 命令都可以这样做,前提是行的最后一个字符必须是<quote>\</quote>.</para> + <para>注意, 为了便于阅读此命令进行了换行。 任何 + <filename>ppp.conf</filename> 里的命令都可以这样做, + 前提是行的最后一个字符必须是 <quote>\</quote>。</para> </listitem> </varlistentry> <varlistentry> - <term>行 8:</term> + <term>行 8:</term> <listitem> - <para>设置连接的时间间隔.默认是180秒,所以这一行是多余的.</para> + <para>设置连接的时间间隔。 默认是 180 秒, 所以这一行是多余的。</para> </listitem> </varlistentry> <varlistentry> - <term>行 9:</term> + <term>行 9:</term> <listitem> - <para>告诉PPP向对方主机确认本地域名解析设置.如果您运行了本地的域名服务器,要注释或删除掉这一行.</para> + <para>告诉PPP向对方主机确认本地域名解析设置。 + 如果您运行了本地的域名服务器, 要注释或删除掉这一行。</para> </listitem> </varlistentry> <varlistentry> - <term>行 10:</term> + <term>行 10:</term> <listitem> - <para>为了可读性的需要设置一个空行.空行会被PPP忽略.</para> + <para>为了可读性的需要设置一个空行。 空行会被PPP忽略。</para> </listitem> </varlistentry> <varlistentry> - <term>行 11:</term> + <term>行 11:</term> <listitem> - <para>为<quote>provider</quote>指定一个项.可以改成 - <acronym>ISP</acronym>的名字.这样您以后就可以使用<option>load ISP</option> - 开启连接.</para> + <para>为 <quote>provider</quote>指定一个项。 可以改成 + <acronym>ISP</acronym>的名字, 这样您以后就可以使用 + <option>load ISP</option> 来开启连接。</para> </listitem> </varlistentry> <varlistentry> - <term>行 12:</term> + <term>行 12:</term> <listitem> - <para>设置提供商的电话号码. 多个电话号码可以使用冒号(<literal>:</literal>) - 或管道符号(<literal>|</literal>)隔开.这两个字符的区别在&man.ppp.8;的联机手册中有介绍. - 总的来讲,如果您要循环使用这些号码,可以使用冒号.如果您想使用第一个号码, - 当第一个号码失败了再用第二个号码,就使用管道符号。 - 如所示的那样, 要给整个电话号码加上引号(")。</para> - - <para> 如果电话号码里有空格,必须用引号(<literal>"</literal>)将其括起来. - 否则会造成简单却难以察觉的错误.</para> + <para>设置提供商的电话号码。 多个电话号码可以使用冒号 (<literal>:</literal>) + 或管道符号 (<literal>|</literal>) 隔开。 + 这两个字符的区别在&man.ppp.8;的联机手册中有介绍。 + 总的来讲, 如果您要循环使用这些号码, 可以使用冒号。 + 如果您想使用第一个号码, 当第一个号码失败了再用第二个号码, + 就使用管道符号。 如所示的那样, 要给整个电话号码加上引号(")。</para> + + <para> 如果电话号码里有空格, 必须用引号(<literal>"</literal>)将其括起来。 + 否则会造成简单却难以察觉的错误。</para> </listitem> </varlistentry> @@ -406,55 +388,63 @@ <term>行 13 & 14:</term> <listitem> - <para>指定用户名和密码.当使用一个&unix;风格的命令提示符登录时,这些值可以用带有\U \P参数 - 的<command>set login</command>命令进行修改.当使用PAP或CHAP进行连接时, - 这些值在验证使用.</para> + <para>指定用户名和密码。 当使用 &unix; 风格的命令提示符登录时, + 这些值可以用带有 \U \P 参数的 <command>set login</command> + 命令进行修改。 当使用PAP或CHAP进行连接时, 这些值在验证使用。</para> </listitem> </varlistentry> <varlistentry> - <term>行 15:</term> + <term>行 15:</term> <listitem> <indexterm><primary>PAP</primary></indexterm> <indexterm><primary>CHAP</primary></indexterm> - <para>如果您使用的是PAP或者CHAP,在这里就不会有登录.要注释或删除掉这一行. - 请参考 <link linkend="userppp-PAPnCHAP">PAP和CHAP认证</link> 以获取更多细节.</para> + <para>如果您使用的是PAP或者CHAP, 在这里就不会有登录。 + 要注释或删除掉这一行。 + 请参考 <link linkend="userppp-PAPnCHAP">PAP 和 CHAP认证</link> + 以了解更多细节。</para> - <para>登录命令是的语法是chat类型的.在这个例子中,是这样的:</para> + <para>登录命令是的语法是chat类型的。 在这个例子中是这样的:</para> <screen>J. Random Provider login: <replaceable>foo</replaceable> password: <replaceable>bar</replaceable> protocol: ppp</screen> - <para>您需要改变这个脚本以适合您自己的需要.当您第一次写这个脚本时, - 应当确保已经启用<quote>chat</quote>并处于登录状态,这样您才能确认通信是否 - 正在按计划进行.</para> + <para>您需要改变这个脚本以适合您自己的需要。 + 当您第一次写这个脚本时, 应当确保已经启用 + <quote>chat</quote> 并处于登录状态, + 这样您才能确认通信是否正在按计划进行。</para> </listitem> </varlistentry> <varlistentry> - <term>行16:</term> + <term>行16:</term> <indexterm><primary>timeout</primary></indexterm> <listitem> - <para>设置默认的超时时间.这里,连接若在300秒内无响应将被断开.如果您不想设置成超时, - 将这个值设置成0,或在命令行使用<option>-ddial</option>选项.</para> + <para>设置默认的超时时间。 这里, 连接若在 300 + 秒内无响应将被断开。如果您不想设置成超时, + 将这个值设置成0, 或在命令行使用 <option>-ddial</option> 选项。</para> </listitem> </varlistentry> <varlistentry> - <term>行 17:</term> + <term>行 17:</term> <indexterm><primary>ISP</primary></indexterm> <listitem> - <para>设置接口地址. 字符串 - <replaceable>x.x.x.x</replaceable>需要用ISP提供给您的IP地址替换. 字符串 - <replaceable>y.y.y.y</replaceable>要用ISP的网关IP地址替换(即您要连接的主机). - 如果ISP没有给您网关地址,可以使用<hostid role="netmask">10.0.0.2/0</hostid>. - 如果您需要使用一个<quote>猜到</quote>的地址,请确保在<filename>/etc/ppp/ppp.linkup</filename> - 中为每个<link linkend="userppp-dynamicIP">PPP和动态IP地址</link>指令创建了项. - 如果没有这一行,<command>ppp</command> 将无法运行<option>-auto</option>模式.</para> + <para>设置接口地址。 您需要用 ISP 提供给您的 IP 地址替换字符串 + <replaceable>x.x.x.x</replaceable>, 用 ISP 的网关 IP + 地址 (即您要连接的主机) 替换字符串 + <replaceable>y.y.y.y</replaceable>。 + 如果ISP没有给您提供网关地址, 可以使用 + <hostid role="netmask">10.0.0.2/0</hostid>。 + 如果您需要使用一个 <quote>猜到</quote>的地址, + 请确保在 <filename>/etc/ppp/ppp.linkup</filename> + 中为每个 <link linkend="userppp-dynamicIP">PPP和动态IP地址</link> + 指令创建了这一项。 如果没有这一行, <command>ppp</command> + 将无法以 <option>-auto</option> 模式运行。</para> </listitem> </varlistentry> @@ -467,87 +457,87 @@ protocol: ppp</screen> 这行必须出现在第17行之后,以免在 <literal>HISADDR</literal> 初始化之前使用它的值。</para> - <para>如果您不想使用 <option>-auto</option> 的 PPP,则这行应挪到, + <para>如果您不想使用 <option>-auto</option> 的 PPP,则这行应挪到 <filename>ppp.linkup</filename> 文件中。</para> </listitem> </varlistentry> </variablelist> - <para>若您有一个静态IP地址,且使用<option>-auto</option> - 模式运行ppp(因为在连接之前已经正确设置了路由表项),那就不需要再向<filename>ppp.linkup</filename> - 添加项.您可能希望在连接以后创建一个项来调用程序.这在以后的sendmail的例子中会解释. - .</para> + <para>若您有一个静态IP地址, 且使用<option>-auto</option> + 模式运行ppp(因为在连接之前已经正确设置了路由表项), 那就不需要再向<filename>ppp.linkup</filename> + 添加项。 您可能希望在连接以后创建一个项来调用程序。 这在以后的sendmail的例子中会解释。</para> - <para>示例配置文件可以在目录<filename>/usr/share/examples/ppp/</filename>中找到.</para> + <para>示例配置文件可以在目录<filename>/usr/share/examples/ppp/</filename>中找到。</para> </sect4> <sect4 id="userppp-dynamicIP"> <title>PPP和动态IP地址</title> <indexterm><primary>PPP</primary><secondary>with dynamic IP addresses</secondary></indexterm> <indexterm><primary>IPCP</primary></indexterm> - <para>如果ISP没给您指定静态的IP地址,<command>ppp</command>要被配置成能够与对方协商确定本地和远程地址. - 要完成这项工作,先要<quote>猜</quote>一个IP地址,然后允许 - <command>ppp</command>在连接后使用IP配置协议(IPCP)进行正确配置. + <para>如果ISP没给您指定静态的IP地址, <command>ppp</command>要被配置成能够与对方协商确定本地和远程地址。 + 要完成这项工作, 先要<quote>猜</quote>一个IP地址, 然后允许 + <command>ppp</command>在连接后使用IP配置协议(IPCP)进行正确配置。 <filename>ppp.conf</filename>的配置是与 - <link linkend="userppp-staticIP">PPP和静态IP地址</link>一样的,除了以下的改变:</para> + <link linkend="userppp-staticIP">PPP和静态IP地址</link>一样的, 除了以下的改变:</para> <programlisting>17 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.255</programlisting> - <para>再次强调,不要包括行号,它只是一个引用标记.缩排一个空格是必须的.</para> + <para>再次强调, 不要包括行号, 它只是一个引用标记。 缩排一个空格是必需的。</para> <variablelist> <varlistentry> - <term>行17:</term> + <term>行17:</term> <listitem> - <para><literal>/</literal>字符以后是PPP所要求的地址位码. - 您可以根据需要使用不同IP号码,但以上的例子永远是可行的.</para> + <para><literal>/</literal> 字符后面是 PPP 所要求的地址掩码。 + 您可以根据需要使用不同 IP 地址, 但以上的例子永远是可行的。</para> <para>最后的参数(<literal>0.0.0.0</literal>)告诉 PPP从<hostid - role="ipaddr">0.0.0.0</hostid> 而不是 <hostid - role="ipaddr">10.0.0.1</hostid> 开始协商地址,对于有些ISP, - 这是必需的.不要将 <literal>0.0.0.0</literal> - 作为 <command>set ifaddr</command>的第一个参数,因为这使得PPP在 - <option>-auto</option> 模式时不能设置初始路由.</para> + role="ipaddr">0.0.0.0</hostid> 而不是 <hostid + role="ipaddr">10.0.0.1</hostid> 开始协商地址, 对于有些ISP, + 这是必需的。 不要将 <literal>0.0.0.0</literal> + 作为 <command>set ifaddr</command> 的第一个参数, + 因为这使得 PPP 在 <option>-auto</option> 模式时不能设置初始路由。</para> </listitem> </varlistentry> </variablelist> - <para>如果您不运行<option>-auto</option>模式, - 就需要在<filename>/etc/ppp/ppp.linkup</filename>中创建一个项. - 连接建立之后,<filename>ppp.linkup</filename>被启用. 这时候, - <command>ppp</command>将指派接口地址,接着再添加路由表项:</para> + <para>如果您不运行<option>-auto</option>模式, + 就需要在<filename>/etc/ppp/ppp.linkup</filename>中创建一个项。 + 连接建立之后, <filename>ppp.linkup</filename>被启用。 这时候, + <command>ppp</command>将指派接口地址, 接着再添加路由表项:</para> <programlisting>1 provider: 2 add default HISADDR</programlisting> <variablelist> <varlistentry> - <term>Line 1:</term> + <term>行 1:</term> <listitem> - <para>为了建立连接, + <para>为了建立连接, <command>ppp</command> 会按按照如下规则在 - <filename>ppp.linkup</filename>寻找项:首先,试图寻找相同的标签 - (如同在<filename>ppp.conf</filename>一样).如果失败了,寻找作为网关 - IP地址的项,此项是四个八位字节的风格.如果依旧没有找到,就寻找<literal>MYADDR</literal>项</para> + <filename>ppp.linkup</filename>寻找项:首先, 试图寻找相同的标签 + (如同在<filename>ppp.conf</filename>一样)。 如果失败了, + 寻找作为网关 IP 地址的项, 此项是四个八位字节的风格。 + 如果依旧没有找到, 就寻找 <literal>MYADDR</literal> 项</para> </listitem> </varlistentry> <varlistentry> - <term>行 2:</term> + <term>行 2:</term> <listitem> <para>这行告诉 <command>ppp</command>添加指向 - <literal>HISADDR</literal>的默认路由. - <literal>HISADDR</literal>由通过IPCP协商得到的IP号替换.</para> + <literal>HISADDR</literal>的默认路由。 + <literal>HISADDR</literal>由通过IPCP协商得到的IP号替换。</para> </listitem> </varlistentry> </variablelist> <para>参考<filename>/usr/share/examples/ppp/ppp.conf.sample</filename> 和<filename>/usr/share/examples/ppp/ppp.linkup.sample</filename> - 中的<literal>pmdemand</literal>项以获取细节化的例子.</para> + 中的<literal>pmdemand</literal>项以获取细节化的例子。</para> </sect4> <sect4> @@ -555,58 +545,59 @@ protocol: ppp</screen> <indexterm><primary>PPP</primary><secondary>receiving incoming calls</secondary></indexterm> <para>当要配置 <application>ppp</application>接受来自LAN上的 - 拨入时,您需要决定是否将包转给LAN.如果是的话,您就必须从LAN子网中 - 给对方分配一个IP, 需要在文件<filename>/etc/ppp/ppp.conf</filename> - 中使用命令<command>enable proxy</command> .您还应该确定文件 - <filename>/etc/rc.conf</filename>中包含以下内容:</para> + 拨入时, 您需要决定是否将包转给LAN。 如果是的话, 您就必须从 LAN + 子网中给对方分配一个IP, 需要在文件 <filename>/etc/ppp/ppp.conf</filename> + 中使用命令 <command>enable proxy</command>。 您还应该确定文件 + <filename>/etc/rc.conf</filename> 中包含以下内容:</para> <programlisting>gateway_enable="YES"</programlisting> </sect4> <sect4> - <title>使用哪个ggtty?</title> + <title>使用哪个getty?</title> - <para><link linkend="dialup">配置FreeBSD的拨号服务</link>描述了怎么使用命令 - &man.getty.8;启动拨号服务.</para> + <para><link linkend="dialup">配置 FreeBSD 的拨号服务</link> + 描述了如何用 &man.getty.8; 来启动拨号服务。</para> - <para>除了<command>getty</command> 还有 <ulink - url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>, - 它是<command>getty</command>的智能版本,是按照拨号线的思想设计的.</para> + <para>除了 <command>getty</command> 之外还有 <ulink + url="http://www.leo.org/~doering/mgetty/index.html">mgetty</ulink>, + 它是 <command>getty</command> 的智能版本, 是按照拨号线的思想设计的。</para> - <para>使用<command>mgetty</command>的好处是它能积极地与modems进行 - <emphasis>talks</emphasis> , - 这就意味着如果在<filename>/etc/ttys</filename>中的端口被关闭, - 您的moderm就不会回应拨入.</para> + <para>使用 <command>mgetty</command> 的好处是它能积极地与 modem 进行 + <emphasis>会话</emphasis>, + 这就意味着如果在<filename>/etc/ttys</filename>中的端口被关闭, + 您的moderm就不会回应拨入。</para> - <para>最新版本的<command>mgetty</command> (from - 0.99beta onwards)也支持自动侦测PPP数据流,允许客户端不使用脚本就可以访问服务器 - .</para> + <para>较新版本的 <command>mgetty</command> (从 + 0.99beta 起) 也支持自动检测 PPP 数据流, + 这样即便客户端不使用脚本也能访问服务器了。</para> <para>参考<link linkend="userppp-mgetty">Mgetty 和 - AutoPPP</link>的联机手册了解更多信息.</para> + AutoPPP</link>的联机手册了解更多信息。</para> </sect4> <sect4> <title><application>PPP</application> 权限</title> - <para> <command>ppp</command>命令通常必须作为<username>root</username>用户运行. - 但如果想让一个普通用户将<command>ppp</command>运行于服务器模式(就像下面描述的那样) - ,您必须要把此用户加入<username>network</username>组以使其获得运行 <command>ppp</command> - 的权限.</para> + <para><command>ppp</command> 命令通常必须以 <username>root</username> + 用户的身份运行。 如果希望以普通用户的身份启动 <command>ppp</command> + 服务 (就像下面描述的那样), 就必须把此用户加入 + <username>network</username> 组, 使其获得运行 <command>ppp</command> + 的权限。</para> <para>您还需要使用<command>allow</command>命令使用户能访问配置文 - 件的一个或多个部分:</para> + 件的一个或多个部分:</para> <programlisting>allow users fred mary</programlisting> <para>如果这个命令被用在 <literal>default</literal> - 部分中,您可以让指定的用户访问任何东西.</para> + 部分中, 您可以让指定的用户访问任何东西。</para> </sect4> <sect4> <title>动态IP用户的PPP Shell</title> <indexterm><primary>PPP shells</primary></indexterm> - <para>创建一个名为<filename>/etc/ppp/ppp-shell</filename>文件,加入以下内容:</para> + <para>创建一个名为<filename>/etc/ppp/ppp-shell</filename>文件, 加入以下内容:</para> <programlisting>#!/bin/sh IDENT=`echo $0 | sed -e 's/^.*-\(.*\)$/\1/'` CALLEDAS="$IDENT" @@ -621,8 +612,8 @@ echo "Starting PPP for $IDENT" exec /usr/sbin/ppp -direct $IDENT</programlisting> - <para>这个脚本要有可执行属性. 然后通过如下命令创建一个指向此脚本且名为 - <filename>ppp-dialup</filename>的符号链接:</para> + <para>这个脚本要有可执行属性。 然后通过如下命令创建一个指向此脚本且名为 + <filename>ppp-dialup</filename>的符号链接:</para> <screen>&prompt.root; <userinput>ln -s ppp-shell /etc/ppp/ppp-dialup</userinput></screen> @@ -635,40 +626,40 @@ exec /usr/sbin/ppp -direct $IDENT</programlisting> <programlisting>pchilds:*:1011:300:Peter Childs PPP:/home/ppp:/etc/ppp/ppp-dialup</programlisting> - <para>创建一个名为 <filename>/home/ppp</filename>的目录作为拨入用户的主目录, - 包含以下这些空文件:</para> + <para>创建一个名为 <filename>/home/ppp</filename>的目录作为拨入用户的主目录, + 包含以下这些空文件:</para> <screen>-r--r--r-- 1 root wheel 0 May 27 02:23 .hushlogin -r--r--r-- 1 root wheel 0 May 27 02:22 .rhosts</screen> - <para>这样就可以防止<filename>/etc/motd</filename>被显示出来.</para> + <para>这样就可以防止<filename>/etc/motd</filename>被显示出来。</para> </sect4> <sect4> <title>静态IP用户的Shell </title> <indexterm><primary>PPP shells</primary></indexterm> - <para>像上面那样创建<filename>ppp-shell</filename>文件, + <para>像上面那样创建<filename>ppp-shell</filename>文件, 为每个静态分配IP用户创建一个到 <filename>ppp-shell</filename>的 - 符号链接.</para> + 符号链接。</para> - <para>例如,如果您有三个拨号用户, - <username>fred</username>,<username>sam</username>,和 - <username>mary</username>,您为他们路由C类网络,您需要键入以下内容:</para> + <para>例如, 如果您有三个拨号用户, + <username>fred</username>, <username>sam</username>, 和 + <username>mary</username>, 您为他们路由C类网络, 您需要键入以下内容:</para> <screen>&prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-fred</userinput> &prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-sam</userinput> &prompt.root; <userinput>ln -s /etc/ppp/ppp-shell /etc/ppp/ppp-mary</userinput></screen> <para>每个用户的Shell必须被设成一个符号链接(例如用户 - <username>mary</username>的Shell应该是<filename>/etc/ppp/ppp-mary</filename>).</para> + <username>mary</username>的Shell应该是<filename>/etc/ppp/ppp-mary</filename>)。</para> </sect4> <sect4> <title>为动态IP用户设置<filename>ppp.conf</filename> </title> <para> <filename>/etc/ppp/ppp.conf</filename>文件应该包含下面 - 这些行:</para> + 这些行:</para> <programlisting>default: set debug phase lcp chat @@ -683,21 +674,22 @@ ttyd1: enable proxy</programlisting> <note> - <para>缩进得必须的.</para> + <para>缩进得必须的。</para> </note> - <para> <literal>default:</literal>项在每次会话时都会加载.每个在 - <filename>/etc/ttys</filename>中启用的行都必须为其创建一个相似于 - <literal>ttyd0:</literal> 的项.每一行应该从动态IP 地址池中取得 - 唯一的IP地址.</para> + <para> <literal>default:</literal>项在每次会话时都会加载。 每个在 + <filename>/etc/ttys</filename> 中启用的行都必须为其创建一个相似于 + <literal>ttyd0:</literal> 的项。 每一行应该从动态 IP + 地址池中取得唯一的IP地址。</para> </sect4> <sect4> - <title> 为静态IP用户配置<filename>ppp.conf</filename></title> + <title>为静态 IP 用户配置 <filename>ppp.conf</filename></title> - <para>根据上面<filename>/usr/share/examples/ppp/ppp.conf</filename>文件的内容, - 您必须为每个静态拨号用户添加一个项.我们继续以<username>fred</username>, <username>sam</username>, - 和<username>mary</username>为例.</para> + <para>根据上面 <filename>/usr/share/examples/ppp/ppp.conf</filename> 文件的内容, + 您必须为每个静态拨号用户添加一个项。 我们继续以 + <username>fred</username>、 <username>sam</username> + 以及 <username>mary</username>为例。</para> <programlisting>fred: set ifaddr 203.14.100.1 203.14.101.1 255.255.255.255 @@ -708,9 +700,10 @@ sam: mary: set ifaddr 203.14.100.1 203.14.103.1 255.255.255.255</programlisting> - <para> 如果需要,<filename>/etc/ppp/ppp.linkup</filename> - 也应该包括每个静态IP用户的的路由信息.下面这一行为客户连接添加了 - <hostid role="ipaddr">203.14.101.0</hostid>C类路由.</para> + <para> 如果需要, <filename>/etc/ppp/ppp.linkup</filename> + 也应该包括每个静态IP用户的的路由信息。 + 下面这一行为客户连接添加了到 C 类网络 + <hostid role="ipaddr">203.14.101.0</hostid>的路由。</para> <programlisting>fred: add 203.14.101.0 netmask 255.255.255.0 HISADDR @@ -733,26 +726,26 @@ mary: <para>在配置和编译<command>mgetty</command> 时启用 <literal>AUTO_PPP</literal>选项 使<command>mgetty</command>能够探测PPP连接的的LCP状态 - 并自动产生PPP Shell. 但如果默认的login/password队列没有出现, - 那就必须使用PAP或CHAP来验证用户.</para> + 并自动产生PPP Shell。 但如果默认的login/password队列没有出现, + 那就必须使用PAP或CHAP来验证用户。</para> - <para>这节假定您已经为用户成功地配置,编译了带有<literal>AUTO_PPP</literal>选项的 - <command>mgetty</command>.</para> - <para>确认钅件<filename>/usr/local/etc/mgetty+sendfax/login.config</filename> - 包含以下内容:</para> + <para>这节假定您已经为用户成功地配置, 编译了带有<literal>AUTO_PPP</literal>选项的 + <command>mgetty</command>。</para> + <para>确认文件 <filename>/usr/local/etc/mgetty+sendfax/login.config</filename> + 包含以下内容:</para> <programlisting>/AutoPPP/ - - /etc/ppp/ppp-pap-dialup</programlisting> <para>这行告诉<command>mgetty</command>运行 - <filename>ppp-pap-dialup</filename>脚本来侦听PPP连接.</para> + <filename>ppp-pap-dialup</filename>脚本来侦听PPP连接。</para> - <para>创建<filename>/etc/ppp/ppp-pap-dialup</filename>文件写入以下内容 (此文件应该是可执行的):</para> + <para>创建<filename>/etc/ppp/ppp-pap-dialup</filename>文件写入以下内容 (此文件应该是可执行的):</para> <programlisting>#!/bin/sh exec /usr/sbin/ppp -direct pap$IDENT</programlisting> - <para>对应于每个在<filename>/etc/ttys</filename>的启用行,都要在<filename>/etc/ppp/ppp.conf</filename> - 中创建相应的项. 这和上面的定义是相同的.</para> + <para>对应于每个在<filename>/etc/ttys</filename>的启用行, 都要在<filename>/etc/ppp/ppp.conf</filename> + 中创建相应的项。 这和上面的定义是相同的。</para> <programlisting>pap: enable pap @@ -766,10 +759,11 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> <programlisting>enable passwdauth</programlisting> - <para>如果您想为某些用户分配静态IP, - 可以在<filename>/etc/ppp/ppp.secret</filename>中将IP号作为第三个参数指定. 参看 + <para>如果您想为某些用户分配静态IP, + 可以在 <filename>/etc/ppp/ppp.secret</filename> + 中将IP号作为第三个参数指定。 请参见 <filename>/usr/share/examples/ppp/ppp.secret.sample</filename> - 中的例子.</para> + 中的例子。</para> </sect4> <sect4> @@ -777,42 +771,44 @@ exec /usr/sbin/ppp -direct pap$IDENT</programlisting> <indexterm><primary>DNS</primary></indexterm> <indexterm><primary>NetBIOS</primary></indexterm> <indexterm><primary>PPP</primary><secondary>Microsoft extensions</secondary></indexterm> - <para>可以配置PPP以提供DNS和NetBIOS域名服务器地址.</para> + <para>可以配置PPP以提供DNS和NetBIOS域名服务器地址。</para> - <para>要在PPP版本 1.x中启用这些扩展,必须向 - <filename>/etc/ppp/ppp.conf</filename>的相关项加入以下行:</para> + <para>要在 PPP 1.x 版本中启用这些扩展, 需要在 + <filename>/etc/ppp/ppp.conf</filename> 的对应项中加入下列配置:</para> <programlisting>enable msext set ns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5</programlisting> - <para>PPP版本2及以上 :</para> + <para>PPP版本2及以上:</para> <programlisting>accept dns set dns 203.14.100.1 203.14.100.2 set nbns 203.14.100.5</programlisting> - <para>这将告诉客户端首选域名服务器和备用域名服务器.</para> + <para>这将告诉客户端首选域名服务器和备用域名服务器。</para> - <para>在版本2及以上版本中, 如果省略了 - <literal>set dns</literal>, PPP会使用 - <filename>/etc/resolv.conf</filename>中的值.</para> + <para>在版本2及以上版本中, 如果省略了 + <literal>set dns</literal>, PPP会使用 + <filename>/etc/resolv.conf</filename>中的值。</para> </sect4> <sect4 id="userppp-PAPnCHAP"> - <title>PAP 和CHAP验证</title> + <title>PAP 和 CHAP 验证</title> <indexterm><primary>PAP</primary></indexterm> <indexterm><primary>CHAP</primary></indexterm> - <para>一些ISP将系统设置成使用PAP或CHAP机制来完成连接的验证部分. - . 如果是这样,在您连接时ISP就不会给出<prompt>login:</prompt>提示符而是立即开始PPP对话.</para> + <para>一些 ISP 将系统配置为使用 PAP 或 CHAP 机制来完成连接验证。 + 如果遇到这种情况, 在您连接时 ISP 就不会看到 + <prompt>login:</prompt> 提示符, 而是立即开始 PPP 对话。</para> - <para>PAP安全性要比CHAP差一些,但在这里安全性并不是问题,因为密码(即使用明文传送)只是通过串行线传送. - 黑客没有太多机会<quote>窃听</quote>.</para> + <para>PAP 安全性要比 CHAP 差一些, 但在这里安全性并不是问题, + 因为密码 (即使用明文传送) 只是通过串行线传送, + 攻击者并没有太多机会去 <quote>窃听</quote> 它。</para> - <para>参考<link linkend="userppp-staticIP">PPP - 和静态IP地址</link> 或 <link - linkend="userppp-dynamicIP">PPP 和动态IP地址</link> - 节,必须做以下修改:</para> + <para>参考 <link linkend="userppp-staticIP">PPP + 与静态 IP 地址</link> 或 <link + linkend="userppp-dynamicIP">PPP 与动态 IP 地址</link> + 小节, 并完成下列改动:</para> <programlisting>13 set authname <replaceable>MyUserName</replaceable> 14 set authkey <replaceable>MyPassword</replaceable> @@ -823,8 +819,8 @@ set nbns 203.14.100.5</programlisting> <term>第 13 行:</term> <listitem> - <para>这一行指明您的PAP/CHAP用户名. - 您需要为<replaceable>MyUserName</replaceable>输入正确的值.</para> + <para>这一行指明您的PAP/CHAP用户名。 + 您需要为<replaceable>MyUserName</replaceable>输入正确的值。</para> </listitem> </varlistentry> @@ -835,19 +831,19 @@ set nbns 203.14.100.5</programlisting> <para>这一行指明您的 PAP/CHAP password密码。 您需要为 <replaceable>MyPassword</replaceable> 输入正确的值。 另外,您可能希望加入一些额外的选项,例如:</para> - + <programlisting>16 accept PAP</programlisting> <para>或</para> <programlisting>16 accept CHAP</programlisting> - <para>以明确您的意图,但PAP和CHAP都是被默认接受的.</para> + <para>以明确您的意图, 不过, 默认情况下 PAP 和 CHAP 都会被接受。</para> </listitem> </varlistentry> <varlistentry> - <term>Line 15:</term> + <term>行 15:</term> <listitem> <para>如果您使用的是 PAP 或 CHAP, 一般来说 ISP @@ -862,16 +858,16 @@ set nbns 203.14.100.5</programlisting> <sect4> <title>即时改变您的<command>ppp</command> 配置</title> - <para>与后台运行的<command>ppp</command>程序进行对话是可能的, - 前提是设置了一个合适的诊断端口. 做到这一点,需要把下面的行加入到您的配置中:</para> + <para>与后台运行的<command>ppp</command>程序进行对话是可能的, + 前提是设置了一个合适的诊断端口。 做到这一点, 需要把下面的行加入到您的配置中:</para> <programlisting>set server /var/run/ppp-tun<replaceable>%d</replaceable> DiagnosticPassword 0177</programlisting> - <para>这行告诉 PPP在指定的&unix;域socket中侦听,当用户连接时需要给出指定的密码. - <literal>%d</literal>用<devicename>tun</devicename>设备号替换.</para> + <para>这行告诉 PPP在指定的&unix;域socket中侦听, 当用户连接时需要给出指定的密码。 + <literal>%d</literal>用<devicename>tun</devicename>设备号替换。</para> - <para>一旦启用了socket, 就可以在脚本中调用程序&man.pppctl.8;来处理正在运行的 - 的PPP.</para> + <para>一旦启用了socket, 就可以在脚本中调用程序&man.pppctl.8;来处理正在运行的 + 的PPP。</para> </sect4> </sect3> @@ -879,24 +875,24 @@ set nbns 203.14.100.5</programlisting> <title>使用PPP网络地址翻译</title> <indexterm><primary>PPP</primary><secondary>NAT</secondary></indexterm> - <para>PPP可以使用内建的NAT,而不需内核支持. 这个功能可以通过在<filename>/etc/ppp/ppp.conf</filename>中的 - 以下行启用:</para> + <para>PPP 可以使用内建的 NAT, 而无需内核支持。 + 您可以在 <filename>/etc/ppp/ppp.conf</filename> 中加入如下配置来启用它:</para> <programlisting>nat enable yes</programlisting> <para> PPP NAT也可以使用命令行选项 - <literal>-nat</literal>启动. 在文件 - <filename>/etc/rc.conf</filename>中也有 - <literal>ppp_nat</literal>项,且是默认启用的.</para> + <literal>-nat</literal>启动。 在 + <filename>/etc/rc.conf</filename> 文件中也有 + <literal>ppp_nat</literal> 项, 并默认启用。</para> - <para>如果您使用了这个特性, 您还会发现在 + <para>如果您使用了这个特性, 您还会发现在 <filename>/etc/ppp/ppp.conf</filename>中以下 - 选项对于启用incoming connections forwarding是有用的:</para> + 选项对于启用incoming connections forwarding是有用的:</para> <programlisting>nat port tcp 10.0.0.2:ftp ftp nat port tcp 10.0.0.2:http http</programlisting> - <para>or do not trust the outside at all</para> + <para>或者完全不信任外来的请求</para> <programlisting>nat deny_incoming yes</programlisting> </sect3> @@ -905,32 +901,33 @@ nat port tcp 10.0.0.2:http http</programlisting> <title>最后的系统配置</title> <indexterm><primary>PPP</primary><secondary>configuration</secondary></indexterm> - <para>现在您已配置了<command>ppp</command>,但在真正工作之前还有一些事情要做.它们都与编辑 - <filename>/etc/rc.conf</filename>有关.</para> + <para>现在您已配置了<command>ppp</command>, 但在真正工作之前还有一些事情要做。 + 即修改 <filename>/etc/rc.conf</filename>。</para> - <para>从上依次往下看,确认设置了 - <literal>hostname=</literal> 行, e.g.:</para> + <para>从上依次往下看, 确认已经正确地配置了 + <literal>hostname=</literal>, 例如:</para> <programlisting>hostname="foo.example.com"</programlisting> - <para>如果您的ISP提供给您一个静态的IP和名字,将这个名字设为hostname是最合适的.</para> + <para>如果您的ISP提供给您一个静态的IP和名字, 将这个名字设为hostname是最合适的。</para> - <para>寻找 <literal>network_interfaces</literal> 变量. - 如果要配置系统通过拨号连入ISP, - 一定要将<devicename>tun0</devicename>设备加入这个列表,否则就删除它.</para> + <para>寻找 <literal>network_interfaces</literal> 变量。 + 如果要配置系统通过拨号连入ISP, + 一定要将<devicename>tun0</devicename>设备加入这个列表, 否则就删除它。</para> <programlisting>network_interfaces="lo0 tun0" ifconfig_tun0=</programlisting> <note> - <para> <literal>ifconfig_tun0</literal>变量应该是空的,且要创建一个名为 - <filename>/etc/start_if.tun0</filename>的文件. - 这个文件应该包含这一行:</para> + <para> <literal>ifconfig_tun0</literal>变量应该是空的, 且要创建一个名为 + <filename>/etc/start_if.tun0</filename>的文件。 + 这个文件应该包含这一行:</para> <programlisting>ppp -auto mysystem</programlisting> - <para>此脚本在网络配置时被执行,开启PPP守护进程进入自动模式.如果这台机子充当一个LAN的网关, - 您可能希望使用<option>-alias</option>.参考相关联机手册了解更多细节.</para> + <para>此脚本在网络配置时被执行, 开启PPP守护进程进入自动模式。 + 如果这台机子充当一个LAN的网关, 您可能希望使用 + <option>-alias</option>。 参考相关联机手册了解更多细节。</para> </note> <para>务必在 @@ -956,12 +953,12 @@ ifconfig_tun0=</programlisting> <indexterm> <primary><application>sendmail</application></primary> </indexterm> - <para>替代的作法是当每次PPP连接建立时您必须通过键入以下命令强制 - <command>sendmail</command>重新检查邮件队列:</para> + <para>替代的做法是当每次 PPP 连接建立时您必须通过键入以下命令强制 + <command>sendmail</command> 重新检查邮件队列:</para> <screen>&prompt.root; <userinput>/usr/sbin/sendmail -q</userinput></screen> - <para>您也可以在<filename>ppp.linkup</filename>使用<command>!bg</command>命令自动完成这些工作:</para> + <para>您也可以在<filename>ppp.linkup</filename>使用<command>!bg</command>命令自动完成这些工作:</para> <programlisting>1 provider: 2 delete ALL @@ -969,18 +966,19 @@ ifconfig_tun0=</programlisting> 4 !bg sendmail -bd -q30m</programlisting> <indexterm><primary>SMTP</primary></indexterm> - <para>如果您不喜欢这样做, 可以设立一个 - <quote>dfilter</quote> 以阻止 SMTP传输.参考相关文件了解更多细节 .</para> + <para>如果您不喜欢这样做, 可以设立一个 + <quote>dfilter</quote> 以阻止 SMTP 传输。 + 参考相关文件了解更多细节。</para> <para>现在您唯一要做的事是重新启动计算机。 - 重起之后,可以输入:</para> + 重启之后,可以输入:</para> <screen>&prompt.root; <userinput>ppp</userinput></screen> - <para>然后是<command>dial provider</command>以开启 PPP会话. - 或者如果您想让<command>ppp</command>自动建立会话 - ,因为您有一个广域连接(且没有创建 <filename>start_if.tun0</filename> - 脚本),键入:</para> + <para>然后是<command>dial provider</command>以开启 PPP会话。 + 或者如果您想让<command>ppp</command>自动建立会话, + 因为您有一条广域网连接 (且没有创建 <filename>start_if.tun0</filename> + 脚本), 键入:</para> <screen>&prompt.root; <userinput>ppp -auto provider</userinput></screen> </sect3> @@ -988,75 +986,75 @@ ifconfig_tun0=</programlisting> <sect3> <title>总结</title> - <para>当第一次设置PPP时,下面几步是必须的:</para> + <para>当第一次设置PPP时, 下面几步是必须的:</para> - <para>客户端:</para> + <para>客户端:</para> <procedure> <step> - <para>确保 <devicename>tun</devicename>编译进了进核.</para> + <para>确保 <devicename>tun</devicename>编译进了进核。</para> </step> <step> <para>确保<filename>tun<replaceable>N</replaceable></filename> - 设备文件在 <filename>/dev</filename> 目录中是可用的.</para> + 设备文件在 <filename>/dev</filename> 目录中是可用的。</para> </step> <step> <para>在 - <filename>/etc/ppp/ppp.conf</filename>中创建一个项. - <filename>pmdemand</filename>示例应该适合于绝大多数ISP.</para> + <filename>/etc/ppp/ppp.conf</filename>中创建一个项。 + <filename>pmdemand</filename>示例应该适合于绝大多数ISP。</para> </step> <step> - <para>如果您使用动态IP地址,在<filename>/etc/ppp/ppp.linkup</filename>创建一个项.</para> + <para>如果您使用动态IP地址, 在<filename>/etc/ppp/ppp.linkup</filename>创建一个项。</para> </step> <step> <para>更新<filename>/etc/rc.conf</filename> - 文件.</para> + 文件。</para> </step> <step> - <para>如果您要求按需拨号,创建一个<filename>start_if.tun0</filename>脚本.</para> + <para>如果您要求按需拨号, 创建一个<filename>start_if.tun0</filename>脚本。</para> </step> </procedure> - <para>服务器端:</para> + <para>服务器端:</para> <procedure> <step> - <para>确保<devicename>tun</devicename>设备已编译入内核.</para> + <para>确保<devicename>tun</devicename>设备已编译入内核。</para> </step> <step> <para>确保<filename>tun<replaceable>N</replaceable></filename>设备文件在 - <filename>/dev</filename>目录中是可用的.</para> + <filename>/dev</filename>目录中是可用的。</para> </step> <step> <para>在<filename>/etc/passwd</filename>中创建一个项 - (使用&man.vipw.8;程序).</para> + (使用&man.vipw.8;程序)。</para> </step> <step> <para>在用户的home目录创建一个运行 - <command>ppp -direct direct-server</command>或相似命令的profile.</para> + <command>ppp -direct direct-server</command>或相似命令的profile。</para> </step> <step> - <para>在<filename>/etc/ppp/ppp.conf</filename>中创建一个项. - <filename>direct-server</filename>示例应该能满足要求.</para> + <para>在<filename>/etc/ppp/ppp.conf</filename>中创建一个项。 + <filename>direct-server</filename>示例应该能满足要求。</para> </step> <step> <para>在 - <filename>/etc/ppp/ppp.linkup</filename>中创建一个项.</para> + <filename>/etc/ppp/ppp.linkup</filename>中创建一个项。</para> </step> <step> <para>更新 <filename>/etc/rc.conf</filename> - 文件.</para> + 文件。</para> </step> </procedure> </sect3> @@ -1084,29 +1082,29 @@ ifconfig_tun0=</programlisting> <title>设立内核级PPP</title> <indexterm><primary>PPP</primary><secondary>kernel PPP</secondary></indexterm> - <para>在开始设置内核级PPP时, 需要确信<command>pppd</command>已经被定位在<filename>/usr/sbin</filename> 中 - 且存在<filename>/etc/ppp</filename>目录 .</para> + <para>在开始设置内核级PPP时, 需要确信<command>pppd</command>已经被定位在<filename>/usr/sbin</filename> 中 + 且存在<filename>/etc/ppp</filename>目录。</para> - <para><command>pppd</command>能在两种模式下工作:</para> + <para><command>pppd</command>能在两种模式下工作:</para> <orderedlist> <listitem> - <para>作为一个<quote>客户</quote> — 您要通过PPP串行线或modem线把您的机器连接到互联网上 - .</para> + <para>作为一个 <quote>客户</quote> — + 您要通过PPP串行线或modem线把您的机器连接到互联网上。</para> </listitem> <indexterm><primary>PPP</primary><secondary>server</secondary></indexterm> <listitem> - <para>作为<quote>服务器</quote> —计算机已经位于网络上,且被用于通过PPP与其它计算机连接.</para> + <para>作为<quote>服务器</quote> —计算机已经位于网络上, 且被用于通过PPP与其它计算机连接。</para> </listitem> </orderedlist> - <para>两种情况您都需要设立一个选项文件, + <para>两种情况您都需要设立一个选项文件, (<filename>/etc/ppp/options</filename> 或者是 - <filename>~/.ppprc</filename> 如果您的计算机有多个用户使用PPP).</para> + <filename>~/.ppprc</filename> 如果您的计算机有多个用户使用PPP)。</para> - <para>您还需要一些modem/serial软件(<filename role="package">comms/kermit</filename>就很适合), - 使您能够拨号并与远程主机建立连接.</para> + <para>您还需要一些modem/serial软件(<filename role="package">comms/kermit</filename>就很适合), + 使您能够拨号并与远程主机建立连接。</para> </sect2> <sect2> @@ -1125,7 +1123,7 @@ ifconfig_tun0=</programlisting> <indexterm><primary>PPP</primary><secondary>client</secondary></indexterm> <indexterm><primary>Cisco</primary></indexterm> <para>下面这个 <filename>/etc/ppp/options</filename>选项文件能够被用来与CISCO终端服务器的 - PPP线连接.</para> + PPP线连接。</para> <programlisting>crtscts # enable hardware flow control modem # modem control line @@ -1143,7 +1141,7 @@ domain ppp.foo.com # put your domain name here defaultroute # put this if you want that PPP server will be your # default router</programlisting> - <para>连接:</para> + <para>连接:</para> <indexterm><primary>Kermit</primary></indexterm> <indexterm><primary>modem</primary></indexterm> @@ -1159,18 +1157,19 @@ defaultroute # put this if you want that PPP server will be your </step> <step> - <para>键入下面这行:</para> + <para>键入下面这行:</para> <screen>&prompt.root; <userinput>/usr/src/usr.sbin/pppd.new/pppd <replaceable>/dev/tty01</replaceable> <replaceable>19200</replaceable></userinput></screen> - <para>一定要使用正确的速度和设备名.</para> + <para>一定要使用正确的速度和设备名。</para> </step> </procedure> - <para>现在您的计算机已经用PPP连接. 如果连接失败 - , 您可在文件<filename>/etc/ppp/options</filename>中添加 <option>debug</option>选项,察看控制台信息以跟踪问题.</para> + <para>现在您的计算机已经用PPP连接。 如果连接失败, + 您可在文件 <filename>/etc/ppp/options</filename> 中添加 + <option>debug</option> 选项, 并查看控制台信息以跟踪问题。</para> - <para>下面这个<filename>/etc/ppp/pppup</filename>脚本能自动完成这三个步骤:</para> + <para>下面这个<filename>/etc/ppp/pppup</filename>脚本能自动完成这三个步骤:</para> <programlisting>#!/bin/sh ps ax |grep pppd |grep -v grep @@ -1197,7 +1196,7 @@ pppd /dev/tty01 19200</programlisting> 脚本, 它会完成拨号, 并在远程主机上完成所有需要的身份验证过程 (这份文档的最后有一个脚本实例)。</para> - <para>使用下面这个脚本<filename>/etc/ppp/pppdown</filename>断开PPP连线:</para> + <para>使用下面这个脚本<filename>/etc/ppp/pppdown</filename>断开PPP连线:</para> <programlisting>#!/bin/sh pid=`ps ax |grep pppd |grep -v grep|awk '{print $1;}'` @@ -1218,7 +1217,7 @@ fi kermit -y /etc/ppp/kermit.hup /etc/ppp/ppptest</programlisting> - <para>通过执行<filename>/usr/etc/ppp/ppptest</filename>,看看<command>pppd</command> 是否仍在运行:</para> + <para>通过执行<filename>/usr/etc/ppp/ppptest</filename>, 看看<command>pppd</command> 是否仍在运行:</para> <programlisting>#!/bin/sh pid=`ps ax| grep pppd |grep -v grep|awk '{print $1;}'` @@ -1232,7 +1231,7 @@ netstat -n -I ppp0 ifconfig ppp0</programlisting> <para>执行脚本 - <filename>/etc/ppp/kermit.hup</filename>以挂起moderm,这个文件包含:</para> + <filename>/etc/ppp/kermit.hup</filename>以挂起moderm, 这个文件包含:</para> <programlisting>set line /dev/tty01 ; put your modem device here set speed 19200 @@ -1254,11 +1253,11 @@ echo \13 exit</programlisting> <para>也可以用<command>chat</command> - 代替<command>kermit</command>:</para> + 代替<command>kermit</command>:</para> - <para>以下两个文件用以建立<command>pppd</command>连接.</para> + <para>以下两个文件用以建立<command>pppd</command>连接。</para> - <para><filename>/etc/ppp/options</filename>:</para> + <para><filename>/etc/ppp/options</filename>:</para> <programlisting>/dev/cuaa1 115200 @@ -1279,17 +1278,17 @@ domain <your.domain> # put your domain name here defaultroute # put this if you want that PPP server will be # your default router</programlisting> - <para><filename>/etc/ppp/login.chat.script</filename>:</para> + <para><filename>/etc/ppp/login.chat.script</filename>:</para> <note> - <para>以下的内容应该放在一行内.</para> + <para>以下的内容应该放在一行内。</para> </note> <programlisting>ABORT BUSY ABORT 'NO CARRIER' "" AT OK ATDT<phone.number> CONNECT "" TIMEOUT 10 ogin:-\\r-ogin: <login-id> TIMEOUT 5 sword: <password></programlisting> - <para>一旦这些被安装且修改正确,您所要做的就是运行<command>pppd</command>,就像这样:</para> + <para>一旦这些被安装且修改正确, 您所要做的就是运行<command>pppd</command>, 就像这样:</para> <screen>&prompt.root; <userinput>pppd</userinput></screen> </sect2> @@ -1297,7 +1296,7 @@ defaultroute # put this if you want that PPP server will be <sect2> <title>使用<command>pppd</command>作为服务器</title> - <para><filename>/etc/ppp/options</filename>要包括下面这些内容:</para> + <para><filename>/etc/ppp/options</filename>要包括下面这些内容:</para> <programlisting>crtscts # Hardware flow control netmask 255.255.255.0 # netmask (not required) @@ -1312,7 +1311,7 @@ passive # wait for LCP modem # modem line</programlisting> <para>下面这个脚本<filename>/etc/ppp/pppserv</filename> - 使<application>pppd</application>以服务器方式启动:</para> + 使<application>pppd</application>以服务器方式启动:</para> <programlisting>#!/bin/sh ps ax |grep pppd |grep -v grep @@ -1338,7 +1337,7 @@ kermit -y /etc/ppp/kermit.ans # run ppp pppd /dev/tty01 19200</programlisting> - <para>使用脚本<filename>/etc/ppp/pppservdown</filename>停止服务器:</para> + <para>使用脚本<filename>/etc/ppp/pppservdown</filename>停止服务器:</para> <programlisting>#!/bin/sh ps ax |grep pppd |grep -v grep @@ -1358,9 +1357,9 @@ ifconfig ppp0 delete kermit -y /etc/ppp/kermit.noans</programlisting> - <para>The following <application>Kermit</application> script - (<filename>/etc/ppp/kermit.ans</filename>) will enable/disable - autoanswer mode on your modem. It should look like this:</para> + <para>下面的 <application>Kermit</application> 脚本 + (<filename>/etc/ppp/kermit.ans</filename>) 能够启用/禁用您 modem + 的自动应答模式。 其内容类似下面这样:</para> <programlisting>set line /dev/tty01 set speed 19200 @@ -1387,8 +1386,8 @@ echo \13 exit</programlisting> <para>一个名为<filename>/etc/ppp/kermit.dial</filename>的脚本用于向远程主机 - 进行拨号和验证.您要根据需要定制它.要加入您的登寻名和密码.您还要根据modem - 和远程主机的反应更改输入语句.</para> + 进行拨号和验证。 您要根据需要定制它。 要加入您的登寻名和密码, + 您还要根据 modem 和远程主机的反应修改输入语句。</para> <programlisting>; ; put the com line attached to the modem here: @@ -1522,65 +1521,63 @@ exit 1 <indexterm><primary>PPP</primary><secondary>troubleshooting</secondary></indexterm> - <para>本节将讲述通过modem连接使用PPP时可能出现的问题 - . 例如,您可能需要确切地知道您拨入的系统会出现一个怎样的命令行提示符.有些<acronym>ISP</acronym>会提供 - <literal>ssword</literal>提示符,而其它的可能会出现 - <literal>password</literal>; 如果没有根据情况的不同相应地编写<command>ppp</command> - 脚本,登录就会失败.诊断<command>ppp</command>最常用的方法是手动进行连接 - . 以下的信息会一步一步地带您完成手动连接.</para> + <para>本节将讲述通过modem连接使用PPP时可能出现的问题。 + 例如, 您可能需要确切地知道您拨入的系统会出现一个怎样的命令行提示符。 + 有些 <acronym>ISP</acronym> 会提供 <literal>ssword</literal>提示符, + 而其它的可能会出现 <literal>password</literal>; + 如果没有根据情况的不同相应地编写 <command>ppp</command> + 脚本, 登录就会失败。 诊断 <command>ppp</command> + 最常用的方法是手动进行连接。 以下的信息会一步一步地带您完成手动连接。</para> <sect2> <title>检查设备节点</title> - <para>如果您的内核是经过重新配置的,那么就需要检查<devicename>sio</devicename>设备. - 如果没有配置过内核, 就没什么可担心的了.只要查看 - <command>dmesg</command>的输出以找到modem设备:</para> + <para>如果您的内核是经过重新配置的, 那么就需要检查<devicename>sio</devicename>设备。 + 如果没有配置过内核, 就没什么可担心的了。 只要查看 + <command>dmesg</command>的输出以找到modem设备:</para> <screen>&prompt.root; <userinput>dmesg | grep sio</userinput></screen> - <para>您应该找到与<devicename>sio</devicename>设备有关的输出. 这些就是我们需要的COM端口. - 如果您的modem按照标准串行端口工作,您能在<devicename>sio1</devicename>或<devicename>COM2</devicename>找到它. 如果是这样, - 您只需创建serial设备,而不必重建内核. cd到<filename>/dev</filename>目录,然后运行 - <filename>MAKEDEV</filename>脚本 :</para> - - <screen>&prompt.root; <userinput>sh MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3</userinput></screen> - - <para>它会为您的系统创建串行(serial)设备. - 如果modem设备连接在<devicename>sio1</devicename>接口(在DOS中称为<devicename>COM2</devicename>),那么您的modem将会是 - <filename>/dev/cuaa1</filename>。</para> + <para>您应该找到与 <devicename>sio</devicename> 设备有关的输出。 + 这些就是我们需要的 COM 端口。 如果您的 modem 按照标准串行端口工作, + 您就会在 <devicename>sio1</devicename> 或 <devicename>COM2</devicename> + 上找到它。 如果 modem 设备连接在 <devicename>sio1</devicename> + 接口 (在 DOS 中称为<devicename>COM2</devicename>), + 那么您的 modem 将会是 <filename>/dev/cuaa1</filename>。</para> </sect2> <sect2> <title>手动连接</title> <para>通过手动控制<command>ppp</command>来连接Internet - 是诊断连接及获知<acronym>ISP</acronym>处理<application>PPP</application>客户端方式的一个快速,简单的方法. - .让我们从<application>PPP</application> 命令行开始.在所有的例子中我们使用 - <emphasis>example</emphasis>作为运行<application>PPP</application>主机的主机名.键入<command>ppp</command> - 命令打开<command>ppp</command> :</para> + 是诊断连接及获知<acronym>ISP</acronym>处理<application>PPP</application>客户端方式的一个快速, 简单的方法。 + 让我们从<application>PPP</application> 命令行开始, 在所有的例子中我们使用 + <emphasis>example</emphasis> 表示运行 <application>PPP</application> + 服务的主机名。 键入<command>ppp</command> + 命令打开 <command>ppp</command>:</para> <screen>&prompt.root; <userinput>ppp</userinput></screen> - <para>现在我们已经打开了<command>ppp</command>.</para> + <para>现在我们已经打开了<command>ppp</command>。</para> <screen>ppp ON example> <userinput>set device <filename>/dev/cuaa1</filename></userinput></screen> - <para>设置modem设备,在本例子中是 - <devicename>cuaa1</devicename>.</para> + <para>设置modem设备, 在本例子中是 + <devicename>cuaa1</devicename>。</para> <screen>ppp ON example> <userinput>set speed 115200</userinput></screen> - <para>设置连接速度,在本例中我们使用15,200 <acronym>kbps</acronym>.</para> + <para>设置连接速度, 在本例中我们使用15,200 <acronym>kbps</acronym>。</para> <screen>ppp ON example> <userinput>enable dns</userinput></screen> - <para>使<command>ppp</command>配置域名服务, - 在文件<filename>/etc/resolv.conf</filename>中添加域名服务器行. - .如果 <command>ppp</command>不能确定我们的主机名,可以在稍后设置.</para> + <para>使<command>ppp</command>配置域名服务, + 在文件<filename>/etc/resolv.conf</filename>中添加域名服务器行。 + 如果 <command>ppp</command>不能确定我们的主机名, 可以在稍后设置。</para> <screen>ppp ON example> <userinput>term</userinput></screen> - <para>切换到 <quote>终端</quote>样我们就能手动地控制模式,这modem.</para> + <para>切换到 <quote>终端</quote>样我们就能手动地控制这台 modem 的模式。</para> <programlisting>deflink: Entering terminal mode on <filename>/dev/cuaa1</filename> type '~h' for help</programlisting> @@ -1589,75 +1586,78 @@ type '~h' for help</programlisting> OK <userinput>atdt<replaceable>123456789</replaceable></userinput></screen> - <para>使用命令<command>at</command>初始化modem, - 然后使用<command>atdt</command>和<acronym>ISP</acronym>给您的号码进行拨号.</para> + <para>使用命令<command>at</command>初始化modem, + 然后使用<command>atdt</command>和<acronym>ISP</acronym>给您的号码进行拨号。</para> <screen>CONNECT</screen> - <para>连接配置,如果我们遇到了与硬件无关的连接问题,可以在这里尝试解决.</para> + <para>连接配置, 如果我们遇到了与硬件无关的连接问题, 可以在这里尝试解决。</para> <screen>ISP Login:<userinput>myusername</userinput></screen> - <para>这里提示您输入用户名,输入<acronym>ISP</acronym>提供的用户名然后按回车.</para> + <para>这里提示您输入用户名, 输入<acronym>ISP</acronym>提供的用户名然后按回车。</para> <screen>ISP Pass:<userinput>mypassword</userinput></screen> - <para>这时提示我们输入密码,输入 - <acronym>ISP</acronym>提供的密码. - 如同登录入&os;,密码不会显示.</para> + <para>这时提示我们输入密码, 输入 + <acronym>ISP</acronym>提供的密码。 + 如同登录入&os;, 密码不会显示。</para> <screen>Shell or PPP:<userinput>ppp</userinput></screen> - <para>由于<acronym>ISP</acronym>的不同,这个提示符可能不会出现.这里我们被问及:是使用 - 一个运行于提供商端的Shell还是启动<command>ppp</command>. 这本例中,我们选择使用<command>ppp</command>因为我 - 们想得到Internet连接.</para> + <para>由于<acronym>ISP</acronym>的不同, 这个提示符可能不会出现。 + 这里我们需要考虑: 是使用运行于提供商端的 Shell, + 还是启动 <command>ppp</command>? 这本例中, + 我们选择使用 <command>ppp</command>, 因为我们希望得到 Internet 连接。</para> <screen>Ppp ON example></screen> - <para>注意在这个例子中,第一个 <option>p</option>已经大写. 这显示我们已经成功地连接上了<acronym>ISP</acronym>.</para> + <para>注意在这个例子中, 第一个 <option>p</option>已经大写。 + 这表示我们已经成功地连接上了 <acronym>ISP</acronym>。</para> <screen>PPp ON example></screen> <para>我们已经成功通过了 - <acronym>ISP</acronym>的验证,正在等待分配<acronym>IP</acronym>地址.</para> + <acronym>ISP</acronym>的验证, 正在等待分配<acronym>IP</acronym>地址。</para> <screen>PPP ON example></screen> <para>我们得到了一个 <acronym>IP</acronym> - 地址,成功地完成了连接.</para> + 地址, 成功地完成了连接。</para> <screen>PPP ON example><userinput>add default HISADDR</userinput></screen> - <para>这里,我们添加默认路由.在能与外界通信之前我们需要这样做,因为现在我们 - 只与服务器端建立了连接.如果由于已存在的路由而导致操作失败, - 您可以在<option>add</option>前加<literal>!</literal>号. - 作为另外一种方式,您也可以在真正连接之前设置这些(指add default HISADDR),ppp会根据这项设定协商取 - 得一个新的路由.</para> + <para>这样就完成了添加默认路由所需的配置。 这是与外界通信所必需的。 + 因为之前我们只是与服务器端建立了连接。 如果由于已存在的路由而导致操作失败, + 您可以在 <option>add</option> 前加 <literal>!</literal>号。 + 除此之外, 您也可以在真正连接之前设置这些 (指 add default HISADDR), + ppp 会根据这项设定协商取得新的路由。</para> - <para>如果一切顺利,现在我们应该能得到一个活动的Internet连接,可以使用<keycombo + <para>如果一切顺利, 现在我们应该能得到一个活动的 Internet 连接, + 可以使用 <keycombo action="simul"><keycap>CTRL</keycap> - <keycap>z</keycap></keycombo>使其转入后台.如果您发现 - <command>PPP</command>重新变为 <command>ppp</command>,那代表我们失去了连接.. - 大写的P表明我们有到<acronym>ISP</acronym>的连接 - 而小写的p表明由于某种原因我们失去了连接.这便于我们了解连接状态. - <command>ppp</command> 只有这两个状态.</para> + <keycap>z</keycap></keycombo> 使其转入后台。 如果您发现 + <command>PPP</command>重新变为 <command>ppp</command>, + 则表示连接被断开。 大写的 P 表明建立了到 <acronym>ISP</acronym> 的连接, + 而小写的 p 则表示连接由于某种原因被断开, 这有助于帮助我们了解连接的状态。 + <command>ppp</command> 只有这两个状态。</para> <sect3> <title>诊断排错</title> - <para>如果您有一根直连线且似乎不能建立连接,要使用<option>set - ctsrts off</option>以关闭字节流的<acronym>CTS/RTS</acronym>.这种情况一般发 - 生在连接兼容<application>PPP</application>的终端服务器时. - 当它向通信连接写入数据时,<application>PPP</application>就会挂起, - 一直等待一个<acronym>CTS</acronym>, - 或者一个不可能出现的Clear to Send信号。 如果使用了这个选项, 您还应使用 + <para>如果您有一根直连线且似乎不能建立连接, 要使用<option>set + ctsrts off</option>以关闭字节流的<acronym>CTS/RTS</acronym>。 + 这种情况一般发生在连接兼容 <application>PPP</application> 的终端服务器时。 + 当它向通信连接写入数据时, <application>PPP</application>就会挂起, + 一直等待一个<acronym>CTS</acronym>, + 或者一个不可能出现的 Clear to Send 信号。 如果使用了这个选项, 您还应使用 <option>set accmap</option>选项, 某些存在缺陷的硬件在完成端对端发送特定字符, 特别是 XON/XOFF 时可能会遇到困难。 请参见 &man.ppp.8; 联机手册以了解关于可用选项的更多细节, 以及如何使用它们。</para> - <para>如果您有一个比较旧的modem, 您要用 - <option>set parity even</option>。 奇偶校验的默认设置是 none, + <para>如果您的 modem 比较旧, 就需要使用 + <option>set parity even</option> 了。 奇偶校验的默认设置是 none, 但在旧式的 (当流量大量增加时) 调制解调器和某些 <acronym>ISP</acronym> 被用来纠错。 您需要使用这个选项才能使用 Compuserve <acronym>ISP</acronym>。</para> @@ -1736,23 +1736,23 @@ nameserver <replaceable>y.y.y.y</replaceable></programlisting> <indexterm><primary>PPP</primary><secondary>over Ethernet</secondary></indexterm> <indexterm> <primary>PPPoE</primary> - <see>PPP, over Ethernet</see> + <see>PPP, over Ethernet (以太网上的 PPP)</see> </indexterm> <para>本节将介绍如何建立基于以太网的PPP - (<acronym>PPPoE</acronym>).</para> + (<acronym>PPPoE</acronym>)。</para> <sect2> <title>配置内核</title> - <para>对于PPPOE,并没有必须的内核配置. 如果必需的netgraph支持没有编译入内核 ,它可以由 - <application>ppp</application>动态加载.</para> + <para>对于PPPOE, 并没有必须的内核配置。 如果必需的 netgraph + 支持没有编译入内核, 它可以由 <application>ppp</application> 动态加载。</para> </sect2> <sect2> <title>设置<filename>ppp.conf</filename></title> - <para>以下是一个<filename>ppp.conf</filename>的例子:</para> + <para>以下是一个<filename>ppp.conf</filename>的例子:</para> <programlisting>default: set log Phase tun command # you can add more detailed logging if you wish @@ -1771,16 +1771,16 @@ name_of_service_provider: <sect2> <title>运行<application>ppp</application></title> - <para>作为<username>root</username>,您可以执行:</para> + <para>以 <username>root</username> 身份执行:</para> <screen>&prompt.root; <userinput>ppp -ddial name_of_service_provider</userinput></screen> </sect2> <sect2> - <title>启动时运行<application>ppp</application> </title> + <title>启动时运行<application>ppp</application></title> - <para>在文件<filename>/etc/rc.conf</filename>加入以下内容:</para> + <para>在 <filename>/etc/rc.conf</filename> 中加入以下内容:</para> <programlisting>ppp_enable="YES" ppp_mode="ddial" @@ -1791,11 +1791,13 @@ ppp_profile="name_of_service_provider"</programlisting> <sect2> <title>使用 PPPoE 服务标签</title> - <para>在某些时候,有必要使用一个服务标签来建立您的连接.服务标签用于区分同一网络中的不同服务器.</para> + <para>在某些时候, 有必要使用一个服务标签来建立您的连接。 + 服务标签用于区分同一网络中的不同服务器。</para> - <para>您可以在ISP提供的文档中找到必要的服务标签信息.若不能找到,向您的ISP询求技术支持.</para> + <para>您可以在ISP提供的文档中找到必要的服务标签信息。 + 若不能找到, 则应向您的 ISP 寻求技术支持。</para> - <para>作为最后的方法, 您可以试试 + <para>作为最后的方法, 您可以试试 <ulink url="http://www.roaringpenguin.com/pppoe/">Roaring Penguin PPPoE</ulink>, 它可以在 <link linkend="ports">Ports Collection</link> 中找到。 @@ -1806,18 +1808,18 @@ ppp_profile="name_of_service_provider"</programlisting> 一般来说它的名字应该是 <emphasis>ISP</emphasis>。</para> - <para>配置文件名 (service tag, 服务标签) 将被用于 PPPoE + <para>配置文件名 (service tag, 服务标签) 将被用于 PPPoE 在 <filename>ppp.conf</filename> 中的配置项, 作为服务商 <command>set device</command> 命令的一部分 (参见 &man.ppp.8; 联机手册以了解更多细节)。 它应该类似下面的样子:</para> <programlisting>set device PPPoE:<replaceable>xl1</replaceable>:<replaceable>ISP</replaceable></programlisting> - <para>记住将<replaceable>xl1</replaceable>换成实际的以太网设备.</para> + <para>记住将<replaceable>xl1</replaceable>换成实际的以太网设备。</para> <para>记住将 <replaceable>ISP</replaceable> - 换成您刚刚找到的profile名.</para> + 换成您刚刚找到的profile名。</para> - <para>获得更多的信息,请参考:</para> + <para>获得更多的信息, 请参考:</para> <itemizedlist> <listitem> @@ -1840,15 +1842,18 @@ ppp_profile="name_of_service_provider"</programlisting> <title>带有一个&tm.3com; <trademark class="registered">HomeConnect</trademark>ADSL Modem的PPPOE双重连接</title> - <para>这个modem不遵循<ulink + <para>这个 modem 不遵循 <ulink url="http://www.faqs.org/rfcs/rfc2516.html">RFC 2516</ulink> (<emphasis>A Method for transmitting PPP over Ethernet - (PPPoE)</emphasis>, written by L. Mamakos, K. Lidl, J. Evarts, - D. Carrel, D. Simone, and R. Wheeler). 而是使用不同的数据包格式作为以太网的框架.请向 - <ulink url="http://www.3com.com/">3Com</ulink>抱怨,如果您认为它应该遵守PPPOE的规范.</para> + (PPPoE)</emphasis>, 其作者为 L. Mamakos、 K. Lidl、 J. Evarts、 + D. Carrel、 D. Simone 以及 R. Wheeler)。 + 而是使用不同的数据包格式作为以太网的框架。 请向 + <ulink url="http://www.3com.com/">3Com</ulink> 抱怨, + 如果您认为它应该遵守 PPPoE 的规范。</para> - <para>为了让FreeBSD能够与这个设备通信,必须设置sysctl.通过更改<filename>/etc/sysctl.conf</filename>,这一步 - 可以在启动时自动完成:</para> + <para>为了让FreeBSD能够与这个设备通信, 必须设置sysctl。 + 通过更改<filename>/etc/sysctl.conf</filename>, + 这一步可以在启动时自动完成:</para> <programlisting>net.graph.nonstandard_pppoe=1</programlisting> @@ -1856,9 +1861,9 @@ ppp_profile="name_of_service_provider"</programlisting> <screen>&prompt.root; <userinput>sysctl net.graph.nonstandard_pppoe=1</userinput></screen> - <para>很不幸,由于这是系统全局设置,无法同时与正常的PPP客户端(或服务器) - 和&tm.3com;<trademark class="registered">HomeConnect</trademark> ADSL Modem通信 - .</para> + <para>很不幸,由于这是系统全局设置, 无法同时与正常的PPP客户端(或服务器) + 和&tm.3com;<trademark class="registered">HomeConnect</trademark> + ADSL Modem通信。</para> </sect2> </sect1> @@ -1900,21 +1905,21 @@ ppp_profile="name_of_service_provider"</programlisting> product 0x4061 attach "/usr/local/sbin/modem_run -f /usr/local/libdata/mgmt.o"</programlisting> - <para>要启动USB守护进程<application>usbd</application>, - 在<filename>/etc/rc.conf</filename>加入以下行:</para> + <para>要启动USB守护进程<application>usbd</application>, + 在<filename>/etc/rc.conf</filename>加入以下行:</para> <programlisting>usbd_enable="YES"</programlisting> - <para>也可以将<application>ppp</application>设置成启动时拨号. 向 - <filename>/etc/rc.conf</filename>加入以下这几行. - 同样地您需要以<username>root</username>用户登录.</para> + <para>也可以将<application>ppp</application>设置成启动时拨号。 向 + <filename>/etc/rc.conf</filename>加入以下这几行。 + 同样地您需要以<username>root</username>用户登录。</para> <programlisting>ppp_enable="YES" ppp_mode="ddial" ppp_profile="adsl"</programlisting> - <para>为了使其正常工作,您需要使用<filename role="package">net/pppoa</filename> - port提供的<filename>ppp.conf</filename>样例.</para> + <para>为了使其正常工作, 您需要使用<filename role="package">net/pppoa</filename> + port提供的<filename>ppp.conf</filename>样例。</para> </sect2> @@ -1970,14 +1975,14 @@ adsl: <calloutlist> <callout arearefs="co-mpd-ex-user"> - <para>username用来向您的ISP进行验证.</para> + <para>username用来向您的ISP进行验证。</para> </callout> <callout arearefs="co-mpd-ex-pass"> - <para> password用来向您的ISP进行验证.</para> + <para> password用来向您的ISP进行验证。</para> </callout> </calloutlist> - <para><filename>mpd.links</filename>包含连接的信息:</para> + <para><filename>mpd.links</filename>包含连接的信息:</para> <programlisting>adsl: set link type pptp @@ -1990,26 +1995,26 @@ adsl: <calloutlist> <callout arearefs="co-mpd-ex-self"> - <para>运行<application>mpd</application>的主机的IP地址.</para> + <para>运行<application>mpd</application>的主机的IP地址。</para> </callout> <callout arearefs="co-mpd-ex-peer"> - <para>ADSL modem的IP地址.Alcatel + <para>ADSL modem的IP地址。 Alcatel &speedtouch; Home 默认的是 <hostid - role="ipaddr">10.0.0.138</hostid>.</para> + role="ipaddr">10.0.0.138</hostid>。</para> </callout> </calloutlist> - <para>初始化连接:</para> + <para>初始化连接:</para> <screen>&prompt.root; <userinput>mpd -b <replaceable>adsl</replaceable></userinput></screen> - <para>您可以通过以下命令查看连接状态:</para> + <para>您可以通过以下命令查看连接状态:</para> <screen>&prompt.user; <userinput>ifconfig <replaceable>ng0</replaceable></userinput> ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 inet 216.136.204.117 --> 204.152.186.171 netmask 0xffffffff</screen> - <para>使用<application>mpd</application>连接ADSL服务是推荐的方式.</para> + <para>使用<application>mpd</application>连接ADSL服务是推荐的方式。</para> </sect2> @@ -2017,13 +2022,15 @@ ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 <title>使用pptpclient</title> <para>也可以使用<filename role="package">net/pptpclient</filename>连接其它的 - PPPoA.</para> + PPPoA。</para> - <para>为了使用<filename role="package">net/pptpclient</filename>连接 - DSL服务,需要安装port或package并编辑<filename>/etc/ppp/ppp.conf</filename>.您需要有 - <username>root</username>权限以进行这两项操作.以下是<filename>ppp.conf</filename>中的一个示例项. - 参考<application>ppp</application>的联机手册&man.ppp.8;,以获取更多有关<filename>ppp.conf</filename> - 选项的信息.</para> + <para>要使用 <filename role="package">net/pptpclient</filename> 连接 + DSL 服务, 需要安装 port 或 package 并编辑 + <filename>/etc/ppp/ppp.conf</filename>。 您需要有 + <username>root</username> 权限才能完成这两项操作。 + 以下是 <filename>ppp.conf</filename> 中的一个示例项。 + 参考 <application>ppp</application> 的联机手册 &man.ppp.8;, + 以了解更多有关 <filename>ppp.conf</filename> 选项的信息。</para> <programlisting>adsl: set log phase chat lcp ipcp ccp tun command @@ -2036,45 +2043,48 @@ ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500 <calloutlist> <callout arearefs="co-pptp-ex-user"> - <para>The username of your account with the DSL provider.</para> + <para>您在 DSL 服务提供商那里的用户名</para> </callout> <callout arearefs="co-pptp-ex-pass"> - <para>The password for your account.</para> + <para>您帐户的口令。</para> </callout> </calloutlist> <warning> <para>由于您必须将帐号密码以明文的方式放入<filename>ppp.conf</filename> - 您应该确保没有任何人能看到此文件的内容.以下一系列命令将会确保此文件只对 - <username>root</username>用户可读.参考&man.chmod.1;和&man.chown.8; 的联机手册以获得更多信息.</para> + 您应该确保没有任何人能看到此文件的内容。 以下一系列命令将会确保此文件只对 + <username>root</username>用户可读。 + 请参见 &man.chmod.1; 和 &man.chown.8; 的联机手册以了解有关如何操作的进一步信息。</para> <screen>&prompt.root; <userinput>chown root:wheel /etc/ppp/ppp.conf</userinput> &prompt.root; <userinput>chmod 600 /etc/ppp/ppp.conf</userinput></screen> </warning> - <para>以下将为到DSL路由器的会话打开一个tunnel. - 以太网DSL modem有一个设置的局域网IP地址. 以Alcatel &speedtouch; Home为例,这个地址是 - <hostid role="ipaddr">10.0.0.138</hostid>.路由器的文档应该会告诉您它使用地址.执行以下命令 - 以打开tunnel并开始会话:</para> + <para>以下将为到 DSL 路由器的会话打开一个 tunnel。 + 以太网DSL modem有一个设置的局域网IP地址。 以 Alcatel &speedtouch; Home + 为例, 这个地址是 <hostid role="ipaddr">10.0.0.138</hostid>。 + 路由器的文档应该会告诉您它使用地址。 + 执行以下命令以打开 tunnel 并开始会话:</para> <screen>&prompt.root; <userinput>pptp <replaceable>address</replaceable> <replaceable>adsl</replaceable></userinput></screen> <tip> - <para>您应该在命令的最后加上(<quote>&</quote>)号,否则 <application>pptp</application> - 无法返回到命令行提示符.</para> + <para>您应该在命令的最后加上(<quote>&</quote>)号, 否则 <application>pptp</application> + 无法返回到命令行提示符。</para> </tip> <para>要创建一个 <devicename>tun</devicename>虚拟设备用于进程<application>pptp</application> - 和<application>ppp</application> 之间的交互.一旦您返回到了命令行,或者 <application>pptp</application> - 进程确认了一个连接,您可以这样检查tunnel设备:</para> + 和<application>ppp</application> 之间的交互。 一旦您回到了命令行, + 或者 <application>pptp</application> + 进程确认了一个连接, 您可以这样检查tunnel设备:</para> <screen>&prompt.user; <userinput>ifconfig <replaceable>tun0</replaceable></userinput> tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 inet 216.136.204.21 --> 204.152.186.171 netmask 0xffffff00 Opened by PID 918</screen> - <para>如果您无法连接,一般可以通过<application>telnet</application>或者web浏览器检查路由器(modem)的配置. - 如果依旧无法连接,您应该检查<command>pptp</command>的输出及<application>ppp</application>的日志文件 - <filename>/var/log/ppp.log</filename> 以获得线索.</para> + <para>如果您无法连接, 一般可以通过<application>telnet</application>或者web浏览器检查路由器(modem)的配置。 + 如果依旧无法连接, 您应该检查<command>pptp</command>的输出及<application>ppp</application>的日志文件 + <filename>/var/log/ppp.log</filename> 以获得线索。</para> </sect2> </sect1> @@ -2120,20 +2130,18 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 <filename>.kermrc</filename> 将是非常麻烦的事情!</para> <note> - <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> + <para><filename>/dev/cuaa0</filename> (或 &os; 6.X + 中的 <filename>/dev/cuad0</filename>) 对应 + <devicename>COM1</devicename>, 而 <filename>cuaa1</filename> + (或 <filename>/dev/cuad1</filename>) 则对应 + <devicename>COM2</devicename>, 等等。</para> </note> <para>确保您的内核文件包含以下内容:</para> - - <programlisting>device sl</programlisting> - - <para>对于 &os; 4.X, 则是:</para> - <programlisting>pseudo-device sl 1</programlisting> + <programlisting>device sl</programlisting> - <para>这包含在<filename>GENERIC</filename>内核,所以这应该不会是个问题,除非您 + <para>这包含在<filename>GENERIC</filename>内核, 所以这应该不会是个问题, 除非您 已经删除了它。</para> <sect3> @@ -2165,24 +2173,24 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 </step> <step> - <para>编辑<filename>/etc/rc.conf</filename>.</para> + <para>编辑<filename>/etc/rc.conf</filename>。</para> <orderedlist> <listitem> - <para>编辑以下这行设置主机名(hostname):</para> + <para>编辑以下这行设置主机名(hostname):</para> <programlisting>hostname="myname.my.domain"</programlisting> - <para>应该用您主机的Internet全名代替.</para> + <para>应该用您主机的Internet全名代替。</para> </listitem> <indexterm><primary>default route</primary></indexterm> <listitem> - <para>改变这一行以指明默认的路由:</para> + <para>改变这一行以指明默认的路由:</para> <programlisting>defaultrouter="NO"</programlisting> - <para>改为:</para> + <para>改为:</para> <programlisting>defaultrouter="slip-gateway"</programlisting> </listitem> @@ -2190,7 +2198,7 @@ tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 </step> <step> - <para>创建文件<filename>/etc/resolv.conf</filename>,写入以下内容:</para> + <para>创建文件<filename>/etc/resolv.conf</filename>, 写入以下内容:</para> <programlisting>domain CS.Example.EDU nameserver 128.32.136.9 @@ -2198,16 +2206,17 @@ nameserver 128.32.136.12</programlisting> <indexterm><primary>nameserver</primary></indexterm> <indexterm><primary>domain name</primary></indexterm> - <para>正如您看到的, 这些行设置了域名服务器.当然,实际的域名和IP地址取决于您的环境.</para> + <para>正如您看到的, 这些行设置了域名服务器。 当然, + 实际的域名和IP地址取决于您的环境。</para> </step> <step> <para>设置<username>root</username>和 - <username>toor</username>的密码(其它任何没有密码的帐号).</para> + <username>toor</username>的密码(其它任何没有密码的帐号)。</para> </step> <step> - <para>重启计算机,然后确认使用了正确的主机名.</para> + <para>重启计算机, 然后确认使用了正确的主机名。</para> </step> </procedure> </sect3> @@ -2252,13 +2261,13 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <keycombo> <keycap>Ctrl</keycap> <keycap>z</keycap> - </keycombo> 将其挂起), 以 <username>root</username> 用户键入:</para> + </keycombo> 将其挂起), 以 <username>root</username> 用户键入:</para> <screen>&prompt.root; <userinput>slattach -h -c -s 115200 /dev/modem</userinput></screen> - <para>如果您能<command>ping</command>通路由器另一端的主机,就是连接好了! 如果不行, + <para>如果您能<command>ping</command>通路由器另一端的主机, 就是连接好了! 如果不行, 您可以使用<option>-a</option>选项代替 -<option>-c</option>作为<command>slattach</command>的参数.</para> +<option>-c</option>作为<command>slattach</command>的参数。</para> </step> </procedure> </sect3> @@ -2266,7 +2275,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <sect3> <title>关闭连接</title> - <para>按下面的步骤做:</para> + <para>按下面的步骤做:</para> <screen>&prompt.root; <userinput>kill -INT `cat /var/run/slattach.modem.pid`</userinput></screen> @@ -2276,7 +2285,7 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> 则使用 <command>fg</command>) 并退出 (<keycap>q</keycap>)。</para> <para>在 &man.slattach.8; 联机手册中提到, - 必须使用 <command>ifconfig sl0 down</command> + 必须使用 <command>ifconfig sl0 down</command> 才能将接口标记为关闭, 但和这样做似乎没有什么区别。 (<command>ifconfig sl0</command> 仍然报告同样的东西。)</para> @@ -2293,17 +2302,19 @@ output ***\x0d, echo \x0aCONNECTED\x0a</programlisting> <itemizedlist> <listitem> - <para>执行<command>slattach</command>时不使用<option>-c</option>和<option>-a</option>选项 - (这应该不是关键的,但有些用户报告这样做解决了问题.)</para> + <para>执行 <command>slattach</command> 时不使用 + <option>-c</option>和<option>-a</option>选项 + (这应该不是关键的, 但有些用户报告这样做解决了问题)。</para> </listitem> <listitem> <para>使用<option>s10</option>替换 - <option>sl0</option> (在一些字体下很难看出不同).</para> + <option>sl0</option> (在一些字体下很难看出不同)。</para> </listitem> <listitem> - <para>试试<command>ifconfig sl0</command>来查看您的接口状态.例如,您可以这样做:</para> + <para>试试<command>ifconfig sl0</command>来查看您的接口状态。 + 例如, 您可以这样做:</para> <screen>&prompt.root; <userinput>ifconfig sl0</userinput> sl0: flags=10<POINTOPOINT> @@ -2331,8 +2342,8 @@ 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)</screen> - <para>前述的例子来自于一个非常繁忙的系统. - 您系统上的这些数字会因网络活动的不同而改变.</para> + <para>前述的例子来自于一个非常繁忙的系统。 + 您系统上的这些数字会因网络活动的不同而改变。</para> </listitem> </itemizedlist> @@ -2358,11 +2369,13 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 <sect3 id="slips-prereqs"> <title>前提条件</title> <indexterm><primary>TCP/IP networking</primary></indexterm> - <para>这一节本身就是非常技术性的, 所以要求有一定的背景知识.本节假定您熟悉TCP/IP网络协议,特别是网络和和结点寻址 - ,网络地址掩网, 划分子网, 路由, 路由协议(比如RIP).在一个拨号服务器上配置SLIP需要这些概念性的知识. - 如果您不熟悉它们,请先阅读Craig Hunt的 <emphasis>TCP/IP 网络管理</emphasis> - 由O'Reilly & Associates, Inc.出版(ISBN号为0-937175-82-X),或者Douglas Comer有关TCP/IP - 协议的书籍.</para> + <para>这一节技术性很强, 所以要求您有一定的背景知识。 + 本节假定您熟悉 TCP/IP 网络协议, 特别是网络和节点寻址、 + 子网掩码、 子网划分、 路由、 路由协议 (如RIP) 等知识。 + 在拨号服务器上配置 SLIP 需要这些概念性的知识。 + 如果您不熟悉它们, 请先阅读 Craig Hunt 的 <emphasis>TCP/IP 网络管理</emphasis> + 由O'Reilly & Associates, Inc. 出版 (ISBN 0-937175-82-X), + 或 Douglas Comer 有关 TCP/IP 协议的书籍。</para> <indexterm><primary>modem</primary></indexterm> <para>此外还假定您已经配置好了您的调制解调器以及相应的系统文件, @@ -2380,29 +2393,32 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 <sect3> <title>快速浏览</title> - <para>使用FreeBSD作为SLIP服务器,在典型配置时,它是这样工作的: - 一个SLIP客户拨号并以专用的login ID登录到FreeBSD SLIP服务器系统.这个用户使用<filename>/usr/sbin/sliplogin</filename> - 作为shell.<command>sliplogin</command>程序在文件<filename>/etc/sliphome/slip.hosts</filename>中查找这个用户的项, - 如果找到了匹配项,就将串行线连接到一个可用的SLIP接口,然后运行shell脚本<filename>/etc/sliphome/slip.login</filename> - 以配置SLIP接口.</para> + <para>使用FreeBSD作为SLIP服务器, 在典型配置时, 它是这样工作的: + 一个SLIP客户拨号并以专用的login ID登录到FreeBSD SLIP服务器系统。 + 这个用户使用 <filename>/usr/sbin/sliplogin</filename> + 作为 shell。 <command>sliplogin</command> 程序会在文件 + <filename>/etc/sliphome/slip.hosts</filename> 中查找这个用户的项, + 如果找到了匹配项, 就将串行线连接到一个可用的 SLIP 接口, + 然后运行 shell 脚本 <filename>/etc/sliphome/slip.login</filename> + 以配置 SLIP 接口。</para> <sect4> <title>一个SLIP服务器登录的例子</title> - <para>例如,如果一个SLIP用户的ID是<username>Shelmerg</username>, - 在<filename>/etc/master.passwd</filename>中<username>Shelmerg</username>的项如下的所示:</para> + <para>例如, 如果一个SLIP用户的ID是<username>Shelmerg</username>, + 在<filename>/etc/master.passwd</filename>中<username>Shelmerg</username>的项如下的所示:</para> <programlisting>Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin</programlisting> - <para><username>Shelmerg</username>登录时, + <para><username>Shelmerg</username>登录时, <command>sliplogin</command>在文件 - <filename>/etc/sliphome/slip.hosts</filename>中搜索与用户ID匹配的行;如下所示:</para> + <filename>/etc/sliphome/slip.hosts</filename>中搜索与用户ID匹配的行;如下所示:</para> <programlisting>Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> - <para><command>sliplogin</command>找到这条区配行, - 并将串行线与另一个可用的SLIP接口连起来, - 然后执行<filename>/etc/sliphome/slip.login</filename>脚本:</para> + <para><command>sliplogin</command>找到这条区配行, + 并将串行线与另一个可用的SLIP接口连起来, + 然后执行<filename>/etc/sliphome/slip.login</filename>脚本:</para> <programlisting>/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp</programlisting> @@ -2436,23 +2452,12 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 <programlisting>device sl</programlisting> - <para>在 &os; 4.X 下, 则是:</para> - - <programlisting>pseudo-device sl 2</programlisting> - - <note> - <para>行末的数字表示允许同时使用的最大 SLIP 连接数。 - 从 &os; 5.0 开始, &man.sl.4; - 驱动具有了 <quote>自动克隆</quote> 的能力, - 因而不再需要这一设置。</para> - </note> - <para>默认情况下, 您的 &os; 计算机不会转发包。 如果您希望将 FreeBSD SLIP 服务器作为路由器使用, 就需要修改 <filename>/etc/rc.conf</filename> 文件, 并加入一项将 <literal>gateway_enable</literal> 变量设为 <option>YES</option> 的设制。</para> - + <para>接下来需要重新启动以便使新设置生效。</para> <para>请参见 <xref linkend="kernelconfig"> 以了解如何配置 FreeBSD @@ -2462,16 +2467,16 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 <sect3> <title>Sliplogin配置</title> - <para>正如先前所提到的, + <para>正如先前所提到的, <filename>/etc/sliphome</filename>目录有三个文件构成<filename>/usr/sbin/sliplogin</filename>的配置 - (参考<command>sliplogin</command>的联机手册&man.sliplogin.8;): <filename>slip.hosts</filename>, - 定义SLIP用户及有关IP地址; <filename>slip.login</filename>,一般只配置SLIP接口; 文件 - <filename>slip.logout</filename>(可选的),串行连接终止时,撤消<filename>slip.login</filename>所做的修改.</para> + (参考<command>sliplogin</command>的联机手册&man.sliplogin.8;):<filename>slip.hosts</filename>, + 定义SLIP用户及有关IP地址; <filename>slip.login</filename>, 一般只配置SLIP接口; 文件 + <filename>slip.logout</filename>(可选的), 串行连接终止时, 撤消<filename>slip.login</filename>所做的修改。</para> <sect4> - <title><filename>slip.hosts</filename> Configuration</title> + <title>配置 <filename>slip.hosts</filename></title> - <para><filename>/etc/sliphome/slip.hosts</filename>里的每行包含至少四个元素,元素之间由空格隔开:</para> + <para><filename>/etc/sliphome/slip.hosts</filename>里的每行包含至少四个元素, 元素之间由空格隔开:</para> <itemizedlist> <listitem> @@ -2492,11 +2497,12 @@ water.CS.Example localhost.Example. UGH 34 47641234 lo0 - 0.438 </itemizedlist> <para>本地和远程地址可以是主机名 - (通过文件<filename>/etc/hosts</filename>或者域名服务解析为IP地址, - 在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> + (通过文件<filename>/etc/hosts</filename>或者域名服务解析为IP地址, + 这取决于文件<filename>/etc/nsswitch.conf</filename> + 中的设置), 网络掩网可以是一个 + 能通过文件<filename>/etc/networks</filename>解析的名字。 + 在一个样例系统中, + <filename>/etc/sliphome/slip.hosts</filename>是这样的:</para> <programlisting># # login local-addr remote-addr mask opt1 opt2 @@ -2517,38 +2523,40 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting </listitem> <listitem> - <para><option>autocomp</option> —如果远程端允许,压缩报头</para> + <para><option>autocomp</option> —如果远程端允许, 压缩报头</para> </listitem> <listitem> <para><option>noicmp</option> —禁用ICMP数据包 - (这样就会丢弃所有的<quote>ping</quote>数据包,不占用您的带宽)</para> + (这样就会丢弃所有的<quote>ping</quote>数据包, 不占用您的带宽)</para> </listitem> </itemizedlist> <indexterm><primary>SLIP</primary></indexterm> <indexterm><primary>TCP/IP networking</primary></indexterm> <para>对SLIP连接的本地及远程地址的选择取决是您是准备在SLIP服务器上使用 TCP/IP - 子网还是使用<quote>ARP代理</quote> (它并不是<quote>真正的</quote>ARP代理,而是我们在本节用于介绍的术语). - 如果您不能确定选择何种方式或者如何分配地址,请参考"前提条件"(<xref linkend="slips-prereqs">)里列出的TCP/IP书籍 - 或者向您的IP网络管理员请教.</para> + 子网还是使用<quote>ARP代理</quote> (它并不是<quote>真正的</quote>ARP代理, 而是我们在本节用于介绍的术语)。 + 如果您不能确定选择何种方式或者如何分配地址, 请参考"前提条件"(<xref linkend="slips-prereqs">)里列出的TCP/IP书籍 + 或者向您的IP网络管理员请教。</para> - <para>如果您准备为您的SLIP客户使用一个独立的子网 - , 您需要先从分配得到的网络号中取出一个子网号然后再在这个子网里给每个SLIP客户分配IP地址. - 然后您还需要通过SLIP服务器在最近的IP路由器上配置一个指向SLIP子网的静态路由.</para> + <para>如果打算为您的 SLIP 客户使用一个独立的子网, + 就需要先从分配得到的网络号中取出一个子网号, + 然后再在这个子网里给每个 SLIP 客户分配 IP 地址。 + 接下来, 您还需要通过 SLIP 服务器在最近的 IP + 路由器上配置一个指向 SLIP 子网的静态路由。</para> <indexterm><primary>Ethernet</primary></indexterm> - <para> 如果您要使用 <quote>代理 ARP</quote>的方式,您需要从SLIP服务器的以太子网中为每个SLIP客户分配IP地址, + <para>如果您要使用 <quote>代理 ARP</quote>的方式, 您需要从SLIP服务器的以太子网中为每个SLIP客户分配IP地址, 还必须修改<filename>/etc/sliphome/slip.login</filename> 和 <filename>/etc/sliphome/slip.logout</filename>脚本以使用 - &man.arp.8;来管理proxy-ARP在服务器ARP表中的项.</para> + &man.arp.8;来管理proxy-ARP在服务器ARP表中的项。</para> </sect4> <sect4> <title><filename>slip.login</filename> Configuration</title> <para>典型的<filename>/etc/sliphome/slip.login</filename> - 如下所示:</para> + 如下所示:</para> <programlisting>#!/bin/sh - # @@ -2563,11 +2571,11 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting /sbin/ifconfig sl$1 inet $4 $5 netmask $6</programlisting> <para>这个<filename>slip.login</filename>脚本仅仅为带有相应本地及远程地址和掩码的SLIP接口执行 - <command>ifconfig</command> .</para> + <command>ifconfig</command>。</para> <para>如果您决定使用<quote>ARP代理</quote> - 方式(而非为您的SLIP客户使用独立的子网),您的<filename>/etc/sliphome/slip.login</filename> - 应该是这样:</para> + 方式(而非为您的SLIP客户使用独立的子网), 您的<filename>/etc/sliphome/slip.login</filename> + 应该是这样:</para> <programlisting>#!/bin/sh - # @@ -2584,21 +2592,22 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting /usr/sbin/arp -s $5 00:11:22:33:44:55 pub</programlisting> <para><filename>slip.login</filename>新加的行<command>arp -s - $5 00:11:22:33:44:55 pub</command>在SLIP服务器的ARP表中加入了一个表项.这个ARP项使得 - 每当这个以太网上的其它IP节点对SLIP客户端IP地址进行ARP请求时,SLIP服务器会以自已的以太网MAC地址作为回应 - .</para> - - <indexterm><primary>Ethernet</primary><secondary>MAC address</secondary></indexterm> - <para>当使用以上的例子时, 一定要将 - 以太网MAC地址(<hostid role="mac">00:11:22:33:44:55</hostid>)替换成您系统网卡的MAC地址,否则<quote>ARP代理</quote>将 + $5 00:11:22:33:44:55 pub</command> 在 SLIP 服务器的 ARP + 表中加入了一个表项。 这个ARP项使得每当这个以太网上的其它 + IP 节点对 SLIP 客户端 IP 地址进行 ARP 请求时, + SLIP 服务器会以自已的以太网MAC地址作为回应。</para> + + <indexterm><primary>Ethernet (以太网)</primary><secondary>MAC address (MAC 地址)</secondary></indexterm> + <para>当使用以上的例子时, 一定要将 + 以太网MAC地址(<hostid role="mac">00:11:22:33:44:55</hostid>)替换成您系统网卡的MAC地址, 否则<quote>ARP代理</quote>将 完全无法工作!您可以查看<command>netstat -i</command>输出结果以取得以太网MAC地址; - 输出的第二行应该是这样:</para> + 输出的第二行应该是这样:</para> <screen>ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116</screen> <para>这行表明这个系统的以太网MAC地址是<hostid role="mac">00:02:c1:28:5f:4a</hostid> - —<command>netstat -i</command>输出的以太网MAC地址必须改成用冒号隔开,并且要单个十六进数前加上. - 这是&man.arp.8;要求的格式; 参考&man.arp.8; 的联机手册以获取完整的使用方法.</para> + —<command>netstat -i</command>输出的以太网MAC地址必须改成用冒号隔开, 并且要单个十六进数前加上。 + 这是&man.arp.8;要求的格式; 参考&man.arp.8; 的联机手册以获取完整的使用方法。</para> <note> <para>在编写 @@ -2614,8 +2623,8 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting <title><filename>slip.logout</filename>配置</title> <para><filename>/etc/sliphome/slip.logout</filename>并不是必需的 - (除非您使用了<quote>ARP代理</quote>),如果您准备创建它,这里有一个基本的 - <filename>slip.logout</filename> 脚本的例子 :</para> + (除非您使用了<quote>ARP代理</quote>), 如果您准备创建它, 这里有一个基本的 + <filename>slip.logout</filename> 脚本的例子:</para> <programlisting>#!/bin/sh - # @@ -2629,9 +2638,10 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting # /sbin/ifconfig sl$1 down</programlisting> - <para>If you are using <quote>proxy ARP</quote>, you will want to - have <filename>/etc/sliphome/slip.logout</filename> remove the - ARP entry for the SLIP client:</para> + <para>如果使用了 <quote>代理 ARP</quote>, + 则可能希望 <filename>/etc/sliphome/slip.logout</filename> + 在用户注销时自动为 SLIP 客户端删除 + ARP 项:</para> <programlisting>#!/bin/sh - # @@ -2674,7 +2684,7 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting <indexterm><primary>static routes</primary></indexterm> <para>向您最近的默认路由添加一个静态路由可以说是很麻烦 - (或者说是不可能,如果您没有权限这么做)。 如果在您的组织中使用多路由器网络, + (或者说是不可能, 如果您没有权限这么做)。 如果在您的组织中使用多路由器网络, 有些路由器 (比如 Cisco 和 Proteon 生产的) 不但要配置指向 SLIP 子网的路由, 而且还需要配置将哪些静态路由传给其它的路由器。 所以一些专家意见和问题解答对于使基于静态路由表的路由正常工作很有必要。</para> @@ -2687,10 +2697,10 @@ Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp</programlisting </indexterm> <note> - <para><application>&gated;</application>现在是一个私有软件,无法取得它的源代码 - ( <ulink url="http://www.gated.org/">&gated;</ulink>上有更多的信息 ).This - section only exists to ensure backwards compatibility for - those that are still using an older version.</para> + <para><application>&gated;</application>现在是一个私有软件, + 因而您无法得到其源代码 (在 + <ulink url="http://www.gated.org/">&gated;</ulink> 上提供了进一步的详情)。 + 这一节内容主要是为了确保与仍在使用旧版软件的用户兼容而保留。</para> </note> <para>另一种避免静态路由所造成的头疼的方法, 是在您的 FreeBSD |