当前位置:Linux教程 - Linux - 实战Linux拨号上网—KPPP常见疑难问题解答

实战Linux拨号上网—KPPP常见疑难问题解答

作者:tongbian

要上网冲浪,kppp是Linux玩家必不可缺的拨号上网工具。在中文的Linux系统里,kppp使用界面已经足够傻瓜化,你只要根据你的机器设置做一些“填空练习”就了。但有时kppp的问题还是会令人莫名其妙,而modem会象傻瓜一样不为你的焦急所动。

也许你正准备求助Linux高手,其实在Linux这个DIY的系统里,只要你了解了kppp的一些常用的设置方法和设置文件,你就可以方便的动手解决一些常见问题啦!我在使用蓝点2.0的kppp总结了一些经验,这里就和大家分享一下啦!

动手解决问题前应该……
首先看看你自己属于哪个级别,然后就可以对自己做点升级工作了。

入门级:知道root帐号的密码。因为modem(调制解调器)是系统设备,只有系统管理员(root帐号)才能对进行它的使用和设置。

菜鸟级:了解一些主要设置选项的含义(中文Linux里其实完全是顾名思义啦)。

DIY级:开始阅读本文!看了本文你会知道如何对症下药,从而可以把一些主要设置文件(如/etc/pam.d/kppp和/etc/ppp/options)的常用选项按需定制。

如果你还未连接成功……
i 在要求连接的时候,kppp要求使用root用户的帐号和密码。

_ 蓝点2.0规定了必须经过嵌入验证模块(Pluggable Authentication Modules,PAM)的验证才能调用kppp,即使用root帐号调用kppp也要被重新验证身份。

_ 要改变这一麻烦的最简单方法是:打开你的/etc/pam.d/kppp文件,把以下这行:

#auth sufficient /lib/security/pam_rootok.so

替换为:

auth sufficient /lib/security/pam_permit.so

i 错误信息:“The daemon died” (后台进程死亡)。

这是最常见、最使人头疼的错误信息。通常你应该进行以下检查:

_ pppd是一个二进制可执行程序而不是一个脚本程序(script);

_ pppd是由root用户启动的;

_ 检查/etc/ppp/options文件是否有错误的选项。如果你不能肯定,就把该文件删除;

_ 在kppp的“设置”=》“设备”里,不要选择“使用文件锁”选项(图1);

_ 删除/etc/ppp/options文件中的有lock选项的行;

_ 如果在/dev/modem中的符号链接文件导致问题出现,就使用真实的端口(可以调用“设置”=》“调制解调器”=》“设备”),选择值的对应端口是:(图1)

ttyS0 对应COM1 ttyS1 对应COM2

ttyS2 对应COM3 ttyS3 对应COM4

i 错误信息:“Sorry can open modem”(对不起,不能打开调制解调器。)

_ 检查你是否选择了正确的调制解调器设备(/dev/modem);

_ 你是否以root用户帐号启动kppp;

i kppp说连接成功,但却进入了无限期的等待。

_ 改变“设置”=》“设备”下的“线路结束”的设置值,尝试使用不同的可能设置(CR,LF或CR/LF)(图1);

_ 点击“设置”中“调制解调器”标签,按下“调制解调器命令”按钮,分别调整上下两个“初始化延迟”的时间设置(图2)。

i 当等待ppp界面出现的时候报告超时。

_ 改变“线路结束”的设置值(在“设置”=》“设备”标签里)(图1);

_ 不要选择“使用文件锁”选项(在“设置”=》“设备”标签里)(图1);

_ 增加pppd的超时时间(在“设置”=》“PPP”标签里)(图3)

i 远程系统要求对它自己进行密码验证,但本地主机pppd[199]没有设定任何的密码来让远程主机使用一个IP地址。

_ 这是由于蓝点2.0中pppd-2.3.10在eth0的接口上找到了一个默认的路由。这个错误已经在ppp-2.3.11中进行了清晰的说明。进行以下工作可以排除这个错误:

_ 编辑文件/etc/sysconfig/network和文件/etc/sysconfig/network-scripts/ifcfg-eth0,删除在所有“GATEWAY=”和“GATEWAYDEV=”的等号后面的内容。



i 调制解调器和ISP连接了两次。

_ 这是蓝点1.0里的一个小问题。蓝点2.0里ppp已经升级到ppp-2.3.11,不可能有这个问题了。

i ppp在发送密码之后立即断开连接。

_ 把文件/etc/ppp/options中的auth改为noauth就行了。

i kppp说pppd不被内核所支持。

_ 这也是蓝点1.0里的一个问题。2.0对kppp和pppd进行了升级,应该已经解决了。如果你的kppp仍有问题,可以使用以下技巧来修正:

1、在终端里键入: su -c ""pppd <> /dev/modem"" <回车>

2、输入root的密码。

3、一两秒后,按下CTRL+c来中断pppd.

4、打开/var/log/messages文件,可以从最后一条系统消息中看到:ppp0 registered

然后,你就可以如常启动kppp,再也不会看到这句抱怨信息了。

i “pppd daemon dieds unexpectedly”(pppd后台程序意外死亡。)

_ 在/etc/ppp/options文件里加上一行:noauth

_ 然后以root的帐号登录并运行命令:/sbin/route del default。然后检查/etc/sysconf/network文件,把以GATEWAY 或者GATEWAYDEV开头的所有行都删除掉。这样我的pppd又可以正常运行了!

连接成功了,我要上网,但……
i 拨号连接成功了,但netscape说“服务器没有一个DNS入口”。

_ 你的设置中至少要有一个DNS地址(其含义和Windows中的DNS一样,即域名服务器),你的ISP应该向你提供了这个参数(在“设置”=》“帐号”=》“编辑”=》DNS中修改)(图4)

_ 打开文件/etc/resolv.conf并加入以下内容:

nameserver xxx.xxx.xxx.xxx

nameserver yyy.yyy.yyy.yyy

search

其中xxx.xxx.xxx.xxx是第一个DNS地址(必要内容),yyy.yyy.yyy.yyy是第二个DNS地址(不是必要的)。

i 可以用ping命令成功连接,但不能浏览网页。

_ 修改文件/etc/ppp/options,增加两行:

defaultroute

noauth

i 连接成功,但我不能打开任何应用程序。

_ 这个问题是由于你的ISP修改了你的主机名,从而图形服务器X不能连接到这个新的主机并启动任何应用程序。解决的方法是:

1、编辑文件/etc/sysconfig/network,把localhost改为你想要的任何名字(例如:mymachin)

2、编辑文件/etc/hosts,使它至少包含以下内容:

127.0.0.1 localhost localhost.localdomain

127.0.0.1 mymachin.linuxfan mymachine

其中linuxfan也是由你任意指定的一个名字。

3、编辑文件/etc/host.conf,使它至少包含以下内容:

order hosts, bind

然后重启你的机器,看看你的DIY是否成功?

i 调制解调器发出的噪音太大。

在kppp里,选择“设置”=》“调制解调器”,调整“调制解调器音量”的标尺减少到你认为适当的程度。(图5)

更多的问题……
如果你还有其他问题,可以浏览最近网上的kppp问题报告,一个很不错的网页是http://axion.physics.ubc.ca/ppp-linux.html。