Solaris のシステム管理 (資源管理とネットワークサービス)

PPP の障害追跡のためのツール

PPP リンクは、一般に次の 3 つの主要な領域で障害が発生します。

PPP が動作しているかどうかを確認するためのもっとも簡単な方法は、pingtraceroute のようなコマンドをピアのネットワーク上のホストに対して実行し、結果を調べることです。ただし、確立されている接続のパフォーマンスを監視したり、問題のある接続を障害追跡したりするには、PPP および UNIX のデバッグツールを使用する必要があります。

この節では、pppd および関連するログファイルから診断情報を取得する方法について説明します。この章の残りの節では、PPP 障害追跡ツールを使って発見し解決できる PPP に関する一般的な問題を説明します。

pppd から診断情報を取得する方法

次に、ローカルマシン上の接続の現在の動作を表示する手順を説明します。

  1. ローカルマシン上でスーパーユーザーになります。

  2. PPP に設定されているシリアルデバイスを引数として pppd を実行します。


    # pppd /dev/ttyname debug updetach
    
    次に、pppd をフォアグラウンドで実行したときに表示されるダイアルアップリンクおよび専用回線リンクの診断結果の例を示します。バックグラウンドで pppd debug を実行すると、作成される出力は /etc/ppp/connect-errors ファイルに送られます。


    例 35-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., Dec  6 
    	2000 09:36:22)"]
    Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Dec  6 2000 09:36:22)
    	rcvd [LCP ConfRej id=0x7b <asyncmap 0x0>]
    sent [LCP Ident id=0x7c magic=0x0 "ppp-2.4.0b1 (Sun Microsystems, Inc., Nov 15 
    	2000 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., 
    	Nov 15 2000 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., 
    	Dec  6 2000 09:36:22)"]
    Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Dec  6 2000 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


    例 35-2 正常に動作している専用回線接続からの出力


    # pppd /dev/se_hdlc1 default-asyncmap debug updetach
    pppd 2.4.0b1 (Sun Microsystems, Inc., Oct 24 2001 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 2001 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 2001 14:31:44)"]
    Peer Identification: ppp-2.4.0b1 (Sun Microsystems, Inc., Oct 22 2001 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

PPP デバッグをオンに設定する方法

次に、pppd コマンドを使ってデバッグ情報を取得する方法を示します。


注 -

手順 1 から手順 3 までは、各ホストごとに 1 度実行するだけでかまいません。その後、手順 4 に進んでホストのデバッグをオンに設定できます。


  1. pppd からの出力を保持するためのログファイルを作成します。


    % touch /var/log/pppdebug
    

  2. 次の pppd 用の syslog 機能を /etc/syslog.conf に追加します。


    daemon.debug;local2.debug       /var/log/pppdebug
    

  3. syslogd を再起動します。


    % pkill -HUP -x syslogd
    

  4. pppd の次の構文を使用して、特定のピアに対する呼び出しのデバッグをオンに設定します。


    % pppd debug call peer-name 
    

    peer-name は、/etc/ppp/peers ディレクトリにあるファイル名でなければなりません。

  5. ログファイルの内容を表示します。


    % tail -f /var/log/pppdebug
    

    ログファイルの例については、例 35-3 を参照してください。