この章では、PPP を構成するための手順と情報を記載しています。説明に使用する例は、リモートホストとそのマルチポイントダイヤルインサーバーの両方の種類の PPP リンクを持つ構成を想定しています。その他の種類の PPP 構成の設定方法については、第 11 章「PPP リンクの調整」に記載されています。
第 8 章「PPP 構成の準備」で述べたプリインストール作業が終われば、いよいよ PPP の構成にとりかかることができます。
PPP については次のことを行う必要があります
PPP ソフトウェアのインストール (まだインストールしてない場合)
関与するすべてのマシンの /etc/inet/hosts ファイルの編集
すべてのダイヤルアウトマシンの UUCP データベースファイルの編集
ダイヤルインマシンの /etc/passwd ファイルと /etc/shadow ファイルの編集
リンク上の各マシンの /etc/asppp.cf ファイルの編集
リンク上の各マシンでのリンクマネージャ aspppd の起動
PPP が正常に実行されていることの確認
上記の作業 1 〜 4 は順番どおりに進めなくてもかまいませんが、PPP 構成ファイルの編集の前に、すべて完了しておく必要があります。
この章の各節では、PPP の構成のための手順について説明します。
Solaris インストールプログラムを実行するときに配布ソフトウェア全体を選択すると、PPP ソフトウェアは自動的に組み込まれます。配布ソフトウェア全体を選択しなかった場合は、PPP を個別のパッケージとしてインストールできます。
先へ進む前に、PPP リンクに含めるすべてのマシンに、Solaris バージョンの PPP をインストールしてあることを確認する必要があります。リンクに含める各エンドポイントについて、次のように入力します。
# pkginfo | grep ppp |
32 ビットPPP がインストールされている場合は、次のパッケージ名が表示されます。
SUNWpppk # Contains kernel modules SUNWapppu # Contains the link manager and login service SUNWappp # Contains configuration files |
64 ビットPPP がインストールされている場合は、次のパッケージ名が表示されます。
SUNWpppk # Contains the 32-bit kernel modules SUNWpppkx # Contains the 64-bit kernel modules SUNWapppu # Contains the link manager and login service SUNWappp # Contains configuration files |
PPP がインストールされていないエンドポイントシステムがある場合は、pkgadd プログラムまたは admintool ソフトウェアマネージャを使ってインストールしてください。
pkgadd を使って PPP をインストールする場合は、上記のスクリーンボックスに並べた順序でパッケージをインストールする必要があります。
pkgadd プログラムと admintool ソフトウェアマネージャについての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。
この節と以後の各節では、最も一般的な PPP 構成、つまりリモートホストとそのダイヤルインサーバーをサポートするファイルを編集する方法を紹介します。図 9-1 は、この章で例として使用する構成を示しています。この例は、3 台のリモートマシン (nomada、nomadb、nomadc) と、ダイヤルインサーバー 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 も持っています。
構成に含まれるすべてのマシンに PPP がインストールされていることを確認したら、次に、各マシンの /etc/inet/hosts ファイルを編集します。PPP リンクの反対側にあって、ローカルマシンが通信する必要のあるすべてのマシンについて、hosts データベースにホスト情報を追加する必要があります。
物理ネットワーク上でどのネームサービスを使用しているかに関係なく、/etc/inet/hosts を更新する必要があります。これは、ブートプロセスの中で、PPP の方がネームサービスデーモンより前に起動されるからです。
リンクの反対側にあるダイヤルインサーバー用の PPP ネットワークインタフェースの IP アドレスとホスト名が入ったエントリを追加します。
図 9-1 では、ダイヤルインサーバー nubian の PPP ネットワークインタフェースの IP アドレスが入ったエントリが、nomada の /etc/inet/hosts ファイルに入れられます。nomadb と nomadc の /etc/inet/hosts ファイルについても、同じことが行われます。
ダイヤルインサーバーのネットワーク上にあって、リモートホストからのリモートログインが可能な各マシンの 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 |
ネットワークで使用中のネームサーバーがある場合に、リモートホストのホスト名と IP アドレスによって、そのネームサーバーのデータベースを更新します。
マルチポイントダイヤルインサーバーは、一次ネットワークインタフェースのローカル IP アドレスのほかに、PPP インタフェース用の一意な IP アドレスも持っていなければなりません。ダイヤルインサーバー用の hosts データベースを構成するために必要な手順は、次のとおりです。
PPP インタフェースの IP アドレスが入ったエントリを、ダイヤルインサーバーの /etc/inet/hosts ファイルに追加します。
たとえば、図 9-1 に示すダイヤルインサーバー nubian の /etc/hosts ファイルは、次のようになります。
# Internet host table # 127.0.0.1 localhost loghost 192.41.43.10 nubian-ppp 192.41.40.45 nubian |
サーバーの物理ネットワークでネームサービスが使用されていない構成の場合は、次のようにします。
サーバーとそのリモートホストからなるネットワークの新しいネットワーク番号を、ダイヤルインサーバーの /etc/inet/networks ファイルに追加します。
「PPP リンクへのネットワーク番号の割り当て」 を参照してください。
マシンが PPP リンクを介してダイヤルアウトできるようにするには、そのマシンの UUCP データベース内の以下のファイルを編集する必要があります。
/etc/uucp/Devices
/etc/uucp/Dialers
/etc/uucp/Systems
これらのファイルの編集が必要なのは、PPP ダイヤルアウトマシンとして機能するリモートホストの場合です。また、ダイヤルインサーバーがリモートホストへのダイヤルアウトを行う場合も (マルチポイントダイヤルインサーバーの場合の必須条件)、そのダイヤルインサーバーにある上記のファイルを編集する必要があります。これらのファイルについては、第 12 章「UUCP のデータベースとプログラム」で詳しく説明します。
/etc/uucp/Devices ファイルには、そのホストが使用するか、または認識していなければならない、すべての通信デバイスについてのエントリが含まれている必要があります。たとえば、あるマシンが US Robotics V.32bis モデムを PPP リンクの一部として使用しているのであれば、/etc/uucp/Devices ファイルに次のようなエントリが入っていなければなりません。
# Use these if you have a USrobotics V.32bis modem on Port B. ACUEC cua/b - 9600 usrv32bis-ec ACUEC cua/b - 19200 usrv32bis-ec ACUEC cua/b - 38400 usrv32bis-ec |
各 PPP エンドポイントマシンの Devices ファイル中に、それぞれのモデムを記述しているエントリがあることを確認してください。/etc/uucp/Devices についての詳細は、「/etc/uucp/Devices ファイル」を参照してください。
/etc/uucp/Dialers ファイルには、PPP エンドポイントマシンに接続しているモデムとの会話を記述するエントリが含まれている必要があります。たとえば、US Robotics V.32bis モデムを PPP リンクとして使用する場合、このエントリは次のようになります。
usrv32bis-ec =,-, "" ¥dA¥pT&FE1V1X1Q0S2=255S12=255&A1&H1&M5&B2¥r¥c OK¥r ¥EATDT¥T¥r¥c CONNECT¥s14400/ARQ STTY=crtscts
このエントリの最初のパラメータである usrv32bis は、/etc/uucp/Devices ファイルの最後のパラメータに対応しており、これによって両者が結合されます。このエントリの残りの部分には、モデムが送る文字、モデムが受け取ると予期している文字などが記述されています。表 12-6 に、Dialers ファイルの中で使用する制御コードの定義を示してあります。
リンク上の各ダイヤルアウトエンドポイントに接続しているモデムについて、Dialers ファイル内にエントリが 1 つずつあることを確認してください。特定のモデムの会話が正しいかどうか確信がない場合は、『Solaris のシステム管理 (第 2 巻)』および、そのモデムの操作マニュアルの説明を参照してください。
/etc/uucp/Systems ファイルには、ローカルホストがダイヤルアウトできる各マシンについてのエントリが入っています。各エントリには、リモートホストの電話番号や、回線速度などの情報が入っています。たとえば、図 9-1 に示したホスト nomadb では、ダイヤルインサーバーについてのエントリは次のような内容になります。
nubian-ppp Any ACUEC 38400 5551212 "" P_ZERO "" ¥r¥n¥c login:-¥r¥n¥c-login:-¥r¥n¥c-login:- EOT-login: bnomad password: Secret-Password |
最初のフィールドに示されているのはサーバーのホスト名である nubian-pppで、これは、asppp.cf ファイルのキーワード peer_system_name に使用されます。ACUEC と 38400 はデバイスと速度を示し、これは、/etc/uucp/Devices ファイルからエントリを選択するために使用されます。その後の部分には、nomadb がダイヤルインするマシンの電話番号、nomadb がログインするために使用するログイン名などの情報があります。Systems ファイルに指定する必要のあるパラメータについては、「/etc/uucp/Systems ファイル」で詳しく説明します。
構成内の各リモートホストには、ダイヤルインサーバーについてのエントリを追加する必要があります。/etc/uucp/Systems ファイルには、そのホストが UUCP 通信でダイヤルアウトする他のマシンについてのエントリや、他の PPP ダイヤルインサーバーについてのエントリを一緒に入れることができます。
ダイヤルインサーバーがリモートホストに直接ダイヤルアウトを行う場合は、それらのリモートホストのそれぞれを記述するエントリを Systems ファイルに追加する必要があります。
ダイヤルインサーバーを構成するには、/etc/passwd ファイルと /etc/shadow ファイルも編集する必要があります。
ダイヤルインサーバーへのログインを許可されている各リモートホストの各ユーザーについて、そのサーバーの /etc/passwd ファイルにエントリを追加する必要があります。リモートホストがダイヤルインサーバーを呼び出す場合、自分自身の UUCP データベースを読み、ユーザー名かユーザー ID をサーバーに渡すことで呼び出しを開始します。すると、サーバーは、/etc/passwd ファイルのユーザー情報に照らして確認します。
そのユーザーのパスワードが認証されると、サーバーは、PPP ホスト用の特別なシェルである /usr/sbin/aspppls にそのユーザーをログインさせます。サーバーは、この情報を /etc/passwd ファイルのログインシェルエントリから入手します。たとえば、図 9-1 の例の場合、ダイヤルインサーバー nubian の /etc/passwd ファイルには、次のようなエントリが入っています。
bin:x:2:2::/bin: sys:x:3:3::/bin: uucp:x:5:5::/usr/lib/uucp: nuucp:x:9:9::/var/spool/uucppublic:/usr/lib/uucp/uucico news:x:6:6::/var/spool/news:/bin/csh sundiag:x:0:1:System Diagnostic:/usr/diag/sundiag:/usr/diag/sundiag/sundiag lily:x:20:99:Dial-in Operator:/home/nubian/lily:/bin/csh nomada:x:21:99:R. Burton:/:/usr/sbin/aspppls nomadb:x:22:99:T. Sherpa:/:/usr/sbin/aspppls nomadc:x:23:99:S. Scarlett:/:/usr/sbin/aspppls
/etc/passwd パスワードについての詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。
/etc/passwd ファイル中の情報に加えて、/etc/shadow ファイルもサーバーへのダイヤルインを許可されている各エンドポイントマシンで使用するログイン名のパスワードに更新します。詳細は、『Solaris のシステム管理 (第 1 巻)』を参照してください。
/etc/asppp.cf 構成ファイルは、エンドポイントマシン上にある PPP リンクマネージャに、リンクの反対側にあるマシンに関する情報、またはマルチポイントリンク (または動的ポイントツーポイントリンク) の反対側にあるマシンに関する情報を提供します。このマシンがブートすると、リンクマネージャはこの情報を使って、リモートエンドポイントとの通信を確立し維持します。
基本的な asppp.cf 構成ファイルには、少なくとも 2 つのメインセクションが含まれていなければなりません。それは、1 個の ifconfig 行と、少なくとも 1 つの path セクションです。これに加えて defaults セクションも含めることができます。このセクションは、エンドポイントについてデフォルト値を設定したい場合に使用します (default セクションで使用するキーワードの説明については、第 11 章「PPP リンクの調整」を参照してください)。
例 9-1 に示す基本構成ファイルは、ダイヤルインサーバーとの間にポイントツーポイントリンクを確立するリモートホスト用として作成されたものです。
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
asppp.cf ファイルには、次の構文の ifconfig セクションを含める必要があります。
ifconfig interface-number plumb local-machine remote-machine up
各フィールドについて説明します。
ifconfig - リンクマネージャに、ifconfig コマンドを実行し、PPP インタフェースの構成を始めるよう指示します。
interface-number - PPP インタフェースを識別します。ポイントツーポイントリンクの場合は ipdptpn、マルチポイントリンクの場合は ipdn (n はインタフェースの番号で置き換えます)。
local-machine - ローカルエンドポイントの名前を指定します。これには、ローカルホスト名か IP アドレスを使用できます。
remote-machine - リモートエンドポイントの名前を指定します。これには、リモートホスト名か IP アドレスを使用できます。
リンクマネージャは、まずローカルホストで ifconfig コマンドを実行して、ipdptp0 ポイントツーポイントインタフェースを構成します。ipdptp0 の中の 0 は、インタフェースのデバイス番号を示します。plumb オプションは、IP が ipdptp0 インタフェースを認識するのに必要な各種の操作を行います。nomada はローカルホストの名前です。nubian-pppは、nomada がポイントツーポイントリンクを介して接続するダイヤルインサーバーの名前です。ifconfig オプション up は、ipdptp0 インタフェースに "up" のマークを付けます。
ifconfig についての詳細は、第 10 章「PPP の障害追跡」と、ifconfig(1M) のマニュアルページを参照してください。
構成ファイルの path セクションは、リモートエンドポイントの名前と、エンドポイントマシン間を結ぶインタフェースの名前を、リンクマネージャに指示します。path セクションには、少なくとも下記の行が必要です。
path interface interface-number peer_system_name endpoint-name |
このキーワードは PPP インタフェースを定義します (ipdptpn か ipdn のどちらか)。例 9-1 では、path セクションに次の情報があります。
interface ipdptp0 peer_system_name nubian-ppp |
この interface キーワードは、ローカルエンドポイント nomada が、この path セクションの記述に従ってリモートエンドポイントと通信するのに使用するポイントツーポイントインタフェースが ipdptp0 であることを表します。このキーワードは、peer_system_name をインタフェースに結び付けています。
リモートホストなどのようなダイヤルアウトマシンでは、peer_system_name キーワードは、リモートエンドポイントのホスト名を引数としてとります。これは、/etc/uucp/Systems の中で指定されたリモートエンドポイントの名前です。この名前は、対応する ifconfig 行のホスト名と同じでなくてもかまいません。
ダイヤルインサーバーの場合は、peer_system_name キーワードへの引数の値は異なります。詳細は、「マルチポイントダイヤルインサーバーの構成ファイル」を参照してください。
例 9-1 では、peer_system_name は、このリンクの反対側にあるリモートエンドポイントが、ダイヤルインサーバー nubian-ppp であることを示しています。リンクマネージャは、asppp.cf ファイルを読んだ後で、/etc/uucp/Systems ファイルの中で nubian-ppp についてのエントリを見つけます (Systems ファイルには、リモートエンドポイントとの通信を設定する方法や、そのマシンの電話番号などが含まれているということを思い出してください。「PPP の /etc/uucp/Systems の更新」を参照してください)。
inactivity_timeout キーワードは省略可能です。このキーワードは、指定した時間が経過するまでの期間は、リンクが未使用状態であっても構わないことをリンクマネージャに指示します。その期間が経過すると、リンクマネージャは自動的にリンクを切り離します。デフォルトの時間は 2 分です。未使用期間として別の時間を指定したい場合でない限り、inactivity_timeout を使用する必要はありません。
asppp.cf ファイルには、上記以外にも、エンドポイントマシンによる通信の方法を定義するためのキーワードがいくつかあります。これらのキーワードについては、第 11 章「PPP リンクの調整」に詳しい説明があります。
マルチポイントダイヤルインサーバーの asppp.cf ファイルの場合も、基本的なセクションはポイントツーポイントリンクの場合と同じで、1 個の ifconfig セクションと、少なくとも 1 つの path セクションのほかに、必要に応じて指定する defaults セクションがあります。
例 9-2 は、図 9-1 に示したダイヤルインサーバー nubian の構成ファイルです。
ifconfig ipd0 plumb nubian-ppp up path interface ipd0 peer_system_name tamerlane # The user name this remote # machine logs in with when it # dials this server peer_ip_address nomada # nomada is a remote machine that # dials in to this server # nomadb is another remote machine that dials in to nubian path interface ipd0 peer_system_name lawrence peer_ip_address nomadb # nomadc is another remote machine that dials in to nubian path interface ipd0 peer_system_name azziz peer_ip_address nomadc
マルチポイントダイヤルインサーバーの場合の ifconfig セクションは、ポイントツーポイントリンクの場合とはやや構文が異なります。構文は次のとおりです。
ifconfig ipdn plumb server-name up
最も大きな相違点は、ifconfig への引数として宛先エンドポイントを指定しないという点です。代わりに、リンクマネージャは、asppp.cf ファイルの path セクションからこの情報を拾いだします。
例 9-2 では、リンクマネージャは、まずダイヤルインサーバーで ifconfig コマンドを実行して、マルチポイントインタフェース ipd0 を構成します。ipd0 の中の 0 は、インタフェースのデバイス番号を示します。plumb オプションは、IP が ipd0 インタフェースを認識するために必要な各種の操作を行います。ifconfig オプション up は、ipd0 インタフェースに "up" のマークを付けます。
サブネットを使用する場合は、ifconfig 行に netmask + パラメータの指定が必要になります。
asppp.cf ファイルの path セクションは、リモートエンドポイントの名前と、エンドポイントマシンをリンクするインタフェースの名前を、リンクマネージャに指示します。ただし、マルチポイントダイヤルインサーバーでは、複数の path セクションを設けることができます。また、キーワードへの引数のいくつかは、マルチポイントリンクでは使い方が異なります。
path interface interface-number peer_system_name endpoint-username peer_ip_address endpoint-hostname
path セクションは、ダイヤルインサーバーが接続を確立する相手となる各可搬エンドポイントについて、1 つずつ定義する必要があります。
マルチポイントダイヤルインサーバーの場合は、interface キーワードは PPP インタフェース ipdn を定義します。このインタフェースを介してサーバーと通信するすべてのエンドポイントについて、同じ PPP インタフェースを path セクションに指定する必要があります。
ダイヤルインマシンの場合の peer_system_name キーワードは、ダイヤルアウトマシンの場合と引数が少々異なります。ダイヤルインサーバーの場合は、この引数は、リモートホストがサーバーとの通信を確立しようとするときに使用するログイン名です。このユーザー名は、すでにサーバーの /etc/passwd ファイル内に存在しているものでなければなりません。ログインサービスは、この名前を読み取ると、/etc/passwd ファイルと /etc/shadow ファイルの中のユーザー名とを検証して、通信を可能にします。
次に示す、例 9-2 の抜粋を見てください。
path interface ipd0 peer_system_name scarlett peer_ip_address nomadc |
ここでは、peer_system_name への引数は scarlett です。これは、nomadc が nubian-ppp にログインするときに、scarlett というログイン名を使用することを示しています。
peer_ip_address キーワードは、マルチポイントリンクの場合は必須です。このキーワードは、引数としてリモートエンドポイントのホスト名または IP アドレスを受け取ります。上記の例では、peer_ip_address キーワードの引数はホスト名 nomads です。
asppp.cf ファイルには、上記以外にもエンドポイントマシンによる通信の方法を定義するためのキーワードがいくつかあります。これらのキーワードについては、第 11 章「PPP リンクの調整」に詳しい説明があります。
asppp.cf を編集するときは、次の点に注意してください。
構成ファイル内では、キーワードとキーワードとの間を空白 (ブランク、タブ、改行) で区切る
コメントとして使用する文字列の前には # 記号を付ける。# からその次の改行までの文字はすべてコメントとみなされ、無視される
ファイル内のキーワード入力については、上記以外には形式上の必要条件はありません。
1 つのエンドポイントマシンでスーパーユーザーになり、/etc ディレクトリに移動します。
汎用 asppp.cf ファイルを編集して、このマシンの PPP リンクを定義する情報を追加します。
アクセス権が必ず 600 に設定されるように、ファイルを保存します。
構成に含まれるすべてのマシンへ PPP をインストール後、asppp.cf を修正することによって、PPP リンクについての PAP または CHAP レベルのセキュリティを付加できます。「PAP/CHAP セキュリティのための asppp.cf の編集」を参照してください。
PPP は、ブート時に自動的に起動されるようにすることも、コマンド行から手動で起動することもできます。
通常は必要ありませんが、PPP を手動で起動することができます。
# ps -e | grep asppp |
grep の結果の出力に aspppd デーモンがリストされれば、PPP が実行中です。
結果が表示されたら、リモート PPP リンクに到達できるかどうかを確認するために、次のように入力します。
# ping remote-host 300 |
この例の ping では、タイムアウト値が 5 分 (300 秒) に設定されています。このコマンドに対しては、「remote-host is alive」のような出力が表示されるはずです。これとは異なる出力、たとえば「remote-host unreachable」などと表示された場合は、経路の構成が失敗したことを意味します。
ログファイルを調べて、構成にエラーがないかどうか検査します。
# tail /var/adm/log/asppp.log |
構成時にエラーが見つかった場合は、asppp.log にエラーメッセージが記録されています。
障害追跡と問題解決については、第 10 章「PPP の障害追跡」 を参照してください。