Mac の複数のパブリック IP アドレスでコンテンツキャッシュ検出を有効にする
ネットワークがインターネットへの接続に複数のパブリック IP アドレスを使用していて、コンテンツキャッシュによる登録が、クライアントが検出に使用するものとは異なるアドレスを使用して行われるような場合は、それらのアドレスのリストをコンテンツキャッシュとクライアントの両方に提供する必要があります。これらのリストは、複数のパブリック IP アドレスを使用する場合の登録および検出要求の相互確認に使用されます。
手動によるクライアントの構成を避けるため、コンテンツキャッシュでは DNS TXT レコードを使用して、ネットワーク上のクライアントに対してパブリック IP アドレス情報を公開します。TXT レコードは、クライアントで使用されるデフォルトの DNS 検索ドメインに公開する必要があります。
TXT レコードの正確なデータは、自動的に生成することも手動で生成することもできます。いずれの場合も、DNS レコードを編集するか、DNS プロバイダに設定を提供してゾーンファイル内に TXT レコードを作成または編集してもらう必要があります。
注記:これらのレコードは内部ネットワークでのみ必要です。外部の DNS には追加レコードは必要ありません。
複数の IP アドレスをサポートするようにコンテンツ・キャッシュ・クライアントを構成する
Mac で、アップルメニュー >「システム環境設定」と選択し、「共有」をクリックしてから、「コンテンツキャッシュ」を選択します。
Option キーを押したまま、「詳細オプション」をクリックします。
「クライアント」をクリックします。
「マイ・ローカルネットワーク」ポップアップメニューをクリックし、「カスタムパブリック IP アドレスを使用」を選択します。
「追加」ボタン をクリックし、パブリック IP アドレスの範囲を入力します。
入力したい追加の IP アドレス範囲がある場合は繰り返します。
入力したパブリック IP アドレスを記述した DNS テキストレコードを作成します。
テキストレコードは、コンテンツ・キャッシュ・サービスを使用して生成することも、手動で作成することもできます(フォーマットについては後述)。テキストレコードを生成するには:
「DNS 構成」ボタンをクリックします。
DNS サーバのタイプ(BIND または Windows)を選択します。
生成されたテキストレコードをコピーしてから、後で(DNS ゾーンファイルに追加するときに)使用できるようにテキストファイルにペーストします。
「完了」をクリックします。
構成が完了したら、「OK」をクリックします。
テキストレコードをドメインの権威のある DNS ゾーンファイルに追加します。
DNS TXT レコードのフォーマット
TXT レコードを指定する構文と、TXT レコード内の非 ASCII 文字は、お使いの DNS サーバによって変わります。以下に示す例は説明のみを目的としています。
コンテンツキャッシュ用の DNS テキストレコードは、DNS-SD TXT レコードと同じフォーマットです(キー値ペア):
name._tcp 10800 IN TXT "[prs|prn]=addressRanges"
IPv4 と IPv6 の両方のアドレスが受け入れられますが、サポートされているのは IPv4 のみです。
以下の例は、どちらも同じ 2 つの IP アドレス範囲(17.53.22.2 〜 17.53.22.254 までの範囲、単一の IP アドレス 93.184.216.119 で構成される範囲)のセットを定義しています。これらの違いは、1 番目の例では prs キーを使用し、2 番目の例では prn キーを使用していることです。
_aaplcache._tcp 10800 IN TXT "\x2aprs=17.53.22.2-17.53.22.254,93.184.216.119"
_aaplcache._tcp 10800 IN TXT "\x12prn=\x24\x11\x35\x16\x02\x11\x35\x16\xfe\x14\x5d\xb8\xd8\x77"
prs キーと prn キーでは、値に指定する IP アドレス範囲のフォーマットが異なります:
prs:prs キーの値は、カンマで区切られた IP アドレスの範囲の列で、プレゼンテーションフォーマット(ASCII ドット表記)で表されます。この構文は簡単に構成できます。範囲には、1 つの IP アドレスまたはハイフンで区切られた 2 つの IP アドレスが含まれます。
prn:prn キーの値は、連結された IP アドレス範囲の列で、バイナリのネットワークバイトオーダー形式で表されます。プレゼンテーションフォーマットで指定した場合に DNS レコードとして長すぎる範囲列には、この構文を使用します。シーケンス内の各範囲の先頭は、その後に続く範囲の種類を指定するバイトです:
0x14 は単一の IPv4 アドレスを示します。
0x16 は単一の IPv6 アドレスを示します。
0x24 は範囲の開始 IPv4 アドレスと終了 IPv4 アドレスを示します。
0x26 は範囲の開始 IPv6 アドレスと終了 IPv6 アドレスを示します。
複数のレコードを連鎖させることができます。その場合は、最初のレコード _aaplcache._tcp
および必要に応じてそれ以降のレコード _aaplcache1._tcp
から _aaplcache24._tcp
までに名前を付けます。連鎖できるレコード数は最大で 25 です。
レコードを連鎖させるには、最後の TXT レコード以外のすべての TXT レコードに継続文字を追加します。
同じ連鎖内で prs 構文と prn 構文のレコードを混在させることができます。prs 構文では、レコード値の末尾に「,more」と追加します。prn 構文では、レコード値の末尾に「+」(0x2b)と追加します。継続文字を含まない最初のレコードが連鎖の終了を示します。
連鎖したレコードは一度に 5 件ずつ解決されます。つまり、最初に _aaplcache._tcp および _aaplcache1._tcp から _aaplcache4._tcp までが並行して解決され、そのすべてが継続文字で終わる場合は、次に _aaplcache5._tcp から _aaplcache9._tcp までが解決されます。以降も同様に続きます。
以下に連鎖した 3 つのレコードの例を示します:
_aaplcache._tcp 10800 IN TXT "\x2bprs=17.250.1.1,17.250.2.1-17.250.2.254,more"
_aaplcache1._tcp 10800 IN TXT "\x0eprn=\x24\x11\xfa\x03\x01\x11\xfa\x03\xfe+"
_aaplcache2._tcp 10800 IN TXT "\x0eprs=17.250.4.5"
TXT レコードを指定する構文と、TXT レコード内の非 ASCII 文字は、お使いの DNS サーバによって変わります。一部のサーバでは、長さを表す先頭のバイト(例に登場する順番で \x2a、\x12、\x2b、\x0e、および\x0e)は自動的に追加されるので必要ありません。
DNS ゾーンファイルに TXT レコードを追加する
1 つまたは複数の TXT レコードを、DNS サーバのローカルドメインのゾーンファイルに追加します。以下のゾーンに DNS TXT レコードを追加します:
ドメインに関する権威を持つゾーン
ネットワーク・クライアント用のデフォルト検索ドメインと一致するゾーン
たとえば、組織から独自のドメインの DNS サービスが提供されていて、example.com のホスト名に関する権威を組織が持っている場合は、example.com ゾーンファイルにキャッシュ TXT レコードを追加します。
重要:ドメイン名に対して権威のある DNS サービスをホストしていない場合は、TXT レコードを自分で追加することはできません。DNS プロバイダと協力し、TXT レコードを提供して、追加してもらってください。
BIND9 DNS を使用する場合には、生成された TXT レコードをコピーして、DNS のゾーンファイルにペーストします。
Linux で BIND9 ベースの DNS の場合は、このファイルは /etc/bind/
ディレクトリにあり、ゾーンファイル名が /etc/bind/named.conf
内で定義されています(ほとんどの場合、「db.example.com」です。)。
Windows DNS を使用している場合は、以下のいずれかの操作を行います:
コンテンツ・キャッシュ・サービスを使用してテキストレコードを生成した場合:生成されたコマンド内の ZoneName 変数をお使いのネットワークの DNS ゾーン名に置き換えてから、コマンドを Windows DNS コンピュータで実行します。
テキストレコードを手動で作成した場合:Windows Server 管理ツールを使用して、TXT レコード情報を手動で入力します。