4.4. 外部 IdM DNS を使用した Capsule Server の設定
Satellite Server がホストの DNS レコードを追加する時には、まずどの Capsule が対象のドメインに DNS を提供しているかを判断します。次に、デプロイメントに使用する DNS サービスを提供するように設定された Capsule と通信し、レコードを追加します。ホストはこのプロセスには関与しません。そのため、IdM サーバーを使用して管理するドメインに DNS サービスを提供するように設定された Satellite または Capsule に IdM クライアントをインストールし、設定する必要があります。
Capsule Server は、 Red Hat Identity Management (IdM) サーバーを使って DNS サービスを提供するように設定できます。Red Hat Identity Management の詳細は、Linux Domain Identity, Authentication, and Policy Guide を参照してください。
Red Hat Identity Management (IdM) サーバーを使用して DNS サービスを提供するように Capsule Server を設定するには、以下の手順のいずれかを使用します。
内部 DNS サービスに戻すには、次の手順を使用します。
DNS の管理に、Capsule Server を使用する必要はありません。Satellite のレルム登録機能を使用しており、プロビジョニングされたホストが自動的に IdM に登録されている場合は、ipa-client-install
スクリプトでクライアント用に DNS レコードが作成されます。外部の IdM DNS とレルム登録を同時に使用して、Capsule Server を設定することはできません。レルム登録の設定に関する詳細は Red Hat Satellite の管理 の プロビジョンされたホストの外部認証 を参照してください。
4.4.1. GSS-TSIG 認証を使用した動的 DNS 更新の設定
RFC3645 で定義されている秘密鍵トランザクション (GSS-TSIG) 技術の一般的なセキュリティーサービスアルゴリズムを使用するように IdM サーバーを設定できます。IdM サーバーが GSS-TSIG 技術を使用するように設定するには、Capsule Server のベースオペレーティングシステムに IdM クライアントをインストールする必要があります。
前提条件
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されている。詳細は Linux Domain Identity, Authentication, and Policy Guide の Port Requirements を参照してください。
- IdM サーバーの管理者に問い合わせて、IdM サーバーでゾーンを作成するパーミッションが割り当てられた、IdM サーバーのアカウントを取得する。
- デプロイメントに DNS サービスを提供するように Satellite Server または Capsule Server が設定されていることを確認する。
- デプロイメントの DNS サービスを管理する Satellite または Capsule のいずれかのベースオペレーティングシステムで DNS 、DHCP および TFTP サービスを設定する必要がある。
- 応答ファイルのバックアップを作成しておく。応答ファイルが破損した場合に、元の状態に戻せるように、バックアップを使用できます。詳細は、Satellite Server の設定 を参照してください。
手順
GSS-TSIG 認証で動的 DNS 更新を設定するには、以下の手順を実行します。
IdM サーバーでの Kerberos プリンシパルの作成
IdM 管理者から取得したアカウントの Kerberos チケットを取得します。
# kinit idm_user
IdM サーバーでの認証に使用する Capsule Server 用の新規 Kerberos プリンシパルを作成します。
# ipa service-add capsule.example.com
IdM クライアントのインストールおよび設定
デプロイメントの DNS サービスを管理する Satellite または Capsule のベースオペレーティングシステムで
ipa-client
パッケージをインストールします。# satellite-maintain packages install ipa-client
インストールスクリプトとそれに続くプロンプトを実行して、IdM クライアントを設定します。
# ipa-client-install
Kerberos チケットを取得します。
# kinit admin
既存の
keytab
を削除します。# rm /etc/foreman-proxy/dns.keytab
このシステムの
keytab
を取得します。# ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \ -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
注記サービス中の元のシステムと同じホスト名を持つスタンバイシステムに keytab を追加する際には、
r
オプションを追加します。これにより、新規の認証情報が生成されることを防ぎ、元のシステムの認証情報が無効になります。dns.keytab
ファイルのグループと所有者をforeman-proxy
に設定します。# chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
オプション:
keytab
ファイルが有効であることを確認するには、以下のコマンドを入力します。# kinit -kt /etc/foreman-proxy/dns.keytab \ capsule/satellite.example.com@EXAMPLE.COM
IdM Web UI での DNS ゾーンの設定
管理するゾーンを作成して、設定します。
- Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
-
追加 を選択し、ゾーン名を入力します。(例:
example.com
) - Add and Edit をクリックします。
設定タブをクリックして BIND 更新ポリシー ボックスで、以下のようにセミコロン区切りのエントリーを追加します。
grant capsule/047satellite.example.com@EXAMPLE.COM wildcard * ANY;
- Dynamic update を True に設定します。
- Allow PTR sync を有効にします。
- 送信 をクリックして、変更を保存します。
逆引きゾーンを作成して設定します。
- Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
- Add をクリックします。
- Reverse zone IP network を選択して、CIDR 形式でネットワークアドレスを追加し、逆引き参照を有効にします。
- Add and Edit をクリックします。
設定 タブの BIND 更新ポリシー ボックスで、以下のようにセミコロン区切りのエントリーを追加します。
grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
- Dynamic update を True に設定します。
- 送信 をクリックして、変更を保存します。
ドメインの DNS サービスを管理する Satellite または Capsule Server の設定
satellite-installer
コマンドを使用して、ドメインの DNS サービスを管理するように Satellite または Capsule を設定します。Satellite で以下のコマンドを入力します。
satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate_gss \ --foreman-proxy-dns-server="idm1.example.com" \ --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
Capsule で、以下のコマンドを実行します。
satellite-installer --scenario capsule \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate_gss \ --foreman-proxy-dns-server="idm1.example.com" \ --foreman-proxy-dns-tsig-principal="capsule/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab \ --foreman-proxy-dns-reverse="55.168.192.in-addr.arpa" \ --foreman-proxy-dns-zone=example.com \ --foreman-proxy-dns-ttl=86400
Satellite または Capsule のプロキシーサービスを再起動します。
# systemctl restart foreman-proxy
satellite-installer
コマンドを実行して Capsule 設定に変更を加えた後に、Satellite Web UI で変更のある Capsule ごとに設定を更新する必要があります。
Satellite Web UI での設定更新
- インフラストラクチャー > Capsules に移動し、Capsule Server の場所を特定して、Actions コラムの一覧から、Refresh を選択します。
ドメインを設定します。
- インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
- ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
サブネットを設定します。
- インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を None に設定します。
- ドメイン タブで、IdM サーバーを使用して管理するドメインを選択します。
- Capsules タブで、Reverse DNS Capsule が、サブネットが接続されている Capsule に設定されていることを確認します。
- 送信 をクリックして変更を保存します。
4.4.2. TSIG 認証を使用した動的 DNS 更新の設定
IdM サーバーが DNS (TSIG) テクノロジーの秘密鍵トランザクション認証を使用するように設定できます。このテクノロジーは、認証に rndc.key
キーファイルを使用します。TSIG プロトコルについては RFC2845 に定義されています。
前提条件
- IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されている。詳細は Linux Domain Identity, Authentication, and Policy Guide の Port Requirements を参照してください。
-
IdM サーバーで
root
権限を取得する必要があります。 - デプロイメントに DNS サービスを提供するように Satellite Server または Capsule Server が設定されていることを確認する。
- デプロイメントの DNS サービスを管理する Satellite または Capsule のいずれかのベースオペレーティングシステムで DNS 、DHCP および TFTP サービスを設定する必要がある。
- 応答ファイルのバックアップを作成しておく。応答ファイルが破損した場合に、元の状態に戻せるように、バックアップを使用できます。詳細は、Satellite Server の設定 を参照してください。
手順
TSIG 認証で動的 DNS 更新を設定するには、以下の手順を実行します。
IdM サーバーの DNS ゾーンに対する外部更新の有効化
IdM サーバーで、以下の内容を
/etc/named.conf
ファイルの先頭に追加します。######################################################################## include "/etc/rndc.key"; controls { inet _IdM_Server_IP_Address_ port 953 allow { _Satellite_IP_Address_; } keys { "rndc-key"; }; }; ########################################################################
named
サービスをリロードして、変更を有効にします。# systemctl reload named
IdM Web UI で、ネットワークサービス > DNS > DNS ゾーン に移動して、ゾーンの名前をクリックします。設定 タブで、以下の変更を適用します。
BIND update policy (BIND 更新ポリシー)
ボックスで以下の内容を追加します。grant "rndc-key" zonesub ANY;
- Dynamic update を True に設定します。
- 更新 をクリックして変更を保存します。
IdM サーバーから Satellite Server のベースオペレーティングシステムに
/etc/rndc.key
ファイルをコピーします。以下のコマンドを入力します。# scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
rndc.key
ファイルに適切な所有者、パーミッション、SELinux コンテキストを設定するには、以下のコマンドを入力します。# restorecon -v /etc/rndc.key # chown -v root:named /etc/rndc.key # chmod -v 640 /etc/rndc.key
foreman-proxy
ユーザーは、手動でnamed
グループに割り当てます。通常、satellite-installer はforeman-proxy
ユーザーがnamed
UNIX グループに所属させますが、今回のシナリオでは、Satellite でユーザーとグループを管理していないので、foreman-proxy
ユーザーをnamed
グループに手作業で割り当てる必要があります。# usermod -a -G named foreman-proxy
Satellite Server で以下の
satellite-installer
コマンドを入力して、Satellite が外部の DNS サーバーを使用するように設定します。# satellite-installer --scenario satellite \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=false \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="IdM_Server_IP_Address" \ --foreman-proxy-keyfile=/etc/rndc.key \ --foreman-proxy-dns-ttl=86400
IdM サーバーの DNS ゾーンに対する外部更新のテスト
Satellite Server 上の
/etc/rndc.key
ファイルのキーが IdM サーバーで使用されているキーファイルと同じであることを確認します。key "rndc-key" { algorithm hmac-md5; secret "secret-key=="; };
Satellite Server で、ホストのテスト DNS エントリーを作成します。(例:
192.168.25.1
の IdM サーバーに、192.168.25.20
の A レコードを指定したtest.example.com
ホストなど)# echo -e "server 192.168.25.1\n \ update add test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
Satellite Server で、DNS エントリーをテストします。
# nslookup test.example.com 192.168.25.1 Server: 192.168.25.1 Address: 192.168.25.1#53 Name: test.example.com Address: 192.168.25.20
- IdM Web UI でエントリーを参照するために、Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。ゾーンの名前をクリックし、名前でホストを検索します。
正常に解決されたら、テスト DNS エントリーを削除します。
# echo -e "server 192.168.25.1\n \ update delete test.example.com 3600 IN A 192.168.25.20\n \ send\n" | nsupdate -k /etc/rndc.key
DNS エントリーが削除されたことを確認します。
# nslookup test.example.com 192.168.25.1
レコードが正常に削除されている場合は、上記の
nslookup
コマンドが失敗し、SERVFAIL
エラーメッセージを返します。
4.4.3. 内部 DNS サービス使用への復元
Satellite Server および Capsule Server を DNS プロバイダーとして使用するように戻すことができます。外部の DNS を設定する前に作成した応答ファイルのバックアップを使用するか、応答ファイルのバックアップを作成します。アンサーファイルに関する詳細は、Satellite Server の設定 を参照してください。
手順
ドメインの DNS サーバーを管理するように設定する Satellite または Capsule Server で、以下の手順を実行します。
DNS サーバーとしての Satellite または Capsule の設定
外部の DNS を設定する前に応答ファイルのバックアップを作成済みの場合には、応答ファイルを復元して、
satellite-installer
コマンドを入力します。# satellite-installer
応答ファイルの適切なバックアップがない場合には、ここで応答ファイルのバックアップを作成します。応答ファイルを使用せずに Satellite または Capsule を DNS サーバーとして設定するには、Satellite と影響のある各 Capsule で、以下の
satellite-installer
コマンドを入力します。# satellite-installer \ --foreman-proxy-dns=true \ --foreman-proxy-dns-managed=true \ --foreman-proxy-dns-provider=nsupdate \ --foreman-proxy-dns-server="127.0.0.1" \ --foreman-proxy-dns-tsig-principal="foremanproxy/satellite.example.com@EXAMPLE.COM" \ --foreman-proxy-dns-tsig-keytab=/etc/foreman-proxy/dns.keytab
詳細は、Capsule Server での DNS、DHCP、および TFTP の設定 を参照してください。
satellite-installer
コマンドを実行して Capsule 設定に変更を加えた後に、Satellite Web UI で変更のある Capsule ごとに設定を更新する必要があります。
Satellite Web UI での設定更新
- インフラストラクチャー > Capsules に移動します。
- 更新する各 Capsule で、アクション リストから リフレッシュ を選択します。
ドメインを設定します。
- インフラストラクチャー > ドメイン に移動して、設定するドメイン名をクリックします。
- ドメイン タブで、DNS Capsule を、サブネットの接続先の Capsule に設定します。
サブネットを設定します。
- インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
- サブネット タブで、IPAM を DHCP または Internal DB に設定します。
- ドメイン タブで、Satellite または Capsule で管理するドメインを選択します。
- Capsules タブで、Reverse DNS Capsule を、サブネットの接続先の Capsule に設定します。
- 送信 をクリックして変更を保存します。