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

共通の確認事項

この節では、ご使用の 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) のマニュアルページを参照してください。