Linux 版 (精华区)

发信人: howdoit (教练让我上场!!!), 信区: Linux
标  题: PAPHOWTO
发信站: 哈工大紫丁香 (Tue May 18 09:06:26 1999), 转信

《Linux公报》……让Linux更富魅力!

                        PAP HOWTO

                      作者 Terry Martin 翻译 ober

    本文受到GPL许可证书的保护,你可以在该证书的许可条件之下随

意的引用这篇文章。 

    本文并非PPP-HOWTO指南的替代品,它旨在指导那些无法从

Internet服务提供商(ISP)处获得技术支持的Linux用户如何来设置PAP

参数以便接通他们的Internet服务提供商(ISP)。 

    PAP=口令认证协议(Password Authentication Protocol) 

    如果你无法确定你的Internet服务提供商(ISP)是否使用PAP技术,

请启动你的minicom,键入命令:atdt@lt;isp-number>,然后等待调制

解调器进行连接。 

    如果你看到有“login:”或者其他类似的提示,表明你的

Internet提供商没有使用PAP,那么这篇文章并不适用于你。 

    如果你看到的是一行或两行象下面这样的乱码: 

      {}{}{}{}{}}}}{{}{}}}{}{}{}{}[][][][][

    那样的话,你就可以确认系统正在等待PAP或者MSchap认证。 

    我无法解决MSchap方面的问题,因为我的Internet服务提供商

(ISP)并不使用这种技术,而且我也不会想了解NT的可靠性问题。假设

你使用chap技术,首先我们要弄清楚的是:你的pppd程序是什么版本

的。键入“/usr/sbin/pppd --version”命令你会看到它的版本号。

在这篇文档中,我会分别讨论版本2.2.0-f以及2.3.5,因为我对这两

个版本都比较熟悉。 

pppd 2.2.0版本

    在这一节中,我首先讨论pppd 2.2.0版本下PAP的安装与设置问

题。一些比较古老的Linux发行版本中,比如RH 4.2版、Slackware

3.6版中使用这个旧版本的pppd后台监控程序。 

    我建议新手选择pico程序作为控制终端环境中的编辑器。如果你

的手中还没有这个程序,请去寻找最新的Pine程序包,pico是Pine的

一个组件。 

    如果你已经有一个ppp拨号脚本的话,你必须手工修改它。如果现

在你还没有的话,我在文章中提供了一个。你可以到

/usr/doc/pppd*/script路径中去找ppp脚本,至少RedHat发行版中在

此处提供一个缺省的ppp脚本。 

    下面是我的一个ppp-on脚本: 

    这个脚本为连接到com2(DOS)或者说是/dev/ttyS1(Linux)设

备上的调制解调器提供正确的设置。你必须使用ttySxx这样的设备

名,因为在新的2.2.x核心版本中已经不再使用/dev/cua1这样的设备

名称。如果你计划升级到2.2.x版本的核心,为了保证pppd的正确工

作,你必须将你的pppd后台服务程序至少升级到pppd-2.3.x版。 

#!/bin/sh

TELEPHONE=<ISP的电话号码>

LOCAL_IP=0.0.0.0        # 本机IP地址. 动态分配 = 0.0.0.0

REMOTE_IP=0.0.0.0       # 远端服务器的IP地址. 通常为 0.0.0.0

NETMASK=255.255.255.0   # 合适的子网掩码

export TELEPHONE   

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

exec  /usr/sbin/pppd debug lock modem crtscts /dev/ttyS1 115200 \

        asyncmap 20A0000 escape FF kdebug 0 $LOCAL_IP:$REMOTE_IP \

        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIPT \

        +ua /etc/ppp/pap-secret

    要想使pap正常工作,你的ppp-on脚本就应该象上面这个样子。

你可以看到,你的用户名与口令不再出现在这个脚本文件中,这样就

避免了一个安全方面的问题。 

    在写着“<名称>”这样格式的地方,不要输入“<”和“>”,填

入合适的内容就可以了。 

    接着,需要修改“/etc/ppp/ppp-on-dialer”文件,使得它不再

查找包含用户名与口令的那一行。  

例如: 

 

#!/bin/sh

#

# 这是ppp拨号脚本的第二部分。它会正确处理拨号协议,进行必要的连结。

#

# 这是pppd-2.2.0下支持PAP协议的ppp-on-dialer文件

exec /usr/sbin/chat -v                                  \

        TIMEOUT         3                               \

        ABORT           '\nBUSY\r'                      \

        ABORT           '\nNO ANSWER\r'                 \

        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \

        ''              \rAT                            \

        'OK-+++\c-OK'   ATH0                            \

        TIMEOUT         30                              \

        OK              ATDT$TELEPHONE                  \

        CONNECT         ''                              \

    现在我们讨论一下口令文件的格式和正确设置。这个部分比较简

单,你只要建立一个名为pap-secret的文件,文件中包含着你的注册

名以及口令,各自占用独立的一行。 

    下面就是pppd-2.2.0中的pap-secret文件: 

      greg

      stinky1

    在建立这个文件之后,键入命令(假设你是root用户): 

        chmod -r pap-secret

    请不要忘记修改/etc/resolv.conf设置正确的DNS。 

    虽然我说过本文并非ppp-howto,我还是提供了一个

/etc/resolv.conf文件的样本,只是为了避免收到各种各样的电子邮

件来询问“为什么我的系统不能工作?”这样的问题。 

 

domain <your.isp.com>

search <your.isp.com>

nameserver xxx.xxx.xxx.xxx

nameserver xxx.xxx.xxx.xxx

你的/etc/resolv.conf文件看上去就应该像上面的这种样子,只是应

该包含合适的内容。 

    将ppp-on文件拷贝到/usr/sbin路径下面,ppp-on-dialer和

pap-secret文件拷贝到/etc/ppp路径下面。假设你是root用户: 

 

cp ppp-on /usr/sbin/

cp ppp-on-dialer /etc/ppp

cp pap-secret /etc/ppp

现在只要输入ppp-on命令,你就可以在Linux中连上网络了。充分享用

吧。 

pppd-2.3.5版本

    设置pppd-2.3.5中的SAP和在pppd-2.2.0中一样简单,只是ppp-on

脚本中的语法有些改变。请参考上面有关的ppp-on-dialer和

resolv.conf文件,我不想在重复一遍了。 

下面是ppp-on脚本的一个样本: 

 

#!/bin/sh

TELEPHONE=<ISP的电话号码>

LOCAL_IP=0.0.0.0        # 本机的IP地址. 动态分配 = 0.0.0.0

REMOTE_IP=0.0.0.0       # 远端服务器的IP地址. 通常是 0.0.0.0

NETMASK=255.255.255.0   # 合适的子网掩码

export TELEPHONE

DIALER_SCRIPT=/etc/ppp/ppp-on-dialer

exec  /usr/sbin/pppd debug lock modem crtscts /dev/cua1 115200 \

        asyncmap 20A0000 escape FF kdebug 0 name catfish $LOCAL_IP:$REMOTE_

IP \        noipdefault netmask $NETMASK defaultroute connect $DIALER_SCRIP

T \

这就是pppd-2.3.5下支持PAP的ppp-on脚本程序。 

/etc/pap-secret文件的格式与pppd-2.2.0中的相比也发生了变化。 

这个文件中包含了你的注册名,接口设备名以及相应的口令。这些内

容包含在同一文本行中。 

因此,你的pap-secret文件看起来就想这个样子: 

 

<注册名> ppp0 <口令>

还有,PAP-HowTo是相当不错的一份资料,那里有相关的文档。 

祝你冲浪愉快。 Terry Martin aka catfish on newnet #alt.linux

catfish@alltel.net 

如果出于某种原因,你无法使你的设备正常工作,或者你发现了某个

错误,请发邮件给我。  

                       版权所有 (C) 1999 NJLUG

           出版于第38期《Linux公报》1999年3月 中文版第五期

                            


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.595毫秒