この章では、クライアントマシンにインストールされている Solstice PPP で発生する問題を検出し解決する方法について説明します。
マシンとモデムを接続しているケーブル、およびモデムと電話ソケットを接続しているケーブルを確認します。
モデムに電源が投入され、正しく構成されていることを確認します。
pppinit が正しく実行され、構成情報が正確に入力されたことを確認します。
以下のように入力して、Solstice PPP がローカルマシン上で構成され、動作していることを確認します。
prompt% ps -ef | grep ppp root pid timestamp 0:00 /usr/sbin/pppd -d 1 root pid timestamp 0:00 /usr/sbin/pppd -d 1 |
以下のように入力して、Solstice PPP ログファイル (/var/opt/SUNWconn/ppp.log) 中にエラーメッセージやステータスメッセージがあるかどうかを確認します。
prompt# tail -f /var/opt/SUNWconn/ppp.log 05/31/95 22:52:48 - Link manager (17302) has started 05/31/95 05/31/95 22:52:48 - Successful configuration 05/31/95 22:55:02 - Connection requested to remote_server 05/31/95 22:55:03 - Dialing number 389 ... 05/31/95 22:55:21 - Got modem connection 05/31/95 22:56:02 - fail at line 12 in chat script chat_script |
Solstice PPP のエラーメッセージとステータスメッセージは、ログファイル /var/opt/SUNWconn/ppp.log に書き込まれます。これらのメッセージは、接続が成功した場合はその進行状況を示します。接続が失敗した場合は、構成のどの部分が問題の原因となっているのかを特定するために利用できます。
ログファイルに最後に書き込まれたメッセージを表示するには、以下のように入力します。
prompt# tail -f /var/opt/SUNWconn/ppp.log |
以下のログファイルの例は、Solstice PPP がローカルマシン上で正常に起動され、構成されたことを示しています。リモートサーバーとの接続が開かれ、その後切断されています。
11/13/95 18:00:48 - Link manager (359) has started 11/13/95 11/13/95 18:00:48 - Successful configuration 11/13/95 18:00:58 - Connection requested to miles 11/13/95 18:00:59 - Dialing number P365 ... 11/13/95 18:01:32 - Got modem connection 11/13/95 18:01:35 - LCP up on ipdptp0 11/13/95 18:01:35 - IP_NCP up on ipdptp0 11/13/95 18:01:35 - IP up on interface ipdptp0, with timeout set to 240 seconds 11/13/95 18:01:54 - Disconnect indication on ipdptp0 11/13/95 18:01:54 - IP_NCP down on ipdptp0 11/13/95 18:01:54 - LCP down on ipdptp0 |
Solstice PPP は、構成スクリプト pppinit によって作成された構成ファイルを起動時に読み取ります。これらのファイルがマシン上に存在しない場合は、Solstice PPP は以下のメッセージを表示します。
starting ppp (not configured) |
以下のログファイルの例は、いずれかの構成ファイルにエラーが含まれているときに出力されるエラーメッセージを示しています。
11/13/95 18:53:22 - Link manager (460) has started 11/13/95 11/13/95 18:53:22 - parse_config_file: unrecognized symbol inactivity_timeout 11/13/95 18:53:22 - parse_config_file: unrecognized symbol 180 11/13/95 18:53:22 parse_config_file: Errors in configuration file /etc/opt/SUNWconn/ppp/ppp.conf |
この例では、認識されないキーワードがファイル ppp.conf に含まれているため、ファイルの解析時に拒否されています。構成ファイルに問題が存在する場合は、構成ファイル pppinit を実行して構成ファイルを作成し直してください。それでも問題が解決しない場合は、システム管理者またはインターネットプロバイダにお問い合わせください。
接続フェーズでは、まず最初にモデム接続が行われます。サーバーに接続しているモデムの電話番号をクライアントが送信し、両モデムが交信することによって接続が設定されます。
以下のログファイルの例は、モデム接続が失敗したことを示しています。
11/13/95 19:57:44 - Connection requested to miles 11/13/95 19:57:45 - Dialing number P365 ... 11/13/95 19:58:09 - remote host is busy |
クライアントがビジー信号をサーバーから受信すると、"remote host is busy" というメッセージが表示されます。これは、別のクライアントがすでにサーバーモデムを使用しているか、または装置に問題があることを意味します。この例では、パルスダイヤルを期待していたオフィス交換機に対して、クライアントがトーンダイヤルを使用したことがエラーの原因です。
モデムの番号に直接電話することによって、モデムへのアクセスが可能であるかどうかを確認してください。モデムへのアクセスが不可能な場合は、発信している電話番号が正しいかどうかを確認してください。正しい番号を使用しているにもかかわらずビジー信号を何度も受信する場合は、システム管理者またはインターネットプロバイダにお問い合わせください。
モデム接続の次に行われる接続フェーズ処理は、PPP ネゴシエーションです。クライアントとサーバーが交信することによって、PPP リンクの共通構成を得るためのネゴシエーションを行います。ネゴシエーションは可能なかぎり収束するように処理されますが、必須パラメータが一致しなかった場合は、ネゴシエーションが失敗します。
以下のログファイルの例は、PPP ネゴシエーションが失敗したことを示しています。
11/13/95 20:34:42 - Connection requested to miles 11/13/95 20:34:43 - Dialing number P365 ... 11/13/95 20:35:16 - Got modem connection 11/13/95 20:35:19 - LCP up on ipdptp0 11/13/95 20:35:19 - PPP error on ipdptp0: Negotiation of mandatory options failed |
この例では、サーバーが要求する IP アドレスとは異なる IP アドレスがエラーの原因となっています。PPP ネゴシエーションが失敗した場合は、システム管理者やインターネットプロバイダから入手した情報どおりの構成であるかどうかを確認してください。構成が正しい場合は、サーバー構成を変更する必要がある可能性があるのでシステム管理者またはインターネットプロバイダにお問い合わせください。
PAP 認証と CHAP 認証は、非認証クライアントがサーバーに接続することを防止するための認証方式です。PAP 認証と CHAP 認証のいずれかがサーバーで起動している場合は、システム管理者やインターネットプロバイダからパスワードと識別子が与えられます。 以下のログファイルの例は、クライアントが認証要求に応答できなかったことを示しています。
以下のログファイルの例は、クライアントが認証要求に応答できなかったことを示しています。
11/14/95 10:22:41 - Connection requested to miles 11/14/95 10:22:42 - Dialing number P365 ... 11/14/95 10:23:16 - Got modem connection 11/14/95 10:23:47 - PPP error on ipdptp0: Maximum number of configure requests exceeded |
この例では、サーバーが PAP 認証を要求し、クライアントがこの要求を拒否しています。指定回数だけ要求を行なった後、サーバーは PPP ネゴシエーションを開始しないまま接続を切断します。
以下のログファイルの例は、クライアントが認証要求に対する応答でまちがったパスワードを使用したことを示しています。
11/13/95 20:34:42 - Connection requested to miles 11/13/95 20:34:43 - Dialing number P365 ... 11/13/95 20:35:16 - Got modem connection 11/13/95 20:35:19 - LCP up on ipdptp0 11/13/95 20:35:19 - PPP error on ipdptp0: Negotiation of mandatory options failed |
この例では PPP ネゴシエーションが失敗し、サーバーが接続を自動的に切断します。
非活動タイムアウトは、指定秒数を経過しても接続が未使用状態のままであるときに接続を自動的に切断します。つまり、接続がうっかりオープン状態のままになっていた時間の電話料金が請求されるという事態を防ぐことができます。ただし、非活動タイムアウトが短すぎると、必要以上に早く接続が切断されてしまいます。
以下のログファイルの例は、60 秒が経過したときにクライアントによって起動された非活動タイムアウトを示しています。
11/13/95 18:00:03 - IP up on interface ipdptp0, with timeout set to 60 seconds 11/13/95 18:00:14 - Interface ipdptp0 has timed out |
接続が頻繁にタイムアウトする場合は、構成スクリプト pppinit を実行して構成ファイルを作成し直し、サーバーに対する発信の非活動タイムアウト値を増やしてください。
以下のログファイルの例は、何らかの理由でサーバーが接続を切断したことを示しています。原因としては、クライアント側の非活動タイムアウトより、サーバー側の非活動タイムアウトが短いことが考えられます。サーバーがクライアントを頻繁に切断する場合は、システム管理者またはインターネットプロバイダにお問い合わせください。
11/13/95 18:13:46 - IP up on interface ipdptp0, with timeout set to 240 seconds 11/13/95 18:15:47 - interface ipdptp0 has been disconnected |
Solstice PPP のインストール時や使用時に発生する可能性がある、一般的な問題について説明します。
問題: pkgadd(1M) を起動できない。
解決策: pkgadd を実行するには、root としてログインするか、またはスーパーユーザーになる必要があります。
問題: Solstice PPP のパッケージが見つからない。
解決策: ソースディレクトリを正しく入力したかどうかを確認します。ボリュームマネージャ (vold) が実装されているマシンの場合は、Solstice PPP パッケージは /cdrom/ppp_3.0 に格納されます。ボリュームマネージャ (vold) が実装されていないマシンの場合は、CD-ROM を手動でマウントする必要があります。詳しい手順については、『Solstice PPP 3.0.1 のインストール』を参照してください。
問題: Solaris をアップグレードした後、Solstice PPP が動作を停止した。
解決策: Solaris が作成するデフォルトファイル /etc/ttydefs は、Solstice PPP での変更内容の一部を上書きします。構成ファイル ppp.conf 、ppp.link と CHAT スクリプトが上書きされて消去されないように注意してください。問題を解決するには、Solstice PPP をインストールし直してください。
問題: PPP リンクを確立できない。ステータスメッセージ "PPP error on ip_interface: Maximum number of configure requests exceeded" が出力され、処理が失敗する。
解決策: リンク確立フェーズを起動するために、PPP Configure-request フレームが生成されます。特定の数のフレーム (キーワード lcp_max_restart によって ppp.conf ファイルで定義) が生成されても応答がない場合は、クライアントはリモートホストへのアクセスが不可能であるとみなします。この原因としては、以下のいずれかが考えられます。
2 つのホスト間の物理接続に問題があります。リンクの両端でモデムを接続するケーブルを確認してください。
PPP がリモートホストで実行されていません。リンクの両端で PPP が構成され起動されていることを確認してください。
構成ネゴシエーションで合意がみられなかったため、リンク確立フェーズが完了していません。リンクの両端に構成に関する問題がないかどうかを確認してください。
衛星接続など遅延時間が長いネットワークや、混雑した回線を使ってリンクを確立しようとした場合は、ネゴシエーションが完了する前に構成要求の最大数を超えてしまう可能性があります。構成要求の最大数 (lcp_max_restart) と再試行間隔 (lcp_restart_timer) の値を増やしてください。
問題: PPP リンクを確立できない。ステータスメッセージ "Authentication failed" が出力され、処理が失敗する。
解決策: 同位認証フェーズが失敗しました。両ホストに設定されている PAP と CHAP のパラメータが一貫していることを確認してください。一方のホストが PAP や CHAP による認証を要求したときに他方のホストが認証フェーズに加わらなかった場合、リンクは切断されます。
問題: PPP リンクを確立できない。ステータスメッセージ "Loop back detected" が出力され、処理が失敗する。
解決策: リモートサーバーが出力する PPP フレームが反射されています。PPP フレームに含まれているマジックナンバーは、ループバック状態があることを示しています。この原因には、以下のいずれかが考えられます。
ホスト間の物理接続に問題があります。モデムに接続しているケーブルを確認してください。
UNIX ログインシーケンスが正常終了していません。正しいログイン ID とパスワードが CHAT スクリプトに定義されており、該当するユーザーアカウントがリモートサーバー上に存在することを確認してください。CHAT スクリプトに定義されているログインダイアログが正しいことを確認してください。リモートサーバーのオペレーティングシステムが Solaris でない場合は、pppinit(1M) によって作成されるテンプレートファイルに記述されているログインシーケンスを変更する必要がある可能性があります。
リモートホストの応答が遅かったため、ネゴシエーションが完了する前に構成要求の最大数を超過しました。構成要求の最大数 (lcp_max_restart) と再試行間隔 (lcp_restart_timer) の値を上げてください。
問題: 予期しないときやマシンをリブートしたときにモデムがダイヤルする。
解決策: Solstice PPP の IP インタフェースは、デフォルト時に down のマークが付いています。ただし、ファイル ppp.conf を変更し、これらのインタフェースに up のマークが付けられると、IP 層によって IP データグラムがインタフェースに渡されたときに、PPP リンクマネージャが PPP リンクを自動的に開始します。
一部のアプリケーションやプロセスは、ライセンスデーモンを検索しているときやマシンがリブートされたときなどに、要求を送ることがあります。PPP リンクマネージャはこれに応答して、リモートホストにダイヤルしようとします。
この動作を防止するには、IP インタフェースに down のマークを付け、pppconn(1M) を使用して接続を開始します。
問題: エラーメッセージ " PPP error on ipdptp1: Negotiation of mandatory options failed" を出力して、接続フェーズが失敗する。
解決策: 接続の開始に使用する IP インタフェースと、接続の受信に使用するダイヤルアップパスの IP インタフェースが、一貫した IP アドレスを持っていることを確認してください。クライアント上の発信元アドレスは、サーバー上の宛先アドレスと一致している必要があります。
問題: rsh(1) や rlogin(1) を使用してリモートホストに接続できない。"Permission denied" というメッセージが出力され、処理が失敗する。
解決策: リモートホスト上のファイル /etc/.rhosts と /etc/hosts.equiv に、ローカルホストのホスト名または IP アドレスが含まれているかどうかを確認してください。これらのファイル中に + 文字が指定されている場合は、すべてのホストにアクセスすることができます。