動的ポイントツーポイントリンクを持つダイヤルインサーバーを使用するサイトでは、ポイントツーポイント通信の利点を最大限に活用することができます。この構成タイプについては、第 7 章「PPP の概要」で概説しました。この構成では、必要時に動的にポイントツーポイントリンクを割り当てる少なくとも 1 つのダイヤルインサーバーと、リモートホストとの間で通信が行われます。この節では、図 11-1 に示す構成例に基づいて説明を進めます。
各リモートホストは、標準のポイントツーポイントリンクを使ってダイヤルインサーバーと通信します。しかし、図 9-1 に示したマルチポイントダイヤルインサーバーとは違って、ダイヤルインサーバー mojave は、動的ポイントツーポイントリンクを介して呼び出し側ホストに接続されます。リモートホストのどれかが接続を確立しようとすると、サーバーが使用可能なリンクを割り当てます。
動的リンクの基本概念は、接続確立のたびにサーバーがクライアントに IP アドレスを供給するというものです。接続を確立すると、使用可能な IP インタフェースをサーバーがクライアントに割り当てます。その後、接続が継続している間、インタフェースのリモート IP アドレスがクライアントの IP アドレスになります。接続を終了すると、使用可能なインタフェースのプールに IP インタフェースが戻され、別の接続に使用できる状態になります。
動的リンクの構成には、リモートホスト対マルチポイントダイヤルインサーバーの場合と同じ一般的な手順を用います。この手順については、「構成プロセスの概要」に説明があります。ただし、動的ポイントツーポイントリンクには独自の必要条件がいくつかあり、そのため構成に関係するファイルに対する修正のしかたも少々異なります。
動的割り当て PPP リンクを使用する各マシンについて、/etc/inet/hosts ファイルにホスト情報を追加する必要があります。PPP エンドポイントの IP アドレスについては次の規則があります。
ダイヤルインサーバーの場合は、そのサーバーの一次ネットワークインタフェースの IP アドレス (たとえば le0、smc0 など) を、動的リンクのアドレスとして使用する必要があります。
動的リンクでは、各リモートホストに IP アドレスを割り当てる (静的リンクの場合) 必要はありません。ただし、サーバー上のポイントツーポイント IP インタフェースのそれぞれにリモート IP アドレスを割り当てる必要があります。使用可能な IP インタフェースの数は、サーバーに接続されたモデムの数と一致します。たとえば、モデムが 3 つある場合、ポイントツーポイント IP インタフェースと IP アドレスが 3 つずつ必要です。
クライアント上で ifconfig コマンドを正しく実行するには、ダミーの IP アドレスを入れなければなりません。PPP が起動すると、このアドレスはクライアントの IP インタフェースに割り当てられたローカル IP アドレス用のプレースホルダとして機能します。
IP インタフェースに割り当てられるリモート IP アドレスに制限はありません。ただし、明確にするには、同じサブネットに属する IP アドレスだけを入れるのが最適です。
動的リンク構成に含まれるすべてのマシンで、hosts データベースを更新する必要があります。
リモートマシンの hosts データベースを構成するための手順は、次のとおりです。
リンクの反対側にある各ダイヤルインサーバーについて、一次ネットワークインタフェースの IP アドレスとホスト名を、/etc/inet/hosts ファイルに追加します。
たとえば、図 11-1 では、nomada、nomadb、nomadc の /etc/inet/hosts ファイルには、ダイヤルインサーバー mojave の一次ネットワークインタフェースの IP アドレスが入ります。
ダミー 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 |
ダイヤルインサーバーの物理ネットワーク上にあって、リモートホストからリモートログインできるすべてのマシンの IP アドレスを、/etc/inet/hosts ファイルに追加します。
物理ネットワーク上にあるネームサーバーのデータベースを、リモートホストのホスト名と IP アドレスに更新します。
ダイヤルインサーバーの hosts データベースには、PPP 固有のアドレスを追加する必要はありません。動的割り当てリンクは、サーバーのネットワークインタフェースを使用する必要があります。したがって、ダイヤルインサーバーの hosts データベースを構成するには、次のようにします。
サービス対象の各リモートホストについて、サーバーの /etc/inet/hosts ファイルにエントリを追加します。
物理ネットワーク上のすべてのマシンの /etc/inet/hosts ファイルに、それぞれが通信することのできるリモートホストについてのエントリを追加します。
次に行う手順として、/etc/passwd ファイルと /etc/shadow ファイルを編集します。動的リンク構成の場合も、リモートホスト対マルチポイントダイヤルインサーバー構成の場合と同じ手順で、これらのファイルを編集します。/etc/passwd ファイルと /etc/shadow ファイルについての詳細は、「/etc/passwd ファイルの修正」を参照してください。
動的リンク構成用の asppp.cf 構成ファイルには、リモートホストに関する情報と、PPP リンクに使用するインタフェースに関する情報が含まれていなければなりません。ダイヤルインサーバーがブートした後、リモートエンドポイントからサーバーが呼び出されるたびに、リンクマネージャはこの情報を使って通信を確立します。
リモートホスト用の asppp.cf 構成ファイルは、「基本構成ファイルの各部分」で説明したファイルと同じですが、パラメータ negotiate_address が追加されている点が異なります。
ifconfig ipdptp0 plumb dummy mojave up path interface ipdptp0 peer_system_name mojave-ppp connectivity_timeout 300 negotiate_address on |
negotiate_address パラメータは、ローカル IP アドレスの割り当てがネゴシエーションによって取得されて動的に割り当てられているかどうかを示します。設定が on の場合、サーバーから供給された IP アドレスが、接続中にクライアントのローカルアドレスとして使用されます。
ダイヤルインサーバーが着信パケットを受信すると、リンクマネージャは構成ファイルの path セクションを読んで、リモートエンドポイントを識別し、使用するインタフェースを決定します。例 11-1 に示す構成ファイルには、インタフェースキーワードは含まれていません。代わりに、リンクマネージャは、defaults セクションに設定されているインタフェース情報を使用します。
動的割り当てリンクを持つダイヤルインサーバー用の asppp.cf 構成ファイルは、例 11-1 のようになります。
ifconfig ipdptp0 plumb mojave clienta down ifconfig ipdptp1 plumb mojave clientb down ifconfig ipdptp2 plumb mojave clientc down # This means grab whatever interface is available (not in use) defaults interface ipdptp* # Each path specifies a machine that might dial up / log # in to this server path peer_system_name tamerlane # nomada uses the login name # tamerlane path peer_system_name lawrence # nomadb uses the name lawrence # for login path peer_system_name nomadc |
動的割り当てリンクを持つダイヤルインサーバー用の ifconfig セクションの構文は、次のとおりです。
ifconfig ipdptpn plumb server-name client-address down
例 11-1 には、3 つの ifconfig 行があり、それぞれポイントツーポイントインタフェースを初期化しています。
ifconfig ipdptp0 plumb mojave clienta down ifconfig ipdptp1 plumb mojave clientb down ifconfig ipdptp2 plumb mojave clientc down |
動的割り当てリンクを構成するときに、asppp.cf ファイルに defaults セクションを含めることができます。このセクションでは、その後に asppp.cf ファイル内に keyword が現れたときに、keyword に代入するデフォルトの値を設定します。defaults セクションの構文は次のとおりです。
default keyword |
例 11-1 では、キーワード interface を使って ipdptp* をインタフェースとして定義することにより、動的リンクを指定しています。ワイルドカードを示すアスタリスクは、ifconfig セクションで定義されている任意の使用可能な ipdptp インタフェースを使用するよう、リンクマネージャに指示しています。したがって、サーバー mojave のリンクマネージャは、ipdptp0、ipdptp1、ipdptp2 のうち、"down" として構成されている最初のインタフェースを使用します。
動的リンクを持つサーバー用の構成ファイルには、そのサーバーとの接続の確立が許されているすべてのリモートホストについての path セクションが含まれていなければなりません。path セクションの構文は次のとおりです。
path peer_system_name endpoint-username |
interface キーワードは、path セクションの中で定義されていません。これは、この値が defaults セクションで定義されているからです。 この場合の peer_system_name キーワードと peer_ip_address キーワードの意味は、マルチポイントサーバー用の構成ファイルの場合と同じです。詳細は、「マルチポイントダイヤルインサーバーの path セクション」を参照してください。
asppp.cf ファイルでは、上記のほかに、エンドポイントがどのように通信するかを定義するためのキーワードをいくつか指定できます。これには、「構成キーワード」で説明するセキュリティキーワードも含まれます。