インスタンス用の名前解決

インスタンス用の名前解決

Networking サービスでは、インスタンス用の名前解決を設定する方法が複数あります。ほとんどのデプロイメントではケース 1 か 2 が使用されることでしょう。ケース 3 を使用する場合は、内部の DNS 情報がインスタンスにもれないようセキュリティー面の考慮が必要です。

ケース 1: 仮想ネットワークごとに独自の DNS レゾルバーを使用する場合

この場合、 DHCP エージェントは、 1 つ以上の独自の DNS レゾルバーを、 各仮想ネットワークのインスタンスに DHCP 経由で提供します。サブネットの作成時または更新時に、 DNS レゾルバーを設定できます。 DNS レゾルバーを複数設定する場合は、コンマを使って値を区切ります。

  • サブネット作成時に DNS レゾルバーを設定します。

    $ neutron subnet-create --dns-nameserver DNS_RESOLVER
    

    DNS_RESOLVER は仮想ネットワークから到達可能な DNS レゾルバーの IP アドレスで置き換えてください。例:

    $ neutron subnet-create --dns-nameserver 8.8.8.8,8.8.4.4
    

    注釈

    このコマンドには、ここで議論している以外のオプションも指定する必要があります。

  • 既存のサブネットの DNS レゾルバーを設定します。

    $ neutron subnet-update --dns-nameserver DNS_RESOLVER SUBNET_ID_OR_NAME
    

    DNS_RESOLVER は仮想ネットワークから到達可能な DNS レゾルバーの IP アドレスで、 SUBNET_ID_OR_NAME はサブネットの UUID か名前で置き換えてください。例えば、 selfservice サブネットを使用する場合:

    $ neutron subnet-update --dns-nameserver 8.8.8.8,8.8.4.4 selfservice
    

ケース 2: すべての仮想ネットワークが同じ DNS レゾルバーを使用する場合

この場合、 DHCP エージェントは、同じ DNS レゾルバーを、すべての仮想ネットワークのインスタンスに DHCP 経由で提供します。

  • dhcp_agent.ini ファイルで、 DNS レゾルバーを設定します。複数の DNS レゾルバーを設定する場合は、コンマを使って値を区切ります。

    [DEFAULT]
    dnsmasq_dns_servers = DNS_RESOLVER
    

    DNS_RESOLVER は、すべての仮想ネットワークから到達可能な DNS レゾルバーの IP アドレスで置き換えてください。例:

    [DEFAULT]
    dnsmasq_dns_servers = 8.8.8.8, 8.8.4.4
    

    注釈

    すべての有効な DHCP エージェントでこのオプションを設定し、値を反映するためにエージェントを再起動する必要があります。

ケース 3: すべての仮想ネットワークがホストの DNS レゾルバーを使用する場合

この場合、 DHCP エージェントは、 DHCP エージェントが動作しているホストの resolv.conf ファイルに書かれた DNS レゾルバーを、 DHCP 経由ですべての仮想ネットワークのインスタンスに提供します。

  • dhcp_agent.ini ファイルで、ホストの DNS レゾルバーを広告するようにします。

    [DEFAULT]
    dnsmasq_local_resolv = True
    

    注釈

    すべての有効な DHCP エージェントでこのオプションを設定し、値を反映するためにエージェントを再起動する必要があります。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.