Red Hat Training

A Red Hat training course is available for Red Hat Satelitte

第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 として設定し、foreman という名前のセキュリティーキーを設定して、フォワーダーを Google のパブリック DNS アドレス (8.8.8.8 および 8.8.4.4) に設定します。

    # cat /etc/named.conf
    include "/etc/rndc.key";
    
    controls  {
        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. サーバーを起動します。

    使用しているプラットフォーム実行するコマンド

    Red Hat Enterprise Linux 7

    # systemctl restart named

    Red Hat Enterprise Linux 6

    # service named restart

  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)。

    • Red Hat Enterprise Linux 7 で実行されている Satellite Server の場合:

      # firewall-cmd --add-port="53/udp" --add-port="53/tcp" \
      && firewall-cmd --permanent --add-port="53/udp" --add-port="53/tcp"
    • Red Hat Enterprise Linux 6 で実行されている Satellite Server の場合:

      # iptables -I INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT \
      && iptables -I INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT \
      && service iptables save

      iptables サービスが起動され、有効であることを確認します。

      # service iptables start
      # chkconfig iptables on

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 サービスを再起動します。

    使用しているプラットフォーム実行するコマンド

    Red Hat Enterprise Linux 7

    systemctl restart foreman-proxy

    Red Hat Enterprise Linux 6

    service foreman-proxy restart

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

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

重要

Satellite 6.3 以降は、NFS 経由の外部 DHCP 設定はサポートされません。inotify の最適化のため、DHCP Capsule はリモートファイルの変更を検出できなくなります。

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

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

    # dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
  3. テストまたは概念実証のためのデプロイメントの場合は、安全でない非ブロックデバイスコマンドを実行します。

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

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

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

    # cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
  5. すべてのサブネットに対して 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;
  6. 2 つのキーファイルを、それらを作成したディレクトリーから削除します。
  7. Satellite Server で各サブネットを定義します。

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

    ISC DHCP は、定義されたサブネットに一致するインターフェースのみをリッスンします。この例では、サーバーには、192.168.38.0 サブネットに直接ルーティングするインターフェースが搭載されています。

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

    • Red Hat Enterprise Linux 7 で実行されている Satellite Server の場合:

      # firewall-cmd --add-service dhcp \
      && firewall-cmd --permanent --add-service dhcp
    • Red Hat Enterprise Linux 6 で実行されている Satellite Server の場合:

      # iptables -I INPUT -m state --state NEW -p tcp --dport 67 -j ACCEPT \
      && service iptables save

      iptables サービスが起動され、有効であることを確認します。

      # service iptables start
      # chkconfig iptables on
  9. Capsule Server 上の foreman-proxy ユーザーの UID 番号と GID 番号を決定します。DHCP サーバーのと同じユーザーおよびグループを同じ ID で作成します。

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

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

    使用しているプラットフォーム実行するコマンド

    Red Hat Enterprise Linux 7

    systemctl start dhcpd

    Red Hat Enterprise Linux 6

    service dhcpd start

  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. ファイアウォールで Capsule Server 向けの DHCP omapi ポート 7911 を設定します。

    • Red Hat Enterprise Linux 7 で以下のコマンドを実行します。

      # firewall-cmd --add-port="7911/tcp" \
      && firewall-cmd --permanent --add-port="7911/tcp"
    • Red Hat Enterprise Linux 6 で以下のコマンドを実行します。

      # iptables -I INPUT -m state --state NEW -p tcp --dport 7911 -j ACCEPT \
      && service iptables save

      iptables サービスが起動され、有効であることを確認します。

      # service iptables start
      # chkconfig iptables on
  19. 必要な場合は、ファイアウォールで NFS への外部アクセスを設定します。

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

    • Red Hat Enterprise Linux 7 で、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
    • Red Hat Enterprise Linux 6 の場合は、/etc/sysconfig/nfs ファイルで NFSv3 向けのポートを設定します。

      LOCKD_TCPPORT=32803
      LOCKD_UDPPORT=32769
      MOUNTD_PORT=892
      RQUOTAD_PORT=875
      STATD_PORT=662
      STATD_OUTGOING_PORT=2020

      サービスを再起動します。

      # service nfs restart

      ルールを /etc/sysconfig/iptables ファイルに追加します。

      # iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 111 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 111 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 2049 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 2049 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 32803 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 32769 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 892 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 892 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 875 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 875 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 662 -j ACCEPT \
      && iptables -I INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 662 -j ACCEPT \
      && service iptables save

      ファイアウォールを再起動します。

      # service iptables restart

Red Hat Enterprise Linux 6 においてファイアウォールの背後で NFSv3 を使用する詳細については、『Red Hat Enterprise Linux 6 Storage Administration Guide』と、『Red Hat Enterprise Linux 6 Security Guide』の「Running NFS Behind a Firewall」という名前の節を参照してください。

5.5. Capsule 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 192.168.38.2
    # rpcinfo -p 192.168.38.2
  5. /etc/fstab ファイルに以下の行を追加します。

    192.168.38.2:/exports/etc/dhcp /mnt/nfs/etc/dhcp nfs
    ro,vers=3,auto,nosharecache,context="system_u:object_r:dhcp_etc_t:s0" 0 0
    192.168.38.2:/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=isc
    --foreman-proxy-dhcp-config /mnt/nfs/etc/dhcp/dhcpd.conf
    --foreman-proxy-dhcp-leases /mnt/nfs/var/lib/dhcpd/dhcpd.leases
    --foreman-proxy-dhcp-key-name=omapi_key
    --foreman-proxy-dhcp-key-secret=jNSE5YI3H1A8Oj/tkV4...A2ZOHb6zv315CkNAY7DMYYCj48Umw==
    --foreman-proxy-dhcp-server dhcp.example.com
  9. foreman-proxy サービスを再起動します。

    使用しているプラットフォーム実行するコマンド

    Red Hat Enterprise Linux 7

    systemctl restart foreman-proxy

    Red Hat Enterprise Linux 6

    service foreman-proxy restart

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

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

作業を開始する前に

Satellite Server での外部 TFTP の設定

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

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

      # systemctl enable tftp.socket
      # systemctl start tftp.socket
    2. Red Hat Enterprise Linux 6 で、xinetd サービスを有効にし、起動します。

      # service xinetd enable
      # service xinetd start
  2. PXELinux 環境を設定します。

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

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

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

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

    # mount -a
  7. /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 設定に共通であり、このシステムで以前の手順が完了した場合はすでに存在します。

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

    # exportfs -rva

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

ファイアウォールでの TFTP サービスへの外部アクセスの設定 (Red Hat Enterprise Linux 7 を使用する場合)

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

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

ファイアウォールでの TFTP サービスへの外部アクセスの設定 (Red Hat Enterprise Linux 6 を使用する場合)

  1. ファイヤーウォールを設定します。

    # iptables -I INPUT -m state --state NEW -p tcp --dport 69 -j ACCEPT \
    && service iptables save
  2. iptables サービスが起動され、有効であることを確認します。

    # service iptables start
    # chkconfig iptables on

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. TFTP サービスが DHCP サービスとは異なるサーバーで実行されている場合は、tftp_servername 設定をそのサーバーの FQDN または IP アドレスで更新します。

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

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

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

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

Red Hat Satellite は IPA サーバーを使用して DNS サービスを提供するよう設定できます。この方法では、BIND 設定ファイルを編集し、rndc.key を Satellite のベースシステムにコピーするために IPA サーバーへの root アクセスが必要です。

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

IP アドレス

192.168.25.1

ホスト名

satellite.example.com

IPA マスターサーバーの設定は以下のようになります。

ホスト名

idm1.example.com

IP アドレス

192.168.25.2

ドメイン名

example.com

5.8.1. IPA サーバー上

ファイアウォールの設定

  1. ファイアウォールで UDP ポートを設定します。

    # firewall-cmd --add-port="53/udp" \
    --add-port="88/udp" --add-port="464/udp" \
    --add-port="123/udp" \
    && firewall-cmd --permanent --add-port="53/udp" \
    --add-port="88/udp" --add-port="464/udp" \
    --add-port="123/udp"
  2. ファイアウォールで TCP ポートを設定します。

    # firewall-cmd --add-port="53/tcp" \
     --add-port="80/tcp" --add-port="434/tcp" \
     --add-port="389/tcp" --add-port="636/tcp" \
    --add-port="88/tcp" --add-port="464/tcp" \
    && firewall-cmd --permanent --add-port="53/tcp" \
     --add-port="80/tcp" --add-port="434/tcp" \
     --add-port="389/tcp" --add-port="636/tcp" \
    --add-port="88/tcp" --add-port="464/tcp"

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

  1. 以下の内容を /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. IPA Web UI で、Network Services (ネットワークサービス) > DNS > DNS Zones (DNS ゾーン) に移動します。ゾーンの名前を選択します。Settings (設定) タブで、以下の手順を実行します。

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

      grant "rndc-key" zonesub ANY;
    2. Dynamic updateTrue に設定されていることを確認します。
    3. Update (更新) をクリックして変更を保存します。
  3. あとで使用するために /etc/rndc.key ファイルを IPA サーバーから安全な場所にコピーします。または、以下のようにこのファイルを Satellite のベースシステムに直接コピーします。

    # scp /etc/rndc.key root@satellite.example.com:/etc/rndc.key

5.8.2. Satellite Server 上

  1. 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
  2. テストのために nsupdate とともに bind-utils をインストールします。

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

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

    # nslookup test.example.com 192.168.25.1

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