PPP リンクを通して IP 接続を実現する IP ルーティング機能は、Solstice PPP のような製品で問題が発生しやすい部分です。IP ルーティングにおける問題を検出する手順は、以下のとおりです。
ifconfig(1M) を使用してプロトコルステータスを確認します。
ping(1M) を使用して IP の接続性を確認します。
netstat(1M) を使用してルーティングテーブルを確認します。
snoop(1M) を使用してパケットフローを確認します。
以下のように ifconfig(1M) を使用して、Solstice PPP における IP インタフェースが構成されていることを確認します。
prompt# /usr/sbin/ifconfig -a lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=863<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 129.x.x.117 netmask ffffff00 broadcast 129.x.x.255 ether 8:0:20:10:c2:b1 ipdptp0: flags=8d0<POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500 inet 129.x.x.117 --> 129.x.x.253 netmask ffffff00 ether 0:0:0:0:0:0 ipdptp1: flags=28d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> inet 129.x.x.117 --> 129.x.x.38 netmask ffffff00 ether 0:0:0:0:0:0 |
以下のように ping(1M) を使用して、リモートホストとの接続が可能であることを確認します。
prompt# /usr/sbin/ping -r remote_host |
ファイル /var/opt/SUNWconn/ppp.log の接続ステータスを調べます。メッセージ "PPP error on ipdptp1: Negotiation of mandatory options failed" が出力され、LCP ネゴシエーションが失敗した場合は、リンク両端のインタフェースに使用している IP アドレス同士が一貫していない可能性があります。
以下のように netstat(1M) を使用して、ローカルホストとリモートホストのネットワークアドレスを確認します。
prompt# /usr/sbin/netstat -i lo0 8232 loopback localhost 4631890 0 4631890 0 0 0 le0 1500 lab local 5370160 15 2153627 273 430451 0 ipdptp0 1500 remote local 0 0 0 0 0 0 |
ローカルアドレスとリモートアドレスが正しいことを確認します。ホスト名は、ローカルファイル /etc/hosts において IP アドレスとして解釈処理するか、またはネームサービス (NIS/NIS+ または DNS) によって IP アドレスとして解釈処理する必要があります。同期リンクの IP インタフェースは、ネームサービスが利用可能となる前に Solstice PPP によって初期化されます。したがって、これらのファイルのホスト名を /etc/hosts において解釈処理する必要があります。
以下のように netstat(1M) を使用して、ルーティングテーブルを確認します。
prompt# /usr/sbin/netstat -r |
以下のように入力して、要求する送信経路がルーティングテーブルに含まれていない場合は、ルーティングデーモン in.routed がマシン上で動作していることを確認してください。
prompt# ps -ef | grep in.routed owner 12481 3812 7 23:06:08 pts/6 0:00 grep in.routed |
以下のように snoop(1M) を使用して、パケットが送信されていることを確認します。
prompt# /usr/sbin/snoop -d ipdptp0 local -> remote RSHELL C port=1017 >0 'H ![ ? local -> remote RSHELL C port=1017 ,(!¥nM/ local -> remote RSHELL C port=1017 Y@#K / ]0#Z ] 'Z local -> remote RSHELL C port=1017 .?;-)P3O89, " 2 H8" local -> remote RSHELL C port=1017 @ ¥#¥ . . . |