本章包含对 Solaris PPP 4.0 的常见问题进行疑难解答的有关信息,具体包含以下主题:
此外,在 James Carlson 的《PPP Design, Implementation, and Debugging》以及澳大利亚国立大学的网站中,也提供了详细的 PPP 疑难解答建议。有关更多信息,请参见有关 PPP 的专业参考书籍和有关 PPP 的 Web 站点。
使用以下任务列表可快速访问有关常见 PPP 问题的建议和解决方案。
表 21–1 PPP 疑难解答任务列表
任务 |
定义 |
参考 |
---|---|---|
获取有关 PPP 链路的诊断信息 |
使用 PPP 诊断工具获取用于疑难解答的输出。 | |
获取 PPP 链路的调试信息 |
使用 pppd debug 命令生成用于疑难解答的输出。 | |
对网络层常见问题进行疑难解答 |
使用一系列检查来确定并修复与网络相关的 PPP 问题。 | |
对常见的通信问题进行疑难解答 |
确定并修复影响 PPP 链路的通信问题。 | |
对配置问题进行疑难解答 |
确定并修复 PPP 配置文件的问题 | |
对与调制解调器相关的问题进行疑难解答 |
确定并修复调制解调器问题。 | |
对与聊天脚本相关的问题进行疑难解答 |
确定并修复拨出计算机的聊天脚本问题。 | |
对串行线路速度问题进行疑难解答 |
确定并修复拨入服务器的线路速度问题。 | |
对租用线路的常见问题进行疑难解答 |
确定并修复租用线路的性能问题。 | |
对与验证相关的问题进行疑难解答 |
确定并修复与验证数据库相关的问题。 | |
对 PPPoE 问题范围进行疑难解答 |
使用 PPP 诊断工具获取用于确定并修复 PPPoE 问题的输出。 |
链路建立故障
链路在常规使用期间性能不正常
在链路任一端出现的可追溯到网络的问题
确定 PPP 工作与否的最简单方法是在链路上运行命令。请对对等点网络中的主机运行 ping 或 traceroute 等命令,然后观察结果。但是,您应使用 PPP 和 UNIX 调试工具来监视所建立链路的性能,或排除有问题链路的故障。
本节说明如何从 pppd 及其关联的日志文件获取诊断信息。本章的其余各节将介绍借助 PPP 疑难解答工具可以发现和修复的 PPP 常见问题。
以下过程说明如何在本地计算机上查看链路的当前操作。
成为本地计算机的超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
# pppd cua/b debug updetach |
以下示例说明了当 pppd 在前台运行时,生成的拨号链路和租用线路链路显示内容。如果在后台运行 pppd debug,生成的输出将发送到 /etc/ppp/connect-errors 文件。
# pppd /dev/cua/b debug updetach have route to 0.0.0.0/0.0.0.0 via 172.21.0.4 serial speed set to 230400 bps Using interface sppp0 Connect: sppp0 <--> /dev/cua/b sent [LCP ConfReq id=0x7b <asyncmap 0x0> <magic 0x73e981c8> <pcomp> <accomp>] rcvd [LCP Ident id=0x79 magic=0x0 "ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 6 2004 09:36:22)"] Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 6 2004 09:36:22) rcvd [LCP ConfRej id=0x7b <asyncmap 0x0>] sent [LCP Ident id=0x7c magic=0x0 "ppp-2.4.0b1 (Sun Microsystems, Inc., Sep 15 2004 09:38:33)" sent [LCP ConfReq id=0x7d <magic 0x73e981c8> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x7d <magic 0x73e981c8> <pcomp> <accomp>] rcvd [LCP ConfAck id=0x78 <magic 0xdd4ad820> <pcomp> <accomp>] sent [LCP ConfAck id=0x78 <magic 0xdd4ad820> <pcomp> <accomp>] sent [LCP Ident id=0x7e magic=0x73e981c8 "ppp-2.4.0b1 (Sun Microsystems, Inc., Sep 15 2004 09:38:33)"] sent [IPCP ConfReq id=0x3d <addr 0.0.0.0> <compress VJ 0f 01>] rcvd [LCP Ident id=0x7a magic=0xdd4ad820 "ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 6 2004 09:36:22)"] Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 6 2004 09:36:22) rcvd [IPCP ConfReq id=0x92 <addr 10.0.0.1> <compress VJ 0f 01> sent [IPCP ConfAck id=0x92 <addr 10.0.0.1> <compress VJ 0f 01> rcvd [IPCP ConfNak id=0x3d <addr 10.0.0.2>]] sent [IPCP ConfReq id=0x3e <addr 10.0.0.2> <compress VJ 0f 01>] rcvd [IPCP ConfAck id=0x3e <addr 10.0.0.2> <compress VJ 0f 01>] local IP address 10.0.0.2 remote IP address 10.0.0.1 |
# pppd /dev/se_hdlc1 default-asyncmap debug updetach pppd 2.4.0b1 (Sun Microsystems, Inc., Oct 24 2004 07:13:18) started by root, uid 0 synchronous speed appears to be 0 bps init option: '/etc/ppp/peers/syncinit.sh' started (pid 105122) Serial port initialized. synchronous speed appears to be 64000 bps Using interface sppp0 Connect: sppp0 <--> /dev/se_hdlc1 sent [LCP ConfReq id=0xe9 <magic 0x474283c6><pcomp> <accomp>] rcvd [LCP ConfAck id=0xe9 <magic 0x474283c6><pcomp> <accomp>] rcvd [LCP ConfReq id=0x22 <magic 0x8e3a53ff><pcomp> <accomp>] sent [LCP ConfReq id=0x22 <magic 0x8e3a53ff><pcomp> <accomp>] sent [LCP Ident id=0xea magic=0x474283c6 "ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 22 2004 14:31:44)"] sent [IPCP ConfReq id=0xf7 <addr 0.0.0.0> <compress VJ Of o1>]] sent [CCP ConfReq id=0x3f <deflate 15> <deflate(old#) 15> <bsd v1 15>] rcvd [LCP Ident id=0x23 magic=0x8e3a53ff "ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 22 2004 14:31:44)"] Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 22 2004 14:31:44) rcvd [IPCP ConfReq id=0x25 <addr 10.0.0.1> <compress VJ Of 01>] sent [IPCP ConfAck id=0x25 <addr 10.0.0.1> <compress VJ Of 01>] rcvd [CCP ConfReq id=0x3 <deflate 15> <deflate(old#) 15 <bsd v1 15>] sent [CCP ConfAck id=0x3 <deflate 15> <deflate(old#) 15 <bsd v1 15>] rcvd [IPCP ConfNak id=0xf8 <addr 10.0.0.2>] rcvd [IPCP ConfReq id=0xf7 <addr 10.0.0.2> <compress VJ Of 01>] rcvd [CCP ConfAck id=0x3f <deflate 15> <deflate(old#) 15 <bsd v1 15>] Deflate (15) compression enabled rcvd [IPCP ConfAck id=0xf8 <addr 10.0.0.2> <compress VJ Of 01>] local IP address 10.0.0.2 remote IP address 10.0.0.1 |
对于每台主机,只需执行一次步骤 1 到步骤 3。此后,可以继续执行步骤 4 以便为主机打开调试功能。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
创建日志文件以保存 pppd 的输出。
# touch /var/log/pppdebug |
在 /etc/syslog.conf 中,为 pppd 添加以下 syslog 功能。
daemon.debug;local2.debug /var/log/pppdebug |
重新启动 syslogd。
# pkill -HUP -x syslogd |
使用以下 pppd 语法,为呼叫特定对等点打开调试功能。
# pppd debug call peer-name |
peer-name 必须是 /etc/ppp/peers 目录中的文件的名称。
查看日志文件的内容。
# tail -f /var/log/pppdebug |
有关日志文件示例,请参见步骤 3。
有关如何解决与 PPP 和 PPPoE 相关的问题的信息,请参阅以下各节。
如果 PPP 链路处于活动状态,但远程网络上几乎没有可以访问的主机,则表明可能存在网络问题。以下过程将说明如何确定并修复影响 PPP 链路的网络问题。
成为本地计算机的超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
关闭有问题的链路。
在配置文件中,通过为 PPP 配置添加以下选项以禁用所有可选协议:
noccp novj nopcomp noaccomp default-asyncmap |
这些选项可提供最简单的、未被压缩的可用 PPP。请尝试在命令行上将这些选项作为 pppd 的参数进行调用。如果可以访问先前无法访问的主机,请在以下任一位置添加这些选项。
/etc/ppp/peers/peer-name,call 选项之后
/etc/ppp/options,确保这些选项可全局应用
呼叫远程对等点,然后启用调试功能。
% pppd debug call peer-name |
使用 chat 的 -v 选项,获取聊天程序的详细日志。
例如,在任何 PPP 配置文件中使用以下格式:
connect 'chat -v -f /etc/ppp/chatfile' |
/etc/ppp/chatfile 表示聊天文件的名称。
使用 Telnet 或其他应用程序访问远程主机,以尝试重新生成该问题。
观察调试日志。如果仍然无法访问远程主机,则 PPP 问题可能与网络相关。
检验远程主机的 IP 地址是否为已注册的 Internet 地址。
某些组织会指定在本地网络内已知、但无法路由至 Internet 的内部 IP 地址。如果远程主机位于您公司内,则必须设置名称到地址转换 (name-to-address translation, NAT) 服务器或代理服务器,才能访问 Internet。如果远程主机位于您公司外,则应向远程组织报告该问题。
检查路由表。
(可选的)如果该计算机为路由器,请检查可选功能。
# ndd -set /dev/ip ip_forwarding 1 |
有关 ndd 的更多信息,请参阅 ndd(1M) 手册页。
在 Solaris 10 发行版中,可以使用 routeadm(1M) 来代替 ndd(1M)。
# routeadm -e ipv4-forwarding -u |
ndd 命令没有持久性。使用该命令设置的值将在重新引导系统时丢失。routeadm 命令则具有持久性。使用该命令设置的值将在重新引导系统后保留。
检查通过 netstat -s 和类似工具获取的统计信息。
有关 netstat 的完整详细信息,请参阅 netstat(1M) 手册页。
在本地计算机上运行统计信息。
呼叫对等点。
观察 netstat -s 生成的新统计信息。有关更多信息,请参阅影响 PPP 的常见网络问题。
检查 DNS 配置。
错误的名称服务配置会因无法解析 IP 地址而使应用程序出现故障。
您可以使用 netstat -s 生成的消息,来修复下表中所示的网络问题。相关过程信息,请参阅如何诊断网络问题。
表 21–2 影响 PPP 的常见网络问题
消息 |
问题 |
解决方案 |
---|---|---|
IP packets not forwardable |
本地主机缺少路由。 |
在本地主机的路由表中添加缺失的路由。 |
ICMP input destination unreachable |
本地主机缺少路由。 |
在本地主机的路由表中添加缺失的路由。 |
ICMP time exceeded |
两个路由器正在互相转发同一目标地址,从而使包来回传递,直到超出生存时间 (time-to-live, TTL) 值。 |
使用 traceroute 查找路由循环的原因,然后与出现错误的路由器的管理员联系。有关 traceroute 的信息,请参阅 traceroute(1M) 手册页。 |
IP packets not forwardable |
本地主机缺少路由。 |
在本地主机的路由表中添加缺失的路由。 |
ICMP input destination unreachable |
本地主机缺少路由。 |
在本地主机的路由表中添加缺失的路由。 |
两个对等点无法成功建立链路,则表明出现了通信问题。有时,这些问题实际上是由于聊天脚本配置错误而导致的协商问题。以下过程说明如何清除通信问题。有关清除由于聊天脚本错误而导致的协商问题,请参见表 21–5。
成为本地计算机的超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
呼叫对等点。
呼叫远程对等点,然后启用调试功能。
% pppd debug call peer-name |
为修复某些通信问题,可能需要从对等点获取调试信息。
在生成的日志中检查通信问题。有关更多信息,请参阅影响 PPP 的常见通信问题。
下表介绍了与如何诊断和修复通信问题过程的日志输出有关的症状。
表 21–3 影响 PPP 的常见通信问题
症状 |
问题 |
解决方案 |
---|---|---|
too many Configure-Requests |
一个对等点无法接收另一个对等点的信息。 |
检查以下问题:
|
pppd debug 输出显示 LCP 已启动,但更高级别的协议失败或显示出现 CRC 错误。 |
异步控制字符映射 (asynchronous control character map, ACCM) 的设置不正确。 |
使用 default-async 选项将 ACCM 设置为标准的 FFFFFFFF 缺省值。首先,尝试在命令行上将 default-async 用作 pppd 的选项。如果该问题已解决,则将 default-async 添加到 /etc/ppp/options,或添加到 call 选项之后的 /etc/ppp/peers/peer-name。 |
pppd debug 输出显示,IPCP 在启动后立即终止。 |
IP 地址配置可能不正确。 |
|
链路显示性能很差。 |
调制解调器的配置不正确,并出现流量控制配置错误、调制解调器设置错误以及 DTE 日志配置错误。 |
检查调制解调器配置。 如有必要,调整该配置。 |
某些 PPP 问题可以追溯到 PPP 配置文件的问题。以下过程说明如何确定并修复常见的配置问题。
成为本地计算机的超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
呼叫远程对等点,然后启用调试功能。
% pppd debug call peer-name |
在生成的日志中检查配置问题。有关更多信息,请参阅常见的 PPP 配置问题。
下表介绍了与如何诊断 PPP 配置问题过程的日志输出有关的症状。
表 21–4 常见的 PPP 配置问题
症状 |
问题 |
解决方案 |
---|---|---|
pppd debug 输出包含错误消息 Could not determine remote IP address。 |
/etc/ppp/peers/peer-name 文件未包含对等点的 IP 地址。对等点在链路协商期间没有提供 IP 地址。 |
在 pppd 命令行或 /etc/ppp/peers/peer-name 中,使用以下格式为对等点提供 IP 地址: :10.0.0.10 |
pppd debug 输出显示 CCP 数据压缩失败。该输出还指示链路被丢弃。 |
对等点的 PPP 压缩配置可能出现冲突。 |
通过在 /etc/ppp/options 中添加 noccp 选项,对其中一个对等点禁用 CCP 压缩。 |
调制解调器问题可能是拨号链路的主要问题。调制解调器配置问题的最常见指示是对等点没有响应。但是,在确定链路问题是否确实为调制解调器配置问题所致时,可能会遇到问题。
有关调制解调器疑难解答的基本建议,请参阅《系统管理指南:高级管理》中的“解决终端和调制解调器问题”。此外,调制解调器制造商所提供的文档和网站也提供了有关其特定设备问题的解决方案。以下过程有助于确定调制解调器配置错误是否会导致链路问题。
按照如何启用 PPP 调试功能中的说明,呼叫已打开调试功能的对等点。
显示生成的 /var/log/pppdebug 日志,以检查调制解调器配置是否错误。
使用 ping 在链路上发送各种大小的包。
有关 ping 的完整详细信息,请参阅 ping(1M) 手册页。
如果收到较小的包,而较大的包被丢弃,则表明调制解调器存在问题。
检查接口 sppp0 上的错误:
% netstat -ni Name Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queue lo0 8232 127.0.0.0 127.0.0.1 826808 0 826808 0 0 0 hme0 1500 172.21.0.0 172.21.3.228 13800032 0 1648464 0 0 0 sppp0 1500 10.0.0.2 10.0.0.1 210 0 128 0 0 0 |
如果接口错误随时间而增加,则调制解调器配置可能存在问题。
显示生成的 /var/log/pppdebug 日志时,输出中出现以下症状可以表明调制解调器配置出现错误。本地计算机可以接收对等点的信息,而对等点却无法接收本地计算机的信息。
对等点未发送任何 "recvd" 消息。
输出包含来自对等点的 LCP 消息,但链路失败,并显示本地计算机发送的 too many LCP Configure Requests 消息。
链路终止,并显示 SIGHUP 信号。
以下过程用于从 chat 获取调试信息和清除常见问题的建议。有关更多信息,请参阅常见的聊天脚本问题。
成为拨出计算机的超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
编辑要呼叫的对等点的 /etc/ppp/peers/peer-name 文件。
将 -v 作为参数添加到 connect 选项中指定的 chat 命令。
connect "/usr/bin/chat -v -f /etc/ppp/chat-script-name" |
查看 /etc/ppp/connect-errors 文件中的聊天脚本错误。
以下是使用 chat 出现的主要错误。
Oct 31 08:57:13 deino chat[107294]: [ID 702911 local2.info] expect (CONNECT) Oct 31 08:57:58 deino chat[107294]: [ID 702911 local2.info] alarm Oct 31 08:57:58 deino chat[107294]: [ID 702911 local2.info] Failed |
该示例表明在等待 (CONNECT) 字符串时超时。如果 chat 失败,将从 pppd 获取以下消息:
Connect script failed |
聊天脚本是拨号链路中容易出现问题的地方。下表列出了常见的聊天脚本错误,并提供了用于修复这些错误的建议。有关过程信息,请参阅如何获取聊天脚本的调试信息。
表 21–5 常见的聊天脚本问题
拨入服务器可能会因速度设置冲突而出现问题。以下过程有助于您确定引起串行线路速度产生冲突的链路问题。
下列行为可导致速度问题:
通过 /bin/login 等程序调用了 PPP 并指定了线路速度。
通过 mgetty 启动了 PPP 并无意中提供了位速率。
由于 pppd 将初始设置的线路速度更改为通过 /bin/login 或 mgetty 设置的速度, 因此线路出现故障。
登录到拨入服务器。呼叫启用了调试功能的对等点。
如果需要说明,请参见如何启用 PPP 调试功能。
显示生成的 /var/log/pppdebug 日志。
在该输出中检查有无以下消息:
LCP too many configure requests |
此消息表明,为 PPP 配置的串行线路速度可能会出现冲突。
检查是否已通过 /bin/login 等程序调用 PPP,并检查设置的线路速度。
在这种情况下,pppd 会将初始配置的线路速度更改为 /bin/login 中指定的速度。
检查用户是否已通过 mgetty 命令启动 PPP 并无意中指定了位速率。
该操作还会导致串行线路速度冲突。
按如下所示,修复串行线路速度冲突问题:
您可以使用 PPP 和标准的 UNIX 实用程序来确定 PPPoE 问题。如果您怀疑链路问题是由于 PPPoE 所致,请使用以下诊断工具获取疑难解答信息。
成为运行 PPPoE 通道的计算机(PPPoE 客户机或 PPPoE 访问服务器)的超级用户。
按照如何启用 PPP 调试功能过程中的说明,打开调试功能。
查看日志文件 /var/log/pppdebug 的内容。
以下示例显示了使用 PPPoE 通道生成的部分链路日志文件。
Sep 6 16:28:45 enyo pppd[100563]: [ID 702911 daemon.info] Plugin pppoe.so loaded. Sep 6 16:28:45 enyo pppd[100563]: [ID 860527 daemon.notice] pppd 2.4.0b1 (Sun Microsystems, Inc., Sep 5 2001 10:42:05) started by troot, uid 0 Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] connect option: '/usr/lib/inet/pppoec -v hme0' started (pid 100564) Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.info] Serial connection established. Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.info] Using interface sppp0 Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.notice] Connect: sppp0 <--> /dev/sppptun Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] /etc/ppp/pap-secrets is apparently empty Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] /etc/ppp/chap-secrets is apparently empty Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] sent [LCP ConfReq id=0xef <mru 1492> asyncmap 0x0 <magic 0x77d3e953><pcomp><acomp> Sep 6 16:28:46 enyo pppd[100563]: [ID 702911 daemon.debug] rcvd [LCP ConfReq id=0x2a <mru 1402> asyncmap 0x0 <magic 0x9985f048><pcomp><acomp |
# pppd connect "/usr/lib/inet/pppoec -v interface-name" |
pppoec 将诊断信息发送到 stderr。如果您在前台运行 pppd,输出将显示在屏幕上。如果在后台运行 pppd,输出将发送到 /etc/ppp/connect-errors。
以下示例显示了协商 PPPoE 通道时生成的消息。
Connect option: '/usr/lib/inet/pppoec -v hme0' started (pid 100564) /usr/lib/inet/pppoec: PPPoE Event Open (1) in state Dead (0): action SendPADI (2) /usr/lib/inet/pppoec: Sending PADI to ff:ff:ff:ff:ff:ff: 18 bytes /usr/lib/inet/pppoec: PPPoE State change Dead (0) -> InitSent (1) /usr/lib/inet/pppoec: Received Active Discovery Offer from 8:0:20:cd:c1:2/hme0:pppoed /usr/lib/inet/pppoec: PPPoE Event rPADO+ (5) in state InitSent (1): action SendPADR+ (5) /usr/lib/inet/pppoec: Sending PADR to 8:0:20:cd:c1:2: 22 bytes /usr/lib/inet/pppoec: PPPoE State change InitSent (1) -> ReqSent (3) /usr/lib/inet/pppoec: Received Active Discovery Session-confirmation from 8:0:20:cd:c1:2/hme0:pppoed /usr/lib/inet/pppoec: PPPoE Event rPADS (7) in state ReqSent (3): action Open (7) /usr/lib/inet/pppoec: Connection open; session 0002 on hme0:pppoe /usr/lib/inet/pppoec: PPPoE State change ReqSent (3) -> Convers (4) /usr/lib/inet/pppoec: connected |
如果通过该诊断消息无法确定问题,请继续执行此过程。
有关 snoop 的信息,请参阅 snoop(1M) 手册页。
# snoop -o pppoe-trace-file |
# snoop -i pppoe-trace-file -v pppoe |
ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 1 arrived at 6:35:2.77 ETHER: Packet size = 32 bytes ETHER: Destination = ff:ff:ff:ff:ff:ff, (broadcast) ETHER: Source = 8:0:20:78:f3:7c, Sun ETHER: Ethertype = 8863 (PPPoE Discovery) ETHER: PPPoE: ----- PPP Over Ethernet ----- PPPoE: PPPoE: Version = 1 PPPoE: Type = 1 PPPoE: Code = 9 (Active Discovery Initiation) PPPoE: Session Id = 0 PPPoE: Length = 12 bytes PPPoE: PPPoE: ----- Service-Name ----- PPPoE: Tag Type = 257 PPPoE: Tag Length = 0 bytes PPPoE: PPPoE: ----- Host-Uniq ----- PPPoE: Tag Type = 259 PPPoE: Tag Length = 4 bytes PPPoE: Data = Ox00000002 PPPoE: . . . ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 5 arrived at 6:35:2.87 ETHER: Packet size = 60 bytes ETHER: Destination = 8:0:20:78:f3:7c, Sun) ETHER: Source = 0:2:fd:39:7f:7, ETHER: Ethertype = 8864 (PPPoE Session) ETHER: PPPoE: ----- PPP Over Ethernet ----- PPPoE: PPPoE: Version = 1 PPPoE: Type = 1 PPPoE: Code = 0 (PPPoE Session) PPPoE: Session Id = 24383 PPPoE: Length = 20 bytes PPPoE: PPP: ----- Point-to-Point Protocol ----- PPP: PPP-LCP: ----- Link Control Protocol ----- PPP-LCP: PPP-LCP: Code = 1 (Configure Request) PPP-LCP: Identifier = 80 PPP-LCP: Length = 18 |
租用线路的最常见问题是性能差。在大多数情况下,您需要与电话公司共同来修复该问题。
表 21–6 常见的租用线路问题
症状 |
问题 |
解决方案 |
---|---|---|
链路未启动。 |
可能是因为 CSU 双极违规 (CSU biopolar violation, CSU BPV)。链路一端设置用于 AMI 线路。而另一端设置用于 ESF 位–8 零替换 (bit–8 zero substitute, B8Z)。 |
如果您位于美国或加拿大,则可以直接通过 CSU/DSU 的菜单修复此问题。有关详细信息,请查看 CSU/DSU 制造商所提供的文档。 如果位于其他地区,则提供商可能会负责修复 CSU BPV。 |
链路性能差。 |
当链路中有持续通信流时,pppd debug 输出显示发生了 CRC 错误。您的线路可能存在计时问题,这是由于电话公司和您的网络之间的配置错误所致。 |
联系电话公司以确保正在使用“循环计时”。 在某些非结构化的租用线路上,可能必须提供计时。北美用户应使用循环计时。
|
下表介绍了常见验证问题的解决方案。
表 21–7 常见验证问题
症状 |
问题 |
解决方案 |
---|---|---|
pppd debug 输出显示消息:Peer is not authorized to use remote address address。 |
您正在使用 PAP 验证,但远程对等点的 IP 地址不在 /etc/ppp/pap-secrets 文件中。 |
在 /etc/ppp/pap-secrets 文件中,在对等点的项后添加一个星号 (*)。 |
pppd debug 输出显示,LCP 启动,但在启动后很快终止。 |
对于特定的安全协议,数据库中的口令可能不正确。 |
在 /etc/ppp/pap-secrets 或 /etc/ppp/chap-secrets 文件中,检查对等点的口令。 |