Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

DNS サーバーを構成する

DNS の概要

ドメイン ネーム システム (DNS) は、ドメイン名を IP アドレスに解決してトラフィックを宛先にルーティングするための標準プロトコルです。DNSは、人間が読めるドメイン名とそのIPアドレスの間の変換を提供します。ドメイン名は階層ツリーで定義され、ルートの後にトップレベルと次のレベルのドメインラベルが続きます。

DNS サーバーは、ドメイン名のレコードを格納し、これらのレコードに基づいてクライアントからのクエリに応答します。サーバーは、ネーム・サーバーとして構成されているドメインに対して権限があります。他のドメインの場合、サーバーはキャッシュサーバーとして機能し、他のドメインネームサーバーに照会してレコードをフェッチできます。

仮想世界におけるドメインネームサービスの主要な属性は次のとおりです。

  • 複数のドメイン・ネーム・サーバーを構成して、システムで生成された仮想マシンに名前解決サービスを提供できる必要があります。

  • 各テナントに必要なDNSサーバー階層を形成するようにドメインネームサーバーを構成できる必要があります。

    • 階層は、システムに存在する他の同様の階層から独立して完全に分離することも、システムに存在する他の階層に命名サービスを提供することもできます。

  • システムで生成された仮想マシンの DNS レコードは、仮想マシンが作成または破棄されたときに動的に更新する必要があります。

  • サービスは、サーバーの増加と、それに伴うシステムで処理される仮想マシンと DNS クエリの数の増加を処理するためにスケーラブルである必要があります。

複数の仮想ドメインネームサーバーの定義

Contrail では、システム内の各ドメインの下に複数の仮想ドメイン ネーム サーバーを柔軟に定義できます。各仮想ドメイン ネーム サーバーは、構成された DNS ドメインに対して権限のあるサーバーです。 図 1 は、 既定のドメインで定義された仮想 DNS サーバーの例を示し、示されている DNS ドメインのネーム サービスを提供します。

図 1: DNS サーバーの例 DNS Servers Examples

IPAM と仮想 DNS

システム内の各 IP アドレス管理 (IPAM) サービスは、構成された仮想 DNS サーバーの 1 つを参照できます。生成された仮想ネットワークと仮想マシンは、対応する IPAM で指定された DNS ドメインに関連付けられます。VM が DHCP で構成されている場合、VM は DHCP ドメイン名オプションでドメイン割り当てを受け取ります。例を図 2 に示します

図 2: IPAM と仮想 DNS IPAM and Virtual DNS

DNS レコードの種類

DNS レコードは静的に追加できます。DNS レコードの種類 A、CNAME、PTR、および NS は現在、システムでサポートされています。各レコードには、型、クラス (IN)、名前、データ、および TTL 値が含まれます。レコード・タイプの説明については、 表 1 を参照してください。

表 1: サポートされている DNS レコードの種類

DNS レコードの種類

説明

A

ホスト名を IPv4 アドレスにマッピングするために使用されます。名前は仮想マシンの名前を表し、データは仮想マシンの IPv4 アドレスです。

Cname

名前のエイリアスを提供します。名前は仮想マシンの名前を参照し、データは仮想マシンの新しい名前 (エイリアス) です。

Ptr

レコードへのポインタであり、IPアドレスから名前への逆マッピングを提供します。[名前] は IP アドレスを表し、[データ] は仮想マシンの名前です。PTR レコード内のアドレスは、この仮想 DNS サーバーを参照する IPAM の 1 つ内の VN 用に構成されたサブネットの一部である必要があります。

Ns

サブドメインを別の DNS サーバーに委任するために使用されます。DNS サーバーは、システムで定義されている別の仮想 DNS サーバー、またはインフラストラクチャを介して到達可能な外部 DNS サーバーの IP アドレスである可能性があります。名前は委任されているサブドメインを参照し、データは仮想 DNS サーバーの名前または外部サーバーの IP アドレスです。

図 3 は、 NS の DNS レコードの種類の使用例を示しています。

図 3: NS レコードの種類 Example Usage for NS Record Typeの使用例

インターフェイスを使用した DNS の設定

DNS は、ユーザー インターフェイスまたはスクリプトを使用して構成できます。次の手順は、ジュニパーネットワークスの Contrail インターフェイスから DNS を設定する方法を示しています。

  1. [ > DNS >サーバーの構成 ] にアクセスして、仮想 DNS サーバーとレコードを作成または削除します。

    [DNS レコードの構成] ページが表示されます。図4を参照してください。

    図 4: DNS レコード Configure DNS Recordsの構成
  2. 新しい DNS サーバーを追加するには、[ 作成 ] ボタンをクリックします。

    [DNSの追加]ウィンドウにDNSサーバー情報を入力します。図5を参照してください

    図 5: DNS Add DNS を追加する

    新しいサーバーのフィールドに入力します。 表 2 を参照してください。

    表 2: DNS フィールドの追加

    フィールド

    説明

    サーバー名

    このサーバーの名前を入力します。

    ドメイン名

    このサーバーのドメインの名前を入力します。

    生きる時間

    TTL を秒単位で入力します。

    次の DNS サーバー

    DNS 要求をこのサーバーで処理できない場合に処理する次の DNS サーバーの名前を一覧から選択するか、[ なし] を選択します。

    負荷分散の順序

    リストから負荷分散の順序(ランダム、固定、ラウンドロビン)を選択します。名前に一致する複数のレコードがある場合、設定されたレコードの順序によって、応答でレコードが送信される順序が決まります。[ ランダム ] を選択すると、レコードがランダムな順序で送信されます。[ 固定 ] を選択すると、レコードが作成順に送信されます。 [ラウンド ロビン ] を選択して、レコードへの要求ごとにレコードの順序を循環させます。

    わかりました

    [ OK ] をクリックしてレコードを作成します。

    キャンセル

    [ キャンセル] をクリックしてフィールドをクリアし、最初からやり直します。

  3. 新しい DNS レコードを追加するには、[DNS レコードの構成] ページで、画面の右下にある [レコードの追加] ボタンをクリックします。

    [DNS レコードの追加] ウィンドウが表示されます。図6を参照してください。

    図 6: DNS レコード Add DNS Recordの追加
  4. 新規レコードのフィールドに入力します。 表 3 を参照してください。
    表 3: DNS レコード フィールドの追加

    フィールド

    説明

    レコード名

    このレコードの名前を入力します。

    リストからレコードの種類 (A、CNAME、PTR、NS) を選択します。

    IPアドレス

    このレコードの場所の IP アドレスを入力します。

    クラス

    リストからレコード クラスを選択します (既定値は IN です)。

    生きる時間

    TTL を秒単位で入力します。

    わかりました

    [ OK ] をクリックしてレコードを作成します。

    キャンセル

    [ キャンセル] をクリックしてフィールドをクリアし、最初からやり直します。

  5. IPAM を仮想 DNS サーバーに関連付けるには、[ DNS レコードの構成] ページで、画面の右下にある [ 関連付けられた IPAM ] タブを選択し、[ 編集 ] ボタンをクリックします。

    [IPAM を DNS に関連付ける] ウィンドウが表示されます。図7を参照してください。

    図 7: IPAM を DNS Associate IPAMs to DNS に関連付ける

    表 4 のフィールドの説明を使用して、IPAM の関連付けを完了します。

    表 4: IPAM を DNS フィールドに関連付ける

    フィールド

    説明

    すべての IPAM に関連付ける

    このボックスをオンにすると、選択した DNS サーバーが使用可能なすべての IPAM に関連付けられます。

    利用可能な IPAM

    この列には、現在使用可能な IPAM が表示されます。

    関連する IPAM

    この列には、選択した DNS サーバーに現在関連付けられている IPAM が表示されます。

    >>

    このボタンを使用して、左側の列で使用可能な IPAM を選択し、このボタンをクリックして [関連付けられた IPAM] 列に移動して、使用可能な IPAM を選択した DNS サーバーに関連付けます。これで、選択した IPAM が選択した DNS サーバーに関連付けられます。

    <<

    このボタンを使用して、右側の列に関連付けられている IPAM を選択し、このボタンをクリックして左側の列 (使用可能な IPAM) に移動して、選択した DNS サーバーから IPAM の関連付けを解除します。これで、選択した IPAM と選択した DNS サーバーの関連付けが解除されます。

    わかりました

    [ OK ] をクリックして、ウィンドウに示された変更をコミットします。

    キャンセル

    [ キャンセル] をクリックしてすべてのエントリをクリアし、最初からやり直します。

  6. 任意の DNS サーバーの DNS モードを構成し、IPAM を任意のモードの DNS サーバーまたはテナントの IP アドレスに関連付けるには、[IP アドレス管理] ページ ([IP アドレス管理] > [IP アドレス管理の構成]> [IP アドレス管理の構成](図 8 参照) を使用します。
    図 8: IP アドレス管理 Configure IP Address Managementの設定
  7. IPAM を仮想 DNS サーバーまたはテナントの IP アドレスに関連付けるには、[ IP アドレス管理 ] ページで、この IPAM に関連付けられているネットワークを選択し、最後の列の [ 操作 ] ボタンをクリックして、[ 編集] をクリックします。

    [IP アドレス管理の編集] ウィンドウが表示されます。図9を参照してください。

    図 9: DNS サーバー DNS Server
  8. 最初のフィールドで、リストから DNS 方式を選択します(なし、デフォルト DNS、テナント DNS、仮想 DNS、表 5 を参照)。
    表 5: DNS モード

    DNS モード

    説明

    なし

    VM に DNS サポートが必要ない場合は、 [ なし ] を選択します。

    既定

    既定のモードでは、VM の DNS 解決は、サーバー インフラストラクチャのネーム サーバー構成に基づいて実行されます。サブネット デフォルト ゲートウェイは VM の DNS サーバーとして構成され、VM への DHCP 応答にはこの DNS サーバー オプションがあります。VM からデフォルト ゲートウェイに送信された DNS 要求は、それぞれのコンピューティング ノードで構成されているネーム サーバーに送信されます。応答は VM に送り返されます。

    テナント

    テナントが独自の DNS サーバーを使用する場合は、このモードを構成します。IPAM 内のサーバーの一覧を構成します。サーバー一覧は、DHCP 応答で DNS サーバーとして VM に送信されます。VM によって送信される DNS 要求は、使用可能なルーティング情報に基づいて、他のデータ パケットと同じようにルーティングされます。

    仮想DNS

    VM からの DNS 要求を解決する仮想 DNS サーバー (VDNS) をサポートするには、このモードを構成します。各 IPAM には、このモードで構成された仮想 DNS サーバーを含めることができます。

  9. このページの残りのフィールドに入力し、[ OK ] をクリックして変更をコミットするか、[ キャンセル] をクリックしてフィールドをクリアして最初からやり直します。

スクリプトを使用した DNS の設定

DNS は、ユーザー インターフェイスを使用するか、 opt/contrail/utils ディレクトリにあるスクリプトを使用して設定できます。スクリプトについては 、表 6 で説明します。

注意:

スクリプトを使用して DNS を構成する場合は、次の注意事項に注意してください。

  • DNS では、- (ダッシュ) と .(ピリオド)。名前に特殊文字を含むレコードは、システムによって廃棄されます。

  • IPAM DNS モードと関連付けは、IPAM に関連付けられている仮想ネットワークに仮想マシン インスタンス がない 場合にのみ編集する必要があります。

表 6: DNS スクリプト

アクション

スクリプト

仮想 DNS サーバーを追加する

スクリプト: add_virtual_dns.py

使用例: python add_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --name vdns1 --domain_name default-domain --dns_domain juniper.net --dyn_updates --record_order random --ttl 1200 --next_vdns default-domain:vdns2

仮想 DNS サーバーを削除する

スクリプト: del_virtual_dns_record.py

使用例: python del_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --fq_name default-domain:vdns1

DNS レコードを追加する

スクリプト: add_virtual_dns_record.py

使用例: python add_virtual_dns_record.py --api_server_ip 10.204.216.21 --api_server_port 8082 --name rec1 --vdns_fqname default-domain:vdns1 --rec_name one --rec_type A --rec_class IN --rec_data 1.2.3.4 --rec_ttl 2400

DNS レコードを削除する

スクリプト: del_virtual_dns_record.py

使用例: python del_virtual_dns_record.py --api_server_ip 10.204.216.21 --api_server_port 8082 --fq_name default-domain:vdns1:rec1

仮想 DNS サーバーを IPAM に関連付ける

スクリプト: associate_virtual_dns.py

使用例: python associate_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --ipam_fqname default-domain:demo:ipam1 --vdns_fqname default-domain:vdns1

仮想 DNS サーバーと IPAM の関連付けを解除する

スクリプト: disassociate_virtual_dns.py

使用例: python disassociate_virtual_dns.py --api_server_ip 10.204.216.21 --api_server_port 8082 --ipam_fqname default-domain:demo:ipam1 --vdns_fqname default-domain:vdns1