Solaris のシステム管理 (第 3 巻)

第 23 章 PPP の管理

この章では PPP を構成するための手順および情報、あまり一般的には使用されない PPP リンクを設定する手順、およびの障害追跡の方法をいくつか示します。次のトピックについて説明します。

PPP 作業マップ

この節では PPP を構成したり、一度インストールした PPP を保守したり、PPP に関する障害追跡を行なったりするための各種のマップを示します。

表 23-1 PPP 構成作業マップ

作業 

説明 

参照ページ 

PPP がすべてのマシンにインストールされていることを確認する 

pkginfo を使用して、PPP が PPP リンク内のすべてのマシンにインストールされていることを確認する

「インストールを確認する方法」

リモートマシンのホストのデータベースを構成する

/etc/inet/hosts ファイルに IP アドレスとホスト名を追加することにより、リモートマシンのホストのデータベースを構成する

「リモートマシンの hosts データベースの構成方法」

ダイアルインサーバーのホストデータベースを構成する 

/etc/hosts ファイルおよび /etc/inet/networks ファイルにエントリを追加することにより、ダイアルインサーバーのホストデータベースを構成する

「ダイヤルインサーバーの hosts データベースの構成方法 」

/etc/asppp.cf ファイルを編集して、起動時にエントリが認識されるようにエントリを追加する

リモートエンドポイントとの通信を確立し維持するために必要な情報を /etc/asppp.cf ファイルに加える

asppp.cf 構成ファイルの編集方法」

RIP をオフにする 

/etc/gateways ファイルに norip を加えて RIP をオフにする

「RIP をオフにする方法」

リモートホストを更新する 

IP アドレスとホスト名を /etc/inet/hosts ファイルに加えて、リモートホストを更新する

「リモートホストの更新方法」

ダイアルインサーバーを更新する 

/etc/inet/hosts ファイルを更新して、サーバーに接続されている各ホストに使用するエントリを加える

「ダイヤルインサーバーの更新方法」

PAP/CHAP サポートを加える 

require_authentication のキーワードと will_do_authentication のキーワードを /etc/asppp.cf ファイルに追加して、リンク上の各マシンが PAP または CHAP に応答するかどうかに関するセキュリティを確立する

「PAP または CHAP のインストール方法」

表 23-2 PPP 保守作業マップ

作業 

説明 

参照ページ 

PPP を手動で起動する 

/etc/init.d/asppp start コマンドを使用して PPP を起動します。通常、PPP は自動的にスタートするため、このコマンドを使用する必要はない

「手動で PPP を起動する方法」

PPP が作動中であることを確認する 

ps コマンドと ping コマンドを使用して、PPP が作動中であるかどうかを確認する

「PPP が実行中であることを確認する方法」

PPP を停止する 

/etc/init.d/asppp stop コマンドを使用して PPP を停止する

「PPP の停止方法」

インタフェースの状態を確認する 

ifconfig コマンドを使用して、回線の現在の状態を監視する

「インタフェースの状態を確認する方法」

接続状態を確認する 

ping コマンドを使用して接続が完了していることを確認する

「接続状態を確認する方法」

インタフェースの活動を確認する 

netstat コマンドを使用して、パケットが送受されていることを確認する

「インタフェースアクティビティを確認する方法」

ローカルルーティングテーブルを確認する 

netstat コマンドを使用してローカルルーティングテーブルを表示する

「ローカルルーティングテーブルを確認する方法」

in.routed を使用してルートを加える

動的ルーティングを行っているときに、in.routed コマンドを使用してルートを加える

in.routed を使用してルートを追加する方法」

表 23-3 PPP 障害追跡の作業マップ

作業 

説明 

参照ページ 

診断機能を設定する 

障害追跡のために PPP 診断機能を設定する方法 

「マシンに対する診断の設定方法」

構成プロセスの概要

第 22 章「PPP 構成の計画」で述べたプリインストール作業が終われば、次は、PPP の構成にとりかかることができます。

PPP については次のことを行う必要があります

  1. PPP ソフトウェアのインストール (まだインストールしてない場合)

  2. 関与するすべてのマシンの /etc/inet/hosts ファイルの編集

  3. すべてのダイヤルアウトマシンの UUCP データベースファイルの編集

  4. ダイヤルインマシンの /etc/passwd ファイルと /etc/shadow ファイルの編集

  5. リンク上の各マシンの /etc/asppp.cf ファイルの編集

  6. リンク上の各マシンでのリンクマネージャ aspppd の起動

  7. PPP が正常に実行されていることの確認

上記の作業 1 〜 4 は順番どおりに進めなくてもかまいませんが、PPP 構成ファイルの編集の前に、すべて完了しておく必要があります。

この章の各節では、PPP の構成のための手順について説明します。

PPP ソフトウェアのインストール

Solaris インストールプログラムを実行するときに配布ソフトウェア全体を選択すると、PPP ソフトウェアは自動的に組み込まれます。配布ソフトウェア全体を選択しなかった場合は、PPP を個別のパッケージとしてインストールできます。

インストールを確認する方法

次の手順に進む前に、PPP リンクに含めるすべてのマシンに、Solaris バージョンの PPP をインストールしてあることを確認する必要があります。

  1. スーパーユーザーになります。

  2. リンクに含める各エンドポイントについて、次のように入力します。


    # pkginfo | grep ppp
    

    32 ビット PPP がインストールされている場合は、次のパッケージ名が表示されます。


    SUNWapppr      PPP/IP Asynchronous PPP daemon configuration files
    SUNWapppu      PPP/IP Asynchronous PPP daemon and PPP login service
    SUNWpppk       PPP/IP and IPdialup Device Drivers

    64 ビット PPP がインストールされている場合は、次のパッケージ名が表示されます。


    SUNWapppr      PPP/IP Asynchronous PPP daemon configuration files
    SUNWapppu      PPP/IP Asynchronous PPP daemon and PPP login service
    SUNWpppk       PPP/IP and IPdialup Device Drivers
    SUNWpppkx      PPP/IP and IPdialup Device Drivers (64-bit)

  3. PPP がインストールされていないエンドポイントシステムがある場合は、pkgadd プログラムまたは admintool ソフトウェアマネージャを使用してインストールしてください。


    注 -

    pkgadd を使用して PPP をインストールする場合は、上記の順序でパッケージをインストールする必要があります。


    pkgadd プログラムと admintool ソフトウェアマネージャについての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。

PPP 構成例

この節と以後の各節では、最も一般的な PPP 構成、つまりリモートホストとそのダイヤルインサーバーをサポートするファイルを編集する方法を紹介します。図 23-1 は、この章で例として使用する構成を示しています。この例は、3 台のリモートマシン (nomadanomadbnomadc) と、ダイヤルインサーバー nubian で構成されるネットワーク 192.41.43 を表しています。このネットワークは、ダイヤルインサーバー nubian が直接接続しているローカルエリアネットワーク 192.41.40 とは別個のネットワークです。ネットワーク 192.41.40 は、ネームサービスとして NIS を実行しています。

各リモートホストについて示されている IP 番号は、それぞれの PPP ネットワークインタフェースのアドレスです。しかし、ダイヤルインサーバーは、自己の一次ネットワークインタフェースの IP アドレスである 192.41.40.45 の他に、PPP インタフェース用として特別に作成された IP アドレスである 192.41.43.10 も持っています。

図 23-1 リモートホストとマルチポイントダイヤルインサーバーのネットワーク例

Graphic

/etc/inet/hosts ファイルの編集

構成に含まれるすべてのマシンに PPP がインストールされていることを確認したら、次に、各マシンの /etc/inet/hosts ファイルを編集します。PPP リンクの反対側にあって、ローカルマシンが通信する必要のあるすべてのマシンについて、hosts データベースにホスト情報を追加する必要があります。


注 -

物理ネットワーク上でどのネームサービスを使用しているかに関係なく、/etc/inet/hosts を更新する必要があります。これは、ブートプロセスの中で、PPP の方がネームサービスデーモンより前に起動されるからです。


リモートマシンの hosts データベースの構成方法

  1. スーパーユーザーになります。

  2. /etc/inet/hosts ファイルを編集して次の手順を行います。

    1. リンクの反対側にあるダイヤルインサーバー用の PPP ネットワークインタフェースの IP アドレスとホスト名が入ったエントリを追加します。

      図 23-1 では、ダイヤルインサーバー nubian の PPP ネットワークインタフェースの IP アドレスが入ったエントリが、nomada/etc/inet/hosts ファイルに存在する必要があります。nomadbnomadc/etc/inet/hosts ファイルにも、このエントリが必要です。

    2. ダイヤルインサーバーの物理ネットワーク上にあって、リモートホストからのリモートログインが可能な各マシンの IP アドレスが入ったエントリを追加します。

      たとえば、 nomadc/etc/inet/hosts ファイルは次のようになります。


      # Internet host table
      #
      127.0.0.1         localhost      loghost
      192.41.43.3       nomadc
      192.41.43.10      nubian-ppp
      192.41.40.20      nismaster

  3. ネットワークで使用中のネームサーバーがある場合、リモートホストのホスト名と IP アドレスでそのネームサーバーのデータベースを更新します。

マルチポイントダイヤルインサーバーの hosts データベース

マルチポイントダイヤルインサーバーは、一次ネットワークインタフェースのローカル IP アドレスのほかに、PPP インタフェース用の一意な IP アドレスも持っていなければなりません。ダイヤルインサーバー用の hosts データベースを構成するために必要な手順は、次のとおりです。

ダイヤルインサーバーの hosts データベースの構成方法

  1. スーパーユーザーになります。

  2. PPP インタフェースの IP アドレスが入ったエントリを、ダイヤルインサーバーの /etc/inet/hosts ファイルに追加します。

    たとえば、図 23-1 に示すダイヤルインサーバー nubian/etc/hosts ファイルは、次のようになります。


    # Internet host table
    #
    127.0.0.1           localhost	      loghost
    192.41.43.10        nubian-ppp
    192.41.40.45        nubian

  3. サーバーの物理ネットワークでネームサービスが使用されていない構成の場合は、次のようにします。

    1. サービス対象となる各リモートホストに関するエントリを、サーバーの /etc/inet/hosts ファイルに追加します。

    2. 物理ネットワーク上にあって、リモートマシンとの通信が許可されているすべてのマシンの /etc/inet/hosts ファイルに、リモートホストについてのエントリを追加します。

  4. サーバーとそのリモートホストからなるネットワークの新しいネットワーク番号を、ダイヤルインサーバーの /etc/inet/networks ファイルに追加します。

    詳細は、「PPP リンクへのネットワーク番号の割り当て」を参照してください。

UUCP データベースの編集

マシンが PPP リンクを介してダイヤルアウトできるようにするには、そのマシンの UUCP データベース内の以下のファイルを編集する必要があります。

これらのファイルの編集が必要なのは、PPP ダイヤルアウトマシンとして機能するリモートホストの場合です。また、ダイヤルインサーバーがリモートホストへのダイヤルアウトを行う場合も (マルチポイントダイヤルインサーバーの場合の必須条件)、そのダイヤルインサーバーにある上記のファイルを編集する必要があります。これらのファイルについては、第 25 章「UUCP の概要」で詳しく説明します。

/etc/passwd ファイルの修正

ダイヤルインサーバーを構成するには、/etc/passwd ファイルと /etc/shadow ファイルも編集する必要があります。

ダイヤルインサーバーへのログインを許可されている各リモートホストの各ユーザーについて、そのサーバーの /etc/passwd ファイルにエントリを追加する必要があります。リモートホストがダイヤルインサーバーを呼び出す場合、自分自身の UUCP データベースを読み、ユーザー名かユーザー ID をサーバーに渡すことで呼び出しを開始します。すると、サーバーは、/etc/passwd ファイルのユーザー情報に照らして確認します。

そのユーザーのパスワードが認証されると、サーバーは、PPP ホスト用の特別なシェルである /usr/sbin/aspppls にそのユーザーをログインさせます。サーバーは、この情報を /etc/passwd ファイルのログインシェルエントリから入手します。たとえば、図 23-1 の例の場合、ダイヤルインサーバー nubian/etc/passwd ファイルには、次のようなエントリが入っています。


root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
listen:x:37:4:Network Admin:/usr/net/nls:
nomada:x:121:99:R. Burton:/:/usr/sbin/aspppls
nomadb:x:122:99:T. Sherpa:/:/usr/sbin/aspppls
nomadc:x:123:99:S. Scarlett:/:/usr/sbin/aspppls

/etc/passwd パスワードについての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。


注 -

/etc/passwd ファイル中の情報に加えて、/etc/shadow ファイルもサーバーへのダイヤルインを許可されている各エンドポイントマシンで使用するログイン名のパスワードに更新します。詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。


/etc/asppp.cf 構成ファイルの編集

/etc/asppp.cf 構成ファイルは、エンドポイントマシン上にある PPP リンクマネージャに、リンクの反対側にあるマシンに関する情報、またはマルチポイントリンク (または動的ポイントツーポイントリンク) の反対側にあるマシンに関する情報を提供します。このマシンがブートすると、リンクマネージャはこの情報を使用して、リモートエンドポイントとの通信を確立し維持します。

構成ファイルの編集

asppp.cf を編集するときは、次の点に注意してください。

キーワードをファイルに設定するためのフォーマットに対して他の条件は無効となります。

asppp.cf 構成ファイルの編集方法

  1. エンドポイントマシンの 1 つでスーパーユーザーになります。

  2. /etc ディレクトリに移動します。

  3. 汎用 asppp.cf ファイルを編集して、このマシンの PPP リンクを定義する情報を追加します。

  4. アクセス権が必ず 600 に設定されるように、ファイルを保存します。

  5. 残りの各エンドポイントで /etc ディレクトリに移動し、上記の手順 2 と 3 を繰り返します。

RIP をオフにする

/etc/gateways ファイルにより、ポイントツーポイントリンク上の RIP を無効にすることができます。このファイルはご使用のオペレーティングシステムには入っていません。テキストエディタで作成する必要があります。

RIP をオフにする方法

  1. スーパーユーザーになります。

  2. /etc/gateways を編集して、次のエントリを追加します。


    norip ipdptpn
    

    ipdptpn は、使用されているポイントツーポイントの PPP インタフェースのデバイス名を表します。

    詳細は、in.routed(1M) のマニュアルページを参照してください。

PPP のセキュリティの付加

構成に含まれるすべてのマシンに PPP をインストール後、asppp.cf を修正することによって、PPP リンクについての PAP または CHAP レベルのセキュリティを付加できます。「PAP または CHAP セキュリティのための asppp.cf の編集」を参照してください。

動的割り当て PPP リンクの構成

動的ポイントツーポイントリンクを持つダイヤルインサーバーを使用するサイトでは、ポイントツーポイント通信の利点を最大限に活用することができます。この構成タイプについては、第 21 章「PPP の概要」で概説しました。この構成では、必要時に動的にポイントツーポイントリンクを割り当てる少なくとも 1 つのダイヤルインサーバーと、リモートホストとの間で通信が行われます。この節では、図 23-2 に示す構成例に基づいて説明を進めます。

図 23-2 リモートホストと動的リンクダイヤルインサーバーのネットワーク

Graphic

各リモートホストは、標準のポイントツーポイントリンクを使用してダイヤルインサーバーと通信します。しかし、図 23-1 に示したマルチポイントダイヤルインサーバーとは違って、ダイヤルインサーバー mojave は、動的ポイントツーポイントリンクを介して呼び出し側ホストに接続されます。リモートホストのどれかが接続を確立しようとすると、サーバーが使用可能なリンクを割り当てます。

動的リンクの基本概念は、接続確立のたびにサーバーがクライアントに IP アドレスを供給するというものです。接続を確立すると、使用可能な IP インタフェースをサーバーがクライアントに割り当てます。その後、接続が継続している間、インタフェースのリモート IP アドレスがクライアントの IP アドレスになります。接続を終了すると、使用可能なインタフェースのプールに IP インタフェースが戻され、別の接続に使用できる状態になります。

動的リンクの構成には、リモートホスト対マルチポイントダイヤルインサーバーの場合と同じ一般的な手順を用います。この手順については、「構成プロセスの概要」に説明があります。ただし、動的ポイントツーポイントリンクには独自の必要条件がいくつかあり、そのため構成に関係するファイルに対する修正の方法も少々異なります。

リモートホストの更新方法

リモートマシンの hosts データベースを構成するための手順は、次のとおりです。

  1. スーパーユーザーになります。

  2. リンクの反対側にある各ダイヤルインサーバーについて、一次ネットワークインタフェースの IP アドレスとホスト名を /etc/inet/hosts ファイルに追加します。

    たとえば、図 23-2 では、nomadanomadb、および nomadc/etc/inet/hosts ファイルには、ダイヤルインサーバー mojave の一次ネットワークインタフェースの IP アドレスが入ります。

  3. ダミー IP アドレスを追加します。

    この IP アドレスが使用されるのは、PPP の起動時だけです。

    nomadc/etc/inet/hosts ファイルは、次のように表示されます。


    # Internet host table
    #
    127.0.0.1          localhost	       loghost
    192.41.40.55       mojave
    1.2.3.4            dummy

  4. ダイヤルインサーバーの物理ネットワーク上にあって、リモートホストからリモートログインできるすべてのマシンの IP アドレスを、/etc/inet/hosts ファイルに追加します。

  5. 物理ネットワーク上にあるネームサーバーのデータベースを、リモートホストのホスト名と IP アドレスに更新します。

ダイヤルインサーバーの更新方法

ダイヤルインサーバーの hosts データベースには、PPP 固有のアドレスを追加する必要はありません。動的割り当てリンクは、サーバーのネットワークインタフェースを使用する必要があります。したがって、ダイヤルインサーバーの hosts データベースを構成するには、次の作業を行います。

  1. スーパーユーザーになります。

  2. サービス対象の各リモートホストについて、サーバーの /etc/inet/hosts ファイルにエントリを追加します。

  3. 物理ネットワーク上のすべてのマシンの /etc/inet/hosts ファイルに、それぞれが通信することのできるリモートホストに関するエントリを追加します。

PAP または CHAP セキュリティのための asppp.cf の編集

asppp.cf ファイルを編集することによってセキュリティを設定し、リンクの各部分が、パスワード認証プロトコル (PAP) またはチャレンジハンドシェーク認証プロトコル (CHAP) に応答するかどうかを指定できます。PAP と CHAP については、「PPP のセキュリティ」で説明してます。asppp.cf ファイルを編集するには、一連のキーワードを追加します。この節では、認証システムはリンクまたはチャレンジを開始するシステムであり、これは多くの場合サーバーです。対等システムはリンクの反対側にあるシステムであり、これは多くの場合クライアントです。

追加するキーワードは、require_authenticationwill_do_authentication です。認証システムつまりサーバーは通常、認証を要求し、対等システムつまりクライアントは通常、認証を行います。

表 23-4 認証システムのキーワードと関連の文字列

require_authentication pap

require_authentication chap

pap_peer_id

chap_peer_secret

pap_peer_password

chap_peer_name

表 23-5 対等システムのキーワードと関連の文字列

will_do__authentication pap

will_do_authentication chap

pap_id

chap_secret

pap_password

chap_name

PAP または CHAP のインストール方法

  1. サーバー上のスーパーユーザーになります。

  2. /etc/asppp.cf ファイルを編集します。

  3. リンク上の各マシンについて require_authentication キーワードを追加して、PAP セキュリティと CHAP セキュリティのどちらを使用するかを指定します。

    1. 各 pap キーワードについて、関連の pap_peer_idpap_peer_password 文字列を追加します。

    2. 各 chap キーワードについて、関連の chap_peer_secretchap_peer_name 文字列を追加します。

      これらのキーワードは明示的に指定することも、パスのデフォルト値を使用することもできます。各キーワードによって指定される内容については、表 24-1 を参照してください。また、例 23-1 は、/etc/asppp.cf ファイルの例を示します。

  4. will_do_authentication キーワードを使用して、リンク上で PAP セキュリティまたは CHAP セキュリティを使用する各リモートホストについて、リモートホストの /etc/asppp.cf ファイルにエントリを追加します。

    1. 各 pap キーワードについて、関連の pap_idpap_password 文字列を追加します。

    2. 各 chap キーワードについて、関連の chap_secretchap_name 文字列を追加します。

PAP と CHAP の例

例 23-1 は、PAP と CHAP の認証を必要とするサーバー mojave 用の asppp.cf ファイルを示しています。対等システムは、nomada (PAP) と nomadb (CHAP) です。


例 23-1 サーバー mojave 用のコード例


ifconfig ipdptp0 plumb mojave nomada up
ifconfig ipdptp1 plumb mojave nomanb up
path
      peer_system_name tamerlane
      require_authentication pap  #tells nomada that mojave
                                  #requires pap authentication
      pap_peer_id desert
      pap_peer_password oasis
path
      peer_system_name lawrence
      require_authentication chap  #tells nomadb that mojave
                                   #requires chap authentication
      chap_peer_name another¥sdesert
      chap_peer_secret secret¥soasis¥swith¥007bell

例 23-2 に示された mojave のリモートホスト nomada は、PAP と CHAP の両方を認証しようしています。


例 23-2 リモートホスト nomada 用のコード例


ifconfig ipdptp0 plumb tamerlane mojave up
path
      interface ipdptp0
      peer_system_name mojave
      will_do_authentication chap pap #nomada tells mojave
                                      #that it will do chap and
                                      #pap authentication
      pap_id desert
      pap_password oasis
      chap_name desert¥srain
      chap_secret %$#@7&*(+|`P'12

例 23-3 に示された mojave のリモートホスト nomadb は、CHAP を認証しようしています。


例 23-3 リモートホスト nomadb 用のコード例


ifconfig ipdptp0 plumb nomadb mojave private up
path
     interface ipdptp0
     peer_system_name mojave
     will_do_authentication chap   #nomadb tells mojave that it
                                   #will do chap authentication
     chap_name another¥sdesert
     chap_secret secret¥soasis¥swith¥007bell

通常、CHAP と PAP の両方が構成ファイルに組み込まれていて、サーバーが認証を要求し、リモートホストが認証を行うのが、理想的な形です。ただし、この順序は逆も可能なためリモートホストの方が認証を要求することも可能です。CHAP シークレットは安全な手段で送付する必要があります。これは一般的に手動での解放を含みます。

新規の PPP リンクの起動と停止

PPP は、ブート時に自動的に起動されるようにすることも、コマンド行から手動で起動することもできます。

手動で PPP を起動する方法

通常は必要ありませんが、PPP を手動で起動することができます。

  1. スーパーユーザーになります。

  2. 次のように入力します。


    # /etc/init.d/asppp start
    

PPP が実行中であることを確認する方法

  1. スーパーユーザーになります。

  2. ps コマンドを実行します。


     # ps -e | grep asppp
    

    grep の結果の出力に aspppd デーモンがリストされれば、PPP が実行中です。

  3. 結果が表示されたら、リモート PPP リンクに到達できるかどうかを確認するために、次のように入力します。


    # ping remote-host 300
    

    この例の ping では、タイムアウト値が 5 分 (300 秒) に設定されています。このコマンドに対しては、「remote-host is alive」に類似した出力が表示されます。これとは異なる出力、たとえば「remote-host unreachable」などと表示された場合は、経路の構成が失敗したことを意味します。

  4. ログファイルを調べて、構成にエラーがないかどうか検査します。


    # tail /var/adm/log/asppp.log
    

    構成時にエラーが見つかった場合は、asppp.log にエラーメッセージが記録されています。

障害追跡と問題解決については、「共通の確認事項」 を参照してください。

PPP の停止方法

ネットワーク上での PPP 操作を停止するには、次の手順を実行します。

  1. スーパーユーザーになります。

  2. 次のように入力します。


    # /etc/init.d/asppp stop
    

共通の確認事項

この節では、ご使用の PPP 設定の動作を確認するために行う必要があると思われるいくつかの共通の確認事項について説明します。


注 -

これらの確認を行うためにはスーパーユーザーになる必要があります。


ハードウェアの検査

すべてのモデムケーブルと電源ケーブルがしっかりと接続されていることを確認します。PPP に問題が生じたときは、常に、モデム、ケーブル、シリアルカード、および電話回線を最初に検査してください。

インタフェースの状態を確認する方法

PPP を起動したあとは、PPP インタフェース名だけを引数として指定した ifconfig を使用して、回線の現在の状態が監視できます。例 23-4 に示すのは、実行中の PPP リンクについての ifconfig のサンプル出力です。


注 -

特権 (root) ユーザーが ifconfig コマンドを発行した場合は、上記のようにマシンのアドレスが出力に表示されます。


  1. スーパーユーザーになります。

  2. 次のように入力します。


    ifconfig ipdptp0
    

例 23-4 ポイントツーポイントリンクに関する ifconfig の出力


nomadb# ifconfig ipdptp0

ipdptp0: flags=28d1<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST,UNNUMBERED> mtu 1500
        inet 129.144.111.26 --> 129.144.116.157 netmask ffff0000
        ether 0:0:0:0:0:0 

標準と動的のどちらのポイントツーポイントリンクの場合も、例 23-5 に示すような出力が得られます。


例 23-5 マルチポイントリンクに関する ifconfig の出力


nubian# ifconfig ipd0

ipd0: flags=c1<UP,RUNNING,NOARP> mtu 1500
        inet 129.144.201.191 netmask ffffff00
        ether 0:0:0:0:0:0

ifconfigUPRUNNING が表示されない場合は、PPP が正しく構成されていないことを示します。ifconfig の詳細は、ifconfig コマンド」と、ifconfig(1M) のマニュアルページを参照してください。

接続状態を確認する方法

ping コマンドを使用して、接続が up 状態であるか、または確立可能であるかを検査します。たとえば、次のような単純な往復テストを考えてみてください。

  1. スーパーユーザーになります。

  2. 次のように入力します。


    # ping elvis
    

    elvis はリモートホスト上の PPP インタフェースの名前です。結果の表示が次のとおりであったとします。


    elvis is alive

    この場合は、elvis との間でパケットを送受信できます。この結果が得られなかったとすれば、ローカルホストとリモートホストの間のどこかに、ルーティングに関する問題があります。ping についての詳細は、ping コマンド」と、ping(1M) のマニュアルページを参照してください。

インタフェースアクティビティを確認する方法

パケットが正しく送受信されているかどうかを検査するには、netstat コマンドを使用します。

  1. スーパーユーザーになります。

  2. 次のように入力します。


    # netstat -i
    

netstat コマンド」netstat(1M) のマニュアルページを参照してください。

ローカルルーティングテーブルを確認する方法

ローカルルーティングテーブルを表示するには、netstat コマンドを使用します。

  1. スーパーユーザーになります。

  2. 次のように入力します。


    # netstat -r
    

次に出力例を示します。


Routing tables
Destination     Gateway    Flags  Ref    Use    Interface
------------- ------------ ----- ------ ------- ----------
sahara        deserted     UGH    0           0  ie1
karakum       labia        UGH    0           0  ie1
frodo         bilbo        UGH    1       12897  ipdptp0
route7        route7       UGH    0           0  ie0
eastgate      route71      UGH    0         158  ie0
backbone      pitstopbb    U      1       16087  ie1
dresdenpc     route1       UG     0           0  ie1
loopback      localhost    U      2      113436  lo0
swan-bb       pitstop      U      406    146044  ie0
dallas2       route7       UG     0           0  ie0
trainingpc    route62      UG     0           0  ie1

到達可能なネットワークごとに、ルーティングテーブルエントリが存在することを確認します。特に、Interface の欄に示される PPP デバイスが、Gateway の欄に示される適切なホスト名と適合している必要があります。同様に、Gateway エントリは、Destination の欄の正しいエントリと適合している必要があります。

この条件が満たされていない場合は、静的ルーティングを使用しているのであれば、適正な静的ルートを追加します。

in.routed を使用してルートを追加する方法

in.routed によって動的ルーティングを使用しているときは、次の手順を行います。

  1. スーパーユーザーになります。

  2. 次のように入力して、in.routed が実行中であることを確認します。


    # ps -e | grep route
    

    それでもまだルーティングテーブルが正しくない場合は、スーパーユーザーになって次の手順に進みます。

  3. ps -e から入手したプロセス ID を kill の引数として指定して、in.routed を終了します。たとえば、1384 がプロセス ID であるとすれば、次のように入力します。


    # kill 1384
    

  4. 次のようにしてルーティングテーブルをフラッシュします。


    #  /usr/sbin/route -f
    

  5. in.routed を再起動します。


    # /usr/sbin/in.routed
    

アクセス権の検査

rsh を使用しようとして、Permission denied というメッセージが出力された場合は、リモートシステムの /etc/hosts.equiv ファイルまたは /.rhosts ファイルに、送信側システムのホスト名が含まれていないか、行 + が含まれていません。

パケットフローの検査

次にパケットフローを検査します。snoop コマンドを使用して、ネットワークからパケットや、各パケットの内容を観察します。例 23-6 に、snoop からの出力例を示します。


例 23-6 snoop からの出力例


# snoop -d ipdptp0
Using device ipdptp0 (promiscuous mode)
corey -> pacifica7    RLOGIN C port=1019
       hugo -> ponc3         RPC R XID=22456455 Success
       ponc3 -> hugo         NFS C WRITE FH=1B29 at 32768

    commlab3 -> commlab4     TELNET R port=34148
    commlab4 -> commlab3     IP  D=129.144.88.3 S=129.144.88.4 LEN=46, ID=41925
    commlab3 -> commlab4     TELNET R port=34148
    commlab4 -> commlab3     ICMP Echo request
    commlab3 -> commlab4     ICMP Echo reply
    commlab4 -> commlab3     FTP C port=34149
    commlab4 -> commlab3     FTP C port=34149
    commlab3 -> commlab4     FTP R port=34149
    commlab4 -> commlab3     FTP C port=34149

出力の最初の行の Using device ipdptp0 に含まれている ipdptp0 というデバイス名は、ポイントツーポイント接続を示しています。


注 -

snoop を使用して回線の状態を検査するには、リンクが up 状態にあり、トラフィックがある程度生成されている必要があります。


snoop は、ネットワークからパケットを取り込んで、その内容を表示します。snoop は、パケットフィルタモジュールとストリームバッファーモジュールの両方を使用して、ネットワークから効率的にパケットを取り込みます。取り込んだパケットは、受け取ると同時に表示することも、あとで見るためにファイルに保存しておくこともできます。

snoop は、単一行要約形式と複数行詳細形式のどちらでも、パケットを表示できます。要約形式の場合は、最高レベルのプロトコルに関するデータだけが表示されます。たとえば、NFS パケットについては NFS に関する情報だけが表示されます。その下位にある RPC、UDP、IP、Ethernet フレームの情報は抑止されますが、詳細形式オプションのどれかを選択した場合は表示されます。

snoop コマンドの詳細は、snoop(1M) のマニュアルページを参照してください。

PPP 診断機能を使用した障害追跡

モデム接続を正常に確立した後でリンクに問題がある場合は、PPP レベルの診断機能を使用した障害追跡を行うことができます。PPP レベルの診断機能は、リンクの動作状況に関する詳細情報を報告するので、どこに障害があるのかを突き止めるのに役立ちます。

診断情報を入手するには、debug_level 8 の行を asppp.cf ファイルの path セクションに追加します (データ通信に関する詳しい知識がある場合は、デバッグレベル 9 を用いれば、きわめて詳細な情報が得られます)。次に、PPP 診断機能を呼び出す構成ファイル例を示します。


ifconfig ipdptp0 plumb nomada nubian-ppp up
path
   interface ipdptp0
   peer_system_name nubian-ppp   #The name in the /etc/uucp/Systems file
   inactivity_timeout 300        #Allow five minutes before timing out
   debug_level 8                 #Start up PPP diagnostics for this link

asppp.cf ファイルについては、/etc/asppp.cf 構成ファイルの編集」を参照してください。

マシンに対する診断の設定方法

監視したいホストについて診断を設定するには、次の手順を行います。

  1. スーパーユーザーになります。

  2. /etc ディレクトリに移動します。

  3. 現在の asppp.cf ファイルを編集して、path セクションに下記を追加します。


     debug_level 8
    

  4. アクセス権が必ず 600 に設定されるように、ファイルを保存します。

  5. 現在の aspppd デーモンを終了し、再起動します。


    # kill PID
    # aspppd
    

    PIDaspppd のプロセス ID です。

    PPP は、/var/adm/log/asppp.log に診断情報を書き込みます。