系统管理指南:网络服务

PPP 疑难解答工具

PPP 链路通常出现以下三种主要故障:

确定 PPP 工作与否的最简单方法是在链路上运行命令。请对对等点网络中的主机运行 pingtraceroute 等命令,然后观察结果。但是,您应使用 PPP 和 UNIX 调试工具来监视所建立链路的性能,或排除有问题链路的故障。

本节说明如何从 pppd 及其关联的日志文件获取诊断信息。本章的其余各节将介绍借助 PPP 疑难解答工具可以发现和修复的 PPP 常见问题。

Procedure如何从 pppd 获取诊断信息

以下过程说明如何在本地计算机上查看链路的当前操作。

  1. 成为本地计算机的超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 将为 PPP 配置的串行设备作为参数,运行 pppd


    # pppd cua/b debug updetach
    

    以下示例说明了当 pppd 在前台运行时,生成的拨号链路和租用线路链路显示内容。如果在后台运行 pppd debug,生成的输出将发送到 /etc/ppp/connect-errors 文件。


示例 21–1 正常运行的拨号链路的输出


# 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


示例 21–2 正常运行的租用线路链路的输出


# 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

Procedure如何启用 PPP 调试功能

以下任务说明如何使用 pppd 命令获取调试信息。


注 –

对于每台主机,只需执行一次步骤 1 到步骤 3。此后,可以继续执行步骤 4 以便为主机打开调试功能。


  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2  章 “使用 Solaris Management Console(任务)”

  2. 创建日志文件以保存 pppd 的输出。


    # touch /var/log/pppdebug
    
  3. /etc/syslog.conf 中,为 pppd 添加以下 syslog 功能。


    daemon.debug;local2.debug       /var/log/pppdebug
    
  4. 重新启动 syslogd


    # pkill -HUP -x syslogd
    
  5. 使用以下 pppd 语法,为呼叫特定对等点打开调试功能。


    # pppd debug call peer-name 
    

    peer-name 必须是 /etc/ppp/peers 目录中的文件的名称。

  6. 查看日志文件的内容。


    # tail -f /var/log/pppdebug
    

    有关日志文件示例,请参见步骤 3