30.3.PPP 连接的故障排除
本节介绍使用调制解调器进行 PPP 连接时可能出现的一些问题。某些 ISP 会显示 ssword
提示符,而另一些则会显示 password
。如果 ppp
脚本没有相应设置,登录尝试将失败。调试 ppp
连接最常见的方法是手动连接,下面将进行详细说明。
30.3.1. 检查设备节点
使用自定义内核时,请确保在内核配置文件中包含以下行:
uart 设备已包含在 GENERIC
内核中,因此在这种情况下无需额外操作。只需通过以下命令检查 dmesg
输出中是否识别到了调制解调器设备:
这应会显示一些关于 uart 设备的相关输出。它们即我们所需的 COM 端口。如果调制解调器表现得像一个标准串口,它通常会列在 uart1,也就是 COM2。如果确实如此,就不需要重建内核。当设备为 uart1 时,其设备文件应为 /dev/cuau1。
30.3.2. 手动连接
通过手动控制 ppp
连接到互联网是快速、简便、有效的调试方式,也有助于了解 ISP 是如何处理 ppp
客户端连接的。下面我们从命令行启动 PPP。以下示例中,运行 PPP 的主机名为 example。
首先启动 ppp
:
设置调制解调器设备:
设置连接速率为 115200 kbps:
启用 DNS 配置功能:
这会让 ppp
配置解析器并将 nameserver 条目添加到 /etc/resolv.conf 中。如果 ppp
无法识别主机名,可稍后手动设置。
进入“终端”模式以手动控制调制解调器:
初始化调制解调器并拨号:
使用 at
初始化调制解调器,使用 atdt
加上 ISP 的电话号码发起拨号过程。
成功连接后,屏幕上会显示:
若存在与硬件无关的连接问题,通常会在此阶段显现。
输入 ISP 提供的用户名:
输入 ISP 提供的密码(输入时不会回显):
可能会出现询问是否使用 shell 或启动 ppp
的提示:
在此示例中选择 ppp
以建立互联网连接。
成功连接后提示符会显示为:
注意首字母 P 被大写,表示已成功连接 ISP。
等待分配 IP 地址:
成功完成连接后:
添加默认路由,使系统能够访问外部网络:
请务必在能连接外界前添加默认路由,否则系统当前只和对端建立了连接。如果由于已有路由而添加失败,可在 add
前加 !
字符跳过错误。或者在建立连接前设置此命令,以便自动协商路由。
如果一切顺利,现在系统应已成功连接互联网。可通过 CTRL + z
将连接转入后台。
若提示符从 PPP
返回为 ppp
,则说明连接已断开。这一点非常实用,因为提示符中大写 P 表示已连接 ISP,小写 p 则表示连接已丢失。
30.3.3. 调试
对于老式调制解调器,可能需要使用 set parity even
。默认情况下奇偶校验设置为 none,但在老式设备中可用作错误检测,尽管这会显著增加数据流量。
若 ppp
无法返回命令模式,通常是由于协商错误,可能是 ISP 正在等待协商开始。此时可输入 ~p
强制 ppp
开始发送配置信息。
如果始终未出现登录提示符,可能是需要 PAP 或 CHAP 认证。要启用 PAP 或 CHAP,可在进入终端模式前添加以下设置:
其中 用户名 应替换为 ISP 分配的用户名。
其中 密码 应替换为 ISP 分配的密码。
其中 x.x.x.x 和 y.y.y.y 应替换为 ISP 提供的 DNS 服务器的 IP 地址。
最后更新于