Red Hat Training

A Red Hat training course is available for Red Hat Linux

32.9. DNS の場所

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

DNS ベースのサービス検出は、LDAPKerberos といった特定のサービスを提供するネットワーク内でサーバーの場所を特定するためにクライアントが DNS プロトコル使用するプロセスです。よくあるタイプの操作では、一番近いネットワークインフラストラクチャー内でクライアントが認証サーバーを特定するというものがあります。この場合、より高いスループットが提供される一方でネットワーク遅延は短くなり、総コストも抑えられます。
サービス検出の主な利点は以下のとおりです。
  • クライアントを近くのサーバー名で明示的に設定する必要がない。
  • DNS サーバーがポリシーの集中プロバイダーとして使用される。同一の DNS サーバーを使用するクライアントは、サービスプロバイダーについての同じポリシーとその優先順位についてアクセスできるようになります。
IdM ドメイン内では、DNS サービスレコード (SRV レコード) は LDAP、Kerberos、および他のサービスに関して存在します。たとえば、、以下のコマンドは、IdM DNS ドメイン内で TCP ベースの Kerberos サービスを提供するホストについて DNS サーバーにクエリーを行います。

例32.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 サーバーにクエリーを行なっています。

例32.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 エイリアス (CNAME) を返します。これは、ローカルサーバーを優先する、DNS の場所に固有の SRV レコードをポイントします。この CNAME レコードは、出力の一行目に表示されます。上記の例では、ホスト idmserver-01.idm.example.com の優先順位の値が最も低いので、これが優先されます。idmserver-02.idm.example.com の優先順位の値は高いので、優先ホストが利用できない場合にのみ、バックアップとして使用されます。

32.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 は往復時間のメトリクスを使って、自動的に一番近い IdM DNS サーバーを選択します。通常、これによって非 IdM DNS サーバーを使用しているクライアントが一番近い DNS の場所のレコードを取得し、最適な IdM サーバーを使用することになります。

32.9.2.1. DNS 有効期間 (TTL)

クライアントは、ゾーン構成で設定された期間、DNS リソースレコードをキャッシュすることができます。このキャッシュのために、有効期間 (TTL) が過ぎるまで、クライアントが変更を受け取れない可能性があります。IdM の TTL のデフォルト値は 1 day です。
クライアントのコンピューターがサイト間でローミングする場合は、ご自分の IdM DNS ゾーン向けに TTL の値を調節してください。クライアントがサイト間でのローミングに必要な時間よりも低い値に設定します。こうすることで、クライアントが別のサイトに再接続して場所固有の SRV レコードをリフレッシュするように DNS サーバーにクエリーする前に、クライアント上でキャッシュされた DNS エントリーの有効期間が切れるようになります。
DNS ゾーンの TTL のデフォルト値を修正する方法については、「マスター DNS ゾーンの追加設定」 を参照してください。

32.9.3. DNS の場所の作成

Web UI での DNS の場所の作成

  1. IPA Server タブを開いてから、Topology サブタブを選択します。
  2. ナビゲーションバーで IPA Locations をクリックします。
  3. 場所一覧上部にある Add をクリックします。
  4. 場所の名前を入力します。
  5. Add をクリックして場所を保存します。
各場所ごとに上記のステップを繰り返します。

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

たとえば、新しい場所である germany を作成するには、以下を実行します。
[root@server ~]# ipa location-add germany
----------------------------
Added IPA location "germany"
----------------------------
  Location name: germany
各場所ごとに上記のコマンドを繰り返します。

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

Web UI から IdM サーバーを DNS の場所に割り当てる手順

  1. IPA Server タブを開いてから、Topology サブタブを選択します。
  2. ナビゲーションバーで IPA Servers をクリックします。
  3. IdM サーバー名をクリックします。
  4. DNS の場所を選択し、オプションでサービスの加重を設定します。
    DNS の場所へのサーバーの割り当て

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

  5. Save をクリックします。
  6. 上記のステップで DNS の場所を割り当てたホスト上で named-pkcs11 サービスを再起動します。
    [root@idmserver-01 ~]# systemctl restart named-pkcs11
DNS の場所を割り当てる IdM サーバーで上記のステップを繰り返します。

コマンドラインから IdM サーバーを DNS の場所に割り当てる手順

  1. オプション: 設定済み DNS の全場所を一覧表示します。
    [root@server ~]# ipa location-find
    -----------------------
    2 IPA locations matched
    -----------------------
    Location name: australia
    Location name: germany
    -----------------------------
    Number of entries returned: 2
    -----------------------------
  2. サーバーを DNS の場所に割り当てます。たとえば、germany にサーバー idmserver-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 サーバーで上記のステップを繰り返します。