Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第5章 外部サービスの設定

一部の環境には DNS、DHCP、および TFTP サービスがすでに存在するため、これらのサービスを提供するために Satellite Server を使用する必要はありません。DNS、DHCP、または TFTP を提供するために外部サーバーを使用する場合は、Satellite Server で使用するよう設定できます。

これらのサービスを手動で管理するために Satellite でサービスを無効にする場合は、「管理対象外ネットワークに対して DNS、DHCP、および TFTP の無効化」 を参照してください。

5.1. 外部 DNS を使用した Satellite の設定

DNS サービスを提供するために Satellite が外部サーバーを使用するよう設定できます。

  1. Red Hat Enterprise Linux Server をデプロイし、ISC DNS サービスをインストールします。

    # yum install bind bind-utils
  2. ドメインの設定ファイルを作成します。

    以下の例では、ドメイン virtual.lan を 1 つのサブネット 192.168.38.0/24 として設定し、capsule という名前のセキュリティーキーを設定して、フォワーダーを Google のパブリック DNS アドレス (8.8.8.8 および 8.8.4.4) に設定します。192.168.38.2 は DNS サーバーの IP アドレスで、192.168.38.1 は、Satellite Server または Capsule Server の IP アドレスになります。

    # cat /etc/named.conf
    include "/etc/rndc.key";
    
    controls  {
        inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "capsule"; };
        inet 192.168.38.2 port 953 allow { 192.168.38.1; 192.168.38.2; } keys { "capsule"; };
    };
    
    options  {
        directory "/var/named";
        forwarders { 8.8.8.8; 8.8.4.4; };
    };
    
    include "/etc/named.rfc1912.zones";
    
    zone "38.168.192.in-addr.arpa" IN {
        type master;
        file "dynamic/38.168.192-rev";
        update-policy {
            grant "capsule" zonesub ANY;
        };
    };
    
    zone "virtual.lan" IN {
        type master;
        file "dynamic/virtual.lan";
        update-policy {
            grant "capsule" zonesub ANY;
        };
    };

    設定ファイルの inet 行は、1 つの行として入力する必要があります。

  3. キーファイルを作成します。

    # ddns-confgen -k capsule

    このコマンドが完了するまで、しばらく時間がかかることがあります。

  4. キーセクションから出力をコピーし、/etc/rndc.key という名前の別のファイルに貼り付けます。

    # cat /etc/rndc.key
    key "capsule" {
            algorithm hmac-sha256;
            secret "GeBbgGoLedEAAwNQPtPh3zP56MJbkwM84UJDtaUS9mw=";
    };
    重要

    これは、DNS サーバー設定を変更するために使用するキーです。root ユーザーのみが読み書きできるようにする必要があります。

  5. ゾーンファイルを作成します。

    # cat /var/named/dynamic/virtual.lan
    $ORIGIN .
    $TTL 10800      ; 3 hours
    virtual.lan             IN SOA  service.virtual.lan. root.virtual.lan. (
                                    9          ; serial
                                    86400      ; refresh (1 day)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      service.virtual.lan.
    $ORIGIN virtual.lan.
    $TTL 86400      ; 1 day
    capsule                 A       192.168.38.1
    service                 A       192.168.38.2
  6. 逆引きゾーンファイルを作成します。

    # cat /var/named/dynamic/38.168.192-rev
    $ORIGIN .
    $TTL 10800      ; 3 hours
    38.168.192.in-addr.arpa IN SOA  service.virtual.lan. root.38.168.192.in-addr.arpa. (
                                    4          ; serial
                                    86400      ; refresh (1 day)
                                    3600       ; retry (1 hour)
                                    604800     ; expire (1 week)
                                    3600       ; minimum (1 hour)
                                    )
                            NS      service.virtual.lan.
    $ORIGIN 38.168.192.in-addr.arpa.
    $TTL 86400      ; 1 day
    1                PTR     capsule.virtual.lan.
    2                PTR     service.virtual.lan.

    ASCII 以外の他の文字は使用しないでください。

5.2. DNS サービスの開始と起動

  1. 構文を検証します。

    # named-checkconf -z /etc/named.conf
  2. サーバーを起動します。

    # systemctl restart named
  3. 新しいホストを追加します。

    以下のコマンドでは、ホストの例 192.168.38.2 を使用しています。この値は、ご使用の環境に合わせて変更してください。

    # echo -e "server 192.168.38.2\n \
    update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
  4. DNS サービスが新しいホストを解決できることを確認します。

    # nslookup aaa.virtual.lan 192.168.38.2
  5. 必要な場合は、新しいエントリーを削除します。

    # echo -e "server 192.168.38.2\n \
    update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
  6. DNS サービスへの外部アクセスのためにファイアウォールを設定します (ポート 53 上の UDP および TCP)。

    # firewall-cmd --add-port="53/udp" --add-port="53/tcp" \
    && firewall-cmd --permanent --add-port="53/udp" --add-port="53/tcp"

5.3. Capsule Server での外部 DNS の設定

  1. Red Hat Enterprise Linux Server で、ISC DNS サービスをインストールします。

    # yum install bind bind-utils

    nsupdate ユーティリティーがインストールされていることを確認します。Capsule は nsupdate ユーティリティーを使用してリモートサーバー上の DNS レコードを更新します。

  2. サービスサーバーの /etc/rndc.key ファイルを Capsule Server にコピーします。

    # scp localfile username@hostname:remotefile
  3. キーファイルに適切な所有者、パーミッション、および SELinux ラベルが設定されていることを確認します。

    # ls /etc/rndc.key -Zla
    -rw-r-----. root named system_u:object_r:dnssec_t:s0    /etc/rndc.key
  4. ホストをリモートで追加して nsupdate ユーティリティーをテストします。

    # echo -e "server 192.168.38.2\n \
    update add aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
    # nslookup aaa.virtual.lan 192.168.38.2
    # echo -e "server 192.168.38.2\n \
    update delete aaa.virtual.lan 3600 IN A 192.168.38.10\n \
    send\n" | nsupdate -k /etc/rndc.key
  5. satellite-installer スクリプトを実行して、以下の永続的な変更を /etc/foreman-proxy/settings.d/dns.yml ファイルに加えます。

    # satellite-installer --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="192.168.38.2" \
    --foreman-proxy-keyfile=/etc/rndc.key \
    --foreman-proxy-dns-ttl=86400
  6. foreman-proxy サービスを再起動します。

    # systemctl restart foreman-proxy
  7. Satellite Server Web インターフェースにログインします。
  8. インフラストラクチャー > Capsules に移動します。適切な Capsule Server を見つけ、アクション ドロップダウンリストから 更新 を選択します。この結果、DNS 機能が現れます。
  9. DNS サービスに適切なサブネットとドメインを関連付けます。

5.4. Satellite Server での外部 DHCP の設定

本セクションでは、 Red Hat Satellite Server が外部 DHCP サーバーをを使用する設定について説明します。

DHCP サーバーの設定、DHCP 設定およびリースファイルの共有

  1. Red Hat Enterprise Linux Server をデプロイし、ISC DHCP サービスおよび BIND (Berkeley Internet Name Domain) をインストールします。

    # yum install dhcp bind
  2. 空のディレクトリーでセキュリティートークンを生成します。

    # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key

    上記のコマンドが完了するまで、しばらく時間がかかることがあります。安全性が高くない概念実証のデプロイメントでは、非ブロック型乱数ジェネレーターを使用できます。

    # dnssec-keygen -r /dev/urandom -a HMAC-MD5 -b 512 -n HOST omapi_key

    これにより、キーペアが現行ディレクトリーに 2 つのファイルで作成されます。

  3. キーからシークレットハッシュをコピーします。

    # cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
  4. すべてのサブネットに対して dhcpd 設定ファイルを編集し、キーを追加します。例を示します。

    # cat /etc/dhcp/dhcpd.conf
    default-lease-time 604800;
    max-lease-time 2592000;
    log-facility local7;
    
    subnet 192.168.38.0 netmask 255.255.255.0 {
    	range 192.168.38.10 192.168.38.100;
    	option routers 192.168.38.1;
    	option subnet-mask 255.255.255.0;
    	option domain-search "virtual.lan";
    	option domain-name "virtual.lan";
    	option domain-name-servers 8.8.8.8;
    }
    
    omapi-port 7911;
    key omapi_key {
    	algorithm HMAC-MD5;
    	secret "jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw==";
    };
    omapi-key omapi_key;
  5. 2 つのキーファイルを、それらを作成したディレクトリーから削除します。
  6. Satellite Server で各サブネットを定義します。

    競合を回避するために、リース範囲と予約範囲は別々に設定することが推奨されます。たとえば、リース範囲を 192.168.38.10 から 192.168.38.100 とし、予約範囲 (Satellite Web UI で定義済み) を 192.168.38.101 から 192.168.38.250 とします。ここでは、定義されたサブネットに DHCP Capsule を設定しないでください。

  7. ファイアウォールで DHCP サーバーへの外部アクセスを設定します。

    # firewall-cmd --add-service dhcp \
    && firewall-cmd --permanent --add-service dhcp
  8. Capsule Server の foreman ユーザーの UID 番号と GID 番号を確認します。

    # id -u foreman
    993
    # id -g foreman
    990
  9. ユーザー ID とグループ ID が同じユーザーとグループを、DHCP サーバーに作成します。

    # groupadd -g 990 foreman
    # useradd -u 993 -g 990 -s /sbin/nologin foreman
  10. 設定ファイルを読み取り可能にするために、読み取りおよび実行フラグを復元します。

    # chmod o+rx /etc/dhcp/
    # chmod o+r /etc/dhcp/dhcpd.conf
    # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
  11. DHCP サービスを起動します。

    # systemctl start dhcpd
  12. NFS を使用して DHCP 設定およびリースファイルをエクスポートします。

    # yum install nfs-utils
    # systemctl enable rpcbind nfs-server
    # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
  13. NFS を使用して、エクスポートする DHCP 設定およびリースファイルを作成します。

    # mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
  14. /etc/fstab ファイルに以下の行を追加して、新規作成ディレクトリー用にマウントポイントを作成します。

    /var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0
    /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
  15. /etc/fstab のファイルシステムをマウントします。

    # mount -a
  16. /etc/exports に以下の行が存在することを確認します。

    /exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
    
    /exports/etc/dhcp 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
    
    /exports/var/lib/dhcpd 192.168.38.1(ro,async,no_root_squash,no_subtree_check,nohide)
  17. NFS サーバーをリロードします。

    # exportfs -rva
  18. ファイアウォールで Satellite Server 向けの DHCP omapi ポート 7911 を設定します。

    # firewall-cmd --add-port="7911/tcp" \
    && firewall-cmd --permanent --add-port="7911/tcp"
  19. 必要な場合は、ファイアウォールで NFS への外部アクセスを設定します。

    クライアントは NFSv3 を使用して設定されます。

    • firewalld デーモンの NFS サービスを使用してファイアウォールを設定します。

      # firewall-cmd --zone public --add-service mountd \
      && firewall-cmd --zone public --add-service rpc-bind \
      && firewall-cmd --zone public --add-service nfs \
      && firewall-cmd --permanent --zone public --add-service mountd \
      && firewall-cmd --permanent --zone public --add-service rpc-bind \
      && firewall-cmd --permanent --zone public --add-service nfs

Satellite Server の設定

  1. NFS クライアントをインストールします。

    # yum install nfs-utils
  2. NFS 用の DHCP ディレクトリーを作成します。

    # mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
  3. ファイルの所有者を変更します。

    # chown -R foreman-proxy /mnt/nfs
  4. NFS サーバーとの通信と RPC 通信パスを検証します。

    # showmount -e your_DHCP_server_FQDN
    # rpcinfo -p your_DHCP_server_FQDN
  5. /etc/fstab ファイルに以下の行を追加します。

    your_DHCP_server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
    
    your_DHCP_server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
  6. /etc/fstab 上のファイルシステムをマウントします。

    # mount -a
  7. 関連するファイルを読み取ります。

    # su foreman-proxy -s /bin/bash
    bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf
    bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases
    bash-4.2$ exit
  8. satellite-installer スクリプトを実行して、以下の永続的な変更を /etc/foreman-proxy/settings.d/dhcp.yml ファイルに加えます。

    # satellite-installer --foreman-proxy-dhcp=true \
    --foreman-proxy-dhcp-provider=remote_isc \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \
    --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \
    --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \
    --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \
    --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \
    --enable-foreman-proxy-plugin-dhcp-remote-isc \
    --foreman-proxy-dhcp-server=your_DHCP_server_FQDN
  9. foreman-proxy サービスを再起動します。

    # systemctl restart foreman-proxy
  10. Satellite Server Web インターフェースにログインします。
  11. インフラストラクチャー > Capsules に移動します。適切な Capsule Server を見つけ、アクション ドロップダウンリストから 更新 を選択します。この結果、DHCP 機能が現れます。
  12. DHCP サービスに適切なサブネットとドメインを関連付けます。

5.5. Capsule Server での外部 DHCP の設定

本セクションでは、 Red Hat Satellite Capsule Server が外部 DHCP サーバーを使用する設定について説明します。

前提条件

  • DHCP サーバーが設定済みで、DHCP 設定とリースファイルが NFS 経由で共有されています。詳細は「Satellite Server での外部 DHCP の設定」を参照してください。

    1. NFS クライアントをインストールします。

      # yum install nfs-utils
    2. NFS 用の DHCP ディレクトリーを作成します。

      # mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
    3. ファイルの所有者を変更します。

      # chown -R foreman-proxy /mnt/nfs
    4. NFS サーバーとの通信と RPC 通信パスを検証します。

      # showmount -e your_DHCP_server_FQDN
      # rpcinfo -p your_DHCP_server_FQDN
    5. /etc/fstab ファイルに以下の行を追加します。

      your_DHCP_server_FQDN:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs
      ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
      
      your_DHCP_server_FQDN:/exports/var/lib/dhcpd /mnt/nfs/var/lib/dhcpd nfs
      ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcpd_state_t:s0" 0 0
    6. /etc/fstab 上のファイルシステムをマウントします。

      # mount -a
    7. 関連するファイルを読み取ります。

      # su foreman-proxy -s /bin/bash
      bash-4.2$ cat /mnt/nfs/etc/dhcp/dhcpd.conf
      bash-4.2$ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases
      bash-4.2$ exit
    8. satellite-installer スクリプトを実行して、以下の永続的な変更を /etc/foreman-proxy/settings.d/dhcp.yml ファイルに加えます。

      # satellite-installer --foreman-proxy-dhcp=true \
      --foreman-proxy-dhcp-provider=remote_isc \
      --foreman-proxy-plugin-dhcp-remote-isc-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf \
      --foreman-proxy-plugin-dhcp-remote-isc-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases \
      --foreman-proxy-plugin-dhcp-remote-isc-key-name=omapi_key \
      --foreman-proxy-plugin-dhcp-remote-isc-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw== \
      --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911 \
      --enable-foreman-proxy-plugin-dhcp-remote-isc \
      --foreman-proxy-dhcp-server=your_DHCP_server_FQDN
    9. foreman-proxy サービスを再起動します。

      # systemctl restart foreman-proxy
    10. Satellite Server Web インターフェースにログインします。
    11. インフラストラクチャー > Capsules に移動します。適切な Capsule Server を見つけ、アクション ドロップダウンリストから 更新 を選択します。この結果、DHCP 機能が現れます。
    12. DHCP サービスに適切なサブネットとドメインを関連付けます。

5.6. Satellite Server での外部 TFTP の設定

作業開始前の準備

Satellite Server での外部 TFTP の設定

  1. TFTP サーバーをインストールし、有効にします。

    # yum install tftp-server syslinux
  2. tftp.socket ユニットを有効にし、アクティベートします。

    # systemctl enable tftp.socket
    # systemctl start tftp.socket
  3. PXELinux 環境を設定します。

    # mkdir -p /var/lib/tftpboot/{boot,pxelinux.cfg}
    # cp /usr/share/syslinux/{pxelinux.0,menu.c32,chain.c32} \
    /var/lib/tftpboot/
  4. SELinux ファイルコンテキストを復元します。

    # restorecon -RvF /var/lib/tftpboot/
  5. NFS を使用してエクスポートする TFTP ディレクトリーを作成します。

    # mkdir -p /exports/var/lib/tftpboot
  6. 新しく作成されたマウントポイントを /etc/fstab ファイルに追加します。

    /var/lib/tftpboot /exports/var/lib/tftpboot none bind,auto 0 0
  7. /etc/fstab のファイルシステムをマウントします。

    # mount -a
  8. /etc/exports に以下の行があることを確認します。

    /exports 192.168.38.1(rw,async,no_root_squash,fsid=0,no_subtree_check)
    /exports/var/lib/tftpboot 192.168.38.1(rw,async,no_root_squash,no_subtree_check,nohide)

    最初の行は DHCP 設定に共通で、このシステムで以前の手順を完了すると作成されます。

  9. NFS サーバーをリロードします。

    # exportfs -rva

5.6.1. ファイアウォールでの TFTP への外部アクセスの設定

  1. ファイアウォールを設定します (ポート 69 上の UDP)。

    # firewall-cmd --add-port="69/udp" \
    && firewall-cmd --permanent --add-port="69/udp"

5.7. Capsule Server での外部 TFTP の設定

  1. NFS を準備するために TFTP ディレクトリーを作成します。

    # mkdir -p /mnt/nfs/var/lib/tftpboot
  2. /etc/fstab ファイルで以下の行を追加します。

    192.168.38.2:/exports/var/lib/tftpboot /mnt/nfs/var/lib/tftpboot nfs rw,vers=3,auto,nosharecache,context="system_u:object_r:tftpdir_rw_t:s0" 0 0
  3. /etc/fstab のファイルシステムをマウントします。

    # mount -a
  4. satellite-installer スクリプトを実行して、以下の永続的な変更を /etc/foreman-proxy/settings.d/tftp.yml ファイルに加えます。

    # satellite-installer --foreman-proxy-tftp=true \
    --foreman-proxy-tftp-root /mnt/nfs/var/lib/tftpboot
  5. DHCP サービスとは異なるサーバーで TFTP サービスを実行している場合は、tftp_servername 設定をそのサーバーの FQDN または IP アドレスで更新します。

    # satellite-installer --foreman-proxy-tftp-servername=new_FQDN

    この結果、すべての設定ファイルが新しい値で更新されます。

  6. Satellite Server Web インターフェースにログインします。
  7. インフラストラクチャー > Capsules に移動します。適切な Capsule Server を見つけ、アクション ドロップダウンリストから 更新 を選択します。この結果、TFTP 機能が現れます。
  8. TFTP サービスに適切なサブネットとドメインを関連付けます。

5.8. Satellite での外部 IdM DNS の設定

Red Hat Satellite は、 Red Hat Identity Management (IdM) サーバーを使って DNS サービスを提供するように設定できます。これには 2 つ方法があり、その両方でトランザクションキーを使用します。Red Hat Identity Management の詳細は『Linux ドメイン ID、認証、およびポリシーガイド』を参照してください。

1 つ目の方法では、RFC3645 で定義された generic security service algorithm for secret key transaction (GSS-TSIG) 技術を使用してプロセスを自動化する IdM クライアントをインストールします。この方法では、Satellite Server か Capsule のベースシステムに IdM クライアントをインストールし、Satellite 管理者が使用するアカウントを IdM サーバーの管理者が作成する必要があります。詳細は「GSS-TSIG 認証を使用した動的 DNS 更新の設定」を参照してください。

2 つ目の方法である secret key transaction authentication for DNS (TSIG) では、認証に rndc.key を使用します。root 権限で IdM サーバーにアクセスして BIND 設定ファイルを編集する必要があります。Satellite Server に BIND ユーティリティーをインストールし、システム間で rndc.key をコピーします。この技術は、RFC2845 で定義されています。詳細は「TSIG 認証を使用した動的 DNS 更新の設定」を参照してください。

注記

DNS の管理には、Satellite を使用する必要はありません。Satellite のレルム登録機能を使用していて、プロビジョニングされたホストが自動的に IdM に登録されている場合は、ipa-client-install スクリプトでクライアント用に DNS レコードが作成されます。このため、以下の手順とレルム登録は、相互排除的になります。レルム登録の詳細は『Red Hat Satellite の管理』「プロビジョンされたホストの外部認証」 を参照してください。

IdM クライアントのインストール先

Satellite Server がホスト用に DNS レコードを追加する際には、まずどの Capsule がそのドメインの DNS を提供しているかを判断します。その後に Capsule と通信し、レコードを追加します。ホスト自体はこのプロセスに関与していません。つまり、IdM クライアントをインストールして設定する Satellite または Capsule は、IdM サーバーを使って管理するドメインに DNS サービスを提供するように現在設定されているものにすべきということになります。

5.8.1. GSS-TSIG 認証を使用した動的 DNS 更新の設定

この例では、Satellite Server の設定は以下のようになります。

ホスト名

satellite.example.com

ネットワーク

192.168.55.0/24

IdM サーバーの設定は以下のようになります。

ホスト名

idm1.example.com

ドメイン名

example.com

作業開始前の準備

  1. IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されていることを確認します。詳細は『Linux ドメイン ID、認証、およびポリシーガイド』「ポート要件」を参照してください。
  2. IdM サーバーに、IdM サーバーにゾーンを作成するパーミッションのあるアカウントを作成します。
  3. Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
  4. Satellite または外部 Capsule が正常に機能していることを確認します。
  5. 新たにインストールしたシステムの場合は、まず本ガイドにあるインストール手順を完了させます。特に、DNS と DHCP の設定は完了させてください。
  6. 変更を元に戻す場合に備えて、応答ファイルのバックアップを作成します。詳細は「インストールオプションの指定」を参照してください。

IdM サーバー上で Kerberos プリンシパルの作成

  1. Kerberos チケットがあることを確認します。

    # kinit idm_user

    ここでの idm_user は、IdM 管理者が作成したアカウントになります。

  2. IdM サーバーに認証する際に使用する Satellite または Capsule 用の新規 Kerberos プリンシパルを作成します。

    # ipa service-add capsule/satellite.example.com

IdM クライアントのインストールと設定

以下の手順は、ドメインの DNS サービスを管理している Satellite または Capsule サーバーで行います。

  1. IdM クライアントパッケージをインストールします。

    # yum install ipa-client
  2. インストールスクリプトとそれに続くプロンプトを実行して、IdM クライアントを設定します。

    # ipa-client-install
  3. Kerberos チケットがあることを確認します。

    # kinit admin
  4. 既存の keytab を削除します。

    # rm /etc/foreman-proxy/dns.keytab
  5. このシステム用に作成された keytab を取得します。

    # ipa-getkeytab -p capsule/satellite.example.com@EXAMPLE.COM \
    -s idm1.example.com -k /etc/foreman-proxy/dns.keytab
    注記

    サービス中の元のシステムと同じホスト名を持つスタンバイシステムに keytab を追加する際には、r オプションを追加します。これにより、新規の認証情報が生成されることを防ぎ、元のシステムの認証情報が無効になります。

  6. 以下のように、foreman-proxy への keytab ファイルのグループと所有者を設定します。

    # chown foreman-proxy:foreman-proxy /etc/foreman-proxy/dns.keytab
  7. 必要に応じて、keytab が有効か確認します。

    # kinit -kt /etc/foreman-proxy/dns.keytab \
    capsule/satellite.example.com@EXAMPLE.COM

IdM web UI での DNS ゾーンの設定

  1. 管理するゾーンを作成して、設定します。

    1. Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
    2. Add を選択し、ゾーン名を入力します。この例では、example.com になります。
    3. Add and Edit をクリックします。
    4. 設定タブの BIND update policy ボックスで、以下のようにセミコロン区切りのエントリーを追加します。

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    5. Dynamic updateTrue に設定されていることを確認します。
    6. Allow PTR sync を有効にします。
    7. Save を選択して、変更を保存します。
  2. 逆引きゾーンを作成、設定します。

    1. Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。
    2. Add を選択します。
    3. Reverse zone IP network を選択して、CIDR 形式でネットワークアドレスを追加し、逆引き参照を有効にします。
    4. Add and Edit をクリックします。
    5. Settings タブの BIND update policy ボックスで、以下のようにセミコロン区切りのエントリーを追加します。

      grant capsule\047satellite.example.com@EXAMPLE.COM wildcard * ANY;
    6. Dynamic updateTrue に設定されていることを確認します。
    7. Save を選択して、変更を保存します。

ドメインの DNS サービスを管理する Satellite または Capsule Server の設定

  • Satellite Server のベースシステムでは、以下を実行します。

    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 Server のベースシステムでは、以下を実行します。

    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 web UI での設定更新

インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。

  1. インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
  2. 更新する Capsule で、アクション ドロップダウンメニューから 更新 を選択します。
  3. ドメインを設定します。

    1. インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
    2. ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に選択されていることを確認します。
  4. サブネットを設定します。

    1. インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
    2. サブネット タブで、IPAMNone に設定します。
    3. ドメイン タブで、IdM サーバーが管理するドメインが選択されていることを確認します。
    4. Capsules タブで、Reverse DNS Capsule 、サブネットが接続されている Capsule に選択されていることを確認します。
    5. 送信 をクリックして変更を保存します。

5.8.2. TSIG 認証を使用した動的 DNS 更新の設定

この例では、Satellite Server の設定は以下のようになります。

IP アドレス

192.168.25.1

ホスト名

satellite.example.com

IdM サーバーの設定は以下のようになります。

ホスト名

idm1.example.com

IP アドレス

192.168.25.2

ドメイン名

example.com

作業開始前の準備

  1. IdM サーバーがデプロイされ、ホストベースのファイアウォールが正確に設定されていることを確認します。詳細は『Linux ドメイン ID、認証、およびポリシーガイド』「ポート要件」を参照してください。
  2. IdM サーバーで root 権限を取得します。
  3. Satellite または外部 Capsule がドメインの DNS を管理していることを確認します。
  4. Satellite または外部 Capsule が正常に機能していることを確認します。
  5. 新たにインストールしたシステムの場合は、まず本ガイドにあるインストール手順を完了させます。特に、DNS と DHCP の設定は完了させてください。
  6. 変更を元に戻す場合に備えて、応答ファイルのバックアップを作成します。詳細は「インストールオプションの指定」を参照してください。

IdM サーバーの DNS ゾーンに対する外部アップデートの有効化

  1. IdM サーバーで、以下の内容を /etc/named.conf ファイルの先頭に追加します。

    // This was added to allow Satellite Server at 192.168.25.1 to make DNS updates.
    ########################################################################
    include "/etc/rndc.key";
    controls  {
    inet 192.168.25.2 port 953 allow { 192.168.25.1; } keys { "rndc-key"; };
    };
    ########################################################################
  2. named をリロードして、変更を有効にします。

    # systemctl reload named
  3. IdM Web UI で、Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。ゾーンの名前を選択します。Settings (設定) タブで、以下の手順を実行します。

    1. BIND update policy (BIND アップデートポリシー) ボックスで以下の内容を追加します。

      grant "rndc-key" zonesub ANY;
    2. Dynamic updateTrue に設定されていることを確認します。
    3. Update (更新) をクリックして変更を保存します。
  4. 以下のように、IdM サーバーから Satellite のベースシステムへ /etc/rndc.key ファイルをコピーします。

    # scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key
  5. 所有者、パーミッション、SELinux コンテキストが正しいことを確認します。

    # restorecon -v /etc/rndc.key
    # chown -v root:named /etc/rndc.key
    # chmod -v 640 /etc/rndc.key
  6. Satellite Server で以下のようにインストールスクリプトを実行し、外部 DNS サーバーを使用します。

    # satellite-installer --scenario satellite \
    --foreman-proxy-dns=true \
    --foreman-proxy-dns-managed=false \
    --foreman-proxy-dns-provider=nsupdate \
    --foreman-proxy-dns-server="192.168.25.2" \
    --foreman-proxy-keyfile=/etc/rndc.key \
    --foreman-proxy-dns-ttl=86400

IdM サーバーの DNS ゾーンに対する外部アップデートのテスト

  1. テストのために nsupdate とともに bind-utils をインストールします。

    # yum install bind-utils
  2. Satellite Server 上の /etc/rndc.key ファイルのキーが IdM サーバーで使用されているものと同じであることを確認します。

    key "rndc-key" {
            algorithm hmac-md5;
            secret "secret-key==";
    };
  3. 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
  4. 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
  5. IdM Web UI でエントリーを参照するために、Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。ゾーンの名前を選択し、名前でホストを検索します。
  6. 正常に解決されたら、テスト 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
  7. DNS エントリーが削除されたことを確認します。

    # nslookup test.example.com 192.168.25.1

    レコードが正常に削除されている場合は、上記の nslookup コマンドが失敗し、SERVFAIL エラーメッセージが出力されます。

5.8.3. 内部 DNS サービス使用への復元

Satellite Server と Capsule Server を DNS プロバイダーとして使用するように戻すには、以下の手順に従います。

ドメインの DNS を管理する Satellite または Capsule Server

  • 外部 DNS への変更前に応答ファイルをバックアップした場合は、応答ファイルを復元して、インストールスクリプトを実行します。

    # satellite-installer
  • 応答ファイルのバックアップがない場合は、現行の応答ファイルでバックアップを作成し、以下にあるように Satellite および Capsules でインストールスクリプトを実行します。

    応答ファイルについての詳細は「インストールオプションの指定」を参照してください。

応答ファイルを使用せずに Satellite または Capsule を DNS サーバーとして設定

# 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 の設定」を参照してください。

Satellite web UI での設定更新

インストールスクリプトを実行して Capsule に変更を加えた後に、Satellite が該当する各 Capsule の設定をスキャンするようにします。

  1. インフラストラクチャー > Capsules (スマートプロキシー) に移動します。
  2. 更新する Capsule で、アクション ドロップダウンメニューから 更新 を選択します。
  3. ドメインを設定します。

    1. インフラストラクチャー > ドメイン に移動し、ドメイン名を選択します。
    2. ドメイン タブで、DNS Capsule が、サブネットが接続されている Capsule に選択されていることを確認します。
  4. サブネットを設定します。

    1. インフラストラクチャー > サブネット に移動し、サブネット名を選択します。
    2. サブネット タブで、IPAMDHCP または Internal DB に設定します。
    3. ドメイン タブで、Satellite または Capsule が管理するドメインが選択されていることを確認します。
    4. Capsules タブで、Reverse DNS Capsule 、サブネットが接続されている Capsule に選択されていることを確認します。
    5. 送信 をクリックして変更を保存します。