Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

33.9. DNS の場所

33.9.1. DNS ベースのサービス検出

DNS ベースのサービス検出は、クライアントが DNS プロトコルを使用するプロセスで、LDAPKerberos など、特定のサービスを提供するネットワークでサーバーを見つけ出します。一般的な操作の 1 つとして、クライアントが最寄りのネットワークインフラストラクチャー内にある認証サーバーを特定できるようにすることが挙げられます。理由は、スループットが向上してネットワークレイテンシーが短縮されるので全体的なコスト削減を図ることができるためです。
サービス検出の主な利点は以下のとおりです。
  • 近くにあるサーバーの名前を明示的に設定する必要がない。
  • DNS サーバーをポリシーの中央プロバイダーとして使用する。同じ DNS サーバーを使用するクライアントは、サービスプロバイダーと優先順序に関する同じポリシーにアクセスできます。
IdM ドメインでは、LDAP、Kerberos、およびその他のサービスの DNS サービスレコード (SRV レコード) が存在します。たとえば、次のコマンドは、IdM DNS ドメインで TCP ベースの Kerberos サービスを提供するホストの DNS サーバーをクエリーします。

例33.10 DNS の場所に関する独立した結果

$ dig -t SRV +short _kerberos._tcp.idm.example.com
0 100 88 idmserver-01.idm.example.com.
0 100 88 idmserver-02.idm.example.com.
出力には、以下の情報が含まれます。
  • 0 (優先度): ターゲットホストの優先度。値が小さいほど優先度が高くなります。
  • 100 (加重)。優先順位が同じエントリーの相対的な重みを指定します。詳細は RFC 2782, section 3 を参照してください。
  • 88 (ポート番号): サービスのポート番号
  • サービスを提供するホストの正規名。
上記の例では、2 つのホスト名が返され、どちらも同じ優先順位と重みでした。この場合には、クライアントは結果リストから無作為にエントリーを使用します。
代わりに、クライアントが、DNS の場所に設定された DNS サーバーをクエリーすると、出力が異なります。場所が割り当てられた IdM サーバーの場合は、カスタマイズした値が返されます。以下の例では、クライアントは場所 germany の DNS サーバーをクエリーします。

例33.11 DNS の場所ベースの結果

$ dig -t SRV +short _kerberos._tcp.idm.example.com
_kerberos._tcp.germany._locations.idm.example.com.
0 100 88 idmserver-01.idm.example.com.
50 100 88 idmserver-02.idm.example.com.
IdM DNS サーバーは、ローカルサーバーを優先する DNS の場所固有の SRV レコードを参照する DNS エイリアス (CNAME) を自動的に返します。この CNAME レコードは、出力の最初の行に表示されます。上記の例では、idmserver-01.idm.example.com ホストの優先度の値が最も小さいため、優先順位が高くなります。idmserver-02.idm.example.com の優先度の値が高く、推奨されるホストが使用できない場合にバックアップとしてのみ使用されます。

33.9.2. DNS の場所のデプロイに関する考慮事項

プライマリー IdM DNS ドメインに対して権威を持つ IdM DNS サーバーの場合には、IdM は場所固有の SRV レコードを生成できます。各 IdM DNS サーバーはロケーション固有の SRV レコードを生成するため、DNS の場所ごとに 1 つ以上の IdM DNS サーバーをインストールする必要があります。
クライアントの DNS の場所に対するアフィニティーは、クライアントが受け取った DNS レコードでのみ定義されます。そのため、DNS のサービス検出を行うクライアントが、IdM DNS サーバーからの場所固有のレコードを解決した場合には、IdM DNS サーバーと IdM 以外の DNS スレーブサーバーと recursor を組み合わせることができます。
IdM サービスおよび IdM DNS サービス以外のほとんどのデプロイメントでは、DNS recursor はラウンドトリップタイム (RTT) メトリックを使用して、最寄りの IdM DNS サーバーを自動的に選択します。通常、IdM DNS サーバーを使用するクライアントが、最寄りの DNS の場所のレコードを取得し、最寄りの DNS サーバーの最適なセットを使用するようになります。

33.9.2.1. DNS の Time to live (TTL)

クライアントは、ゾーンの設定に指定された期間の DNS リソースレコードをキャッシュできます。このキャッシュにより、クライアントは Time to Live (TTL) 値の有効期限が切れるまで変更を受け取れない場合があります。IdM におけるデフォルトの TTL 値は 1 day です。
クライアントコンピューターがサイト間でローミングする場合には、IdM DNS ゾーンの TTL 値を調整する必要があります。この値は、クライアントがサイト間のローミングに必要とする時間よりも低い値に設定します。これにより、別のサイトに再接続する前にクライアントでキャッシュされた DNS エントリーが期限切れになり、DNS サーバーに対してクエリーを実行し、場所固有の SRV レコードを更新します。
DNS ゾーンのデフォルトの TTL を変更する方法は、「マスター DNS ゾーンの他の設定の追加」 を参照してください。

33.9.3. DNS の場所の作成

Web UI での DNS 場所の作成

  1. IPA Server タブを開き、Topology サブタブを選択します。
  2. ナビゲーションバーの IPA の場所 をクリックします。
  3. ロケーションリストの上部にある 追加 をクリックします。
  4. ロケーション名を入力します。
  5. 追加 ボタンをクリックして場所を保存します。
追加する場所についても手順を繰り返します。

コマンドラインでの DNS の場所の作成

たとえば、新しい場所 germany を作成するには、以下を入力します。
[root@server ~]# ipa location-add germany
----------------------------
Added IPA location "germany"
----------------------------
  Location name: germany
追加するすべての場所でこの手順を繰り返します。

33.9.4. DNS の場所への IdM サーバーの割り当て

Web UI での DNS の場所への IdM サーバーの割り当て

  1. IPA Server タブを開き、Topology サブタブを選択します。
  2. ナビゲーションにある IPA Servers をクリックします。
  3. IdM サーバー名をクリックします。
  4. DNS の場所を選択し、必要に応じてサービスの加重を設定します。

    図33.34 DNS の場所へのサーバーの割り当て

    DNS の場所へのサーバーの割り当て
  5. Save をクリックします。
  6. 前の手順で DNS の場所を割り当てたホストで named-pkcs11 サービスを再起動します。
    [root@idmserver-01 ~]# systemctl restart named-pkcs11
DNS の場所を割り当てる追加の IdM サーバーに対して、この手順を繰り返します。

コマンドラインでの DNS の場所への IdM サーバーの割り当て

  1. オプション: 設定済みの DNS の場所をすべて表示します。
    [root@server ~]# ipa location-find
    -----------------------
    2 IPA locations matched
    -----------------------
    Location name: australia
    Location name: germany
    -----------------------------
    Number of entries returned: 2
    -----------------------------
  2. サーバーを DNS の場所に割り当てます。たとえば、場所 germanyidmserver-01.idm.example.com サーバーに割り当てるには、以下を実行します。
    [root@server ~]# ipa server-mod idmserver-01.idm.example.com --location=germany
    ipa: WARNING: Service named-pkcs11.service requires restart on IPA server
    idmserver-01.idm.example.com to apply configuration changes.
    --------------------------------------------------
    Modified IPA server "idmserver-01.idm.example.com"
    --------------------------------------------------
    Servername: idmserver-01.idm.example.com
    Min domain level: 0
    Max domain level: 1
    Location: germany
    Enabled server roles: DNS server, NTP server
  3. 前の手順で DNS の場所を割り当てたホストで named-pkcs11 サービスを再起動します。
    [root@idmserver-01 ~]# systemctl restart named-pkcs11
DNS の場所を割り当てる追加の IdM サーバーに対して、この手順を繰り返します。

33.9.5. IdM クライアントが同じ場所にある IdM サーバーを使用するように設定する手順

IdM サーバーは、「DNS の場所への IdM サーバーの割り当て」 の説明に従って DNS の場所に割り当てられます。これで、IdM サーバーと同じ場所にある DNS サーバーを使用するようにクライアントを設定できます。
  • DHCP サーバーが DNS サーバーの IP アドレスをクライアントに割り当てる場合は、DHCP サービスを設定します。DHCP サービスで DNS サーバーを割り当てる方法は、DHCP サービスのドキュメントを参照してください。
  • クライアントに DHCP サーバーから DNS サーバーの IP アドレスが割り当てられない場合は、クライアントのネットワーク設定で IP を手動で設定します。Red Hat Enterprise Linux でネットワークを設定する方法は、『Red Hat Enterprise Linux ネットワークガイド』のネットワー接続の設定セクションを参照してください。
注記
別のロケーションに割り当てられた DNS サーバーを使用するようにクライアントを設定すると、クライアントは両方の場所にある IdM サーバーに接続します。

例33.12 クライアントの場所により変化するネームサーバーエントリー

以下の例は、場所が異なるクライアントの /etc/resolv.conf ファイルにあるさまざまなネームサーバーエントリーを示しています。
プラハのクライアント:
nameserver 10.10.0.1
nameserver 10.10.0.2
パリのクライアント:
nameserver 10.50.0.1
nameserver 10.50.0.3
オスロのクライアント:
nameserver 10.30.0.1
ベルリンのクライアント:
nameserver 10.30.0.1
各 DNS サーバーが IdM の場所に割り当てられている場合に、クライアントはその場所にある IdM サーバーを使用します。