4.2. Capsule Server での外部 DHCP の設定
外部の DHCP で Capsule Server を設定するには、以下の手順を実行します。
4.2.1. Capsule Server を使用するための外部 DHCP サーバーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux を実行する外部の DHCP サーバーを Capsule Server で使用できるように設定するには、ISC DHCP Service と、Berkeley Internet Name Domain (BIND) またはそのユーティリティーパッケージをインストールする必要があります。また、DHCP 設定とリースファイルを Capsule Server と共有する必要があります。この手順の例では、分散型の Network File System (NFS) プロトコルを使用して DHCP 設定とリースファイルを共有します。
外部の DHCP サーバーとして dnsmasq を使用する場合には、dhcp-no-override の設定を有効にします。Satellite は grub2/ サブディレクトリーの配下にある TFTP サーバーに設定ファイルを作成するので、この設定を必ず有効にしてください。dhcp-no-override 設定が無効な場合には、クライアントは root ディからブートローダーと設定をフェッチするのでエラーが発生する可能性があります。
手順
Red Hat Enterprise Linux ホストに、ホストのバージョンに応じて、ISC DHCP Service と、BIND パッケージまたはそのユーティリティーパッケージをインストールします。
Red Hat Enterprise Linux 7 ホストの場合:
# yum install dhcp bindRed Hat Enterprise Linux 8 ホストの場合:
# yum install dhcp-server bind-utils
セキュリティートークンを生成します。
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key上記のコマンドを実行すると、2 つのファイルで設定されるキーペアが現在のディレクトリーに作成されます。
キーからシークレットハッシュをコピーします。
# grep ^Key Komapi_key.+*.private | cut -d ' ' -f2すべてのサブネットの
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;option routersの値は、外部の DHCP サービスと使用する Satellite または Capsule IP アドレスに置き換える点に注意してください。- キーファイルが作成されたディレクトリーから、2 つのキーファイルを削除します。
Satellite Server で各サブネットを定義します。定義済みのサブネットに DHCP Capsule は設定しないでください。
競合を回避するには、リースと予約範囲を別に設定します。たとえば、リース範囲を 192.168.38.10 から 192.168.38.100 に設定した場合には、Satellite Web UI で予約範囲を 192.168.38.101 から 192.168.38.250 に設定します。
DHCP サーバーに外部アクセスできるように、ファイアウォールを設定します。
# firewall-cmd --add-service dhcp \ && firewall-cmd --runtime-to-permanentSatellite Server で
foremanユーザーの UID と GID を指定します。# id -u foreman 993 # id -g foreman 990DHCP サーバーで、1 つ前の手順で定義した ID と同じ
foremanユーザーとグループを作成します。# groupadd -g 990 foreman # useradd -u 993 -g 990 -s /sbin/nologin foreman設定ファイルにアクセスできるように、読み取りおよび実行フラグを復元します。
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.confDHCP サービスを起動します。
# systemctl start dhcpdNFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapdNFS を使用してエクスポートする DHCP 設定ファイルとリースファイルのディレクトリーを作成します。
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp作成したディレクトリーにマウントポイントを作成するには、以下の行を
/etc/fstabファイルに追加します。/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0/etc/fstabのファイルシステムをマウントします。# mount -a/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)入力する IP アドレスは、外部 DHCP サービスで使用する Satellite または Capsule IP アドレスを指定する点に注意してください。
NFS サーバーをリロードします。
# exportfs -rvaファイアウォールで DHCP omapi ポート 7911 を設定します。
# firewall-cmd --add-port=7911/tcp # firewall-cmd --runtime-to-permanentオプション: NFS に外部からアクセスできるようにファイアウォールを設定します。クライアントは NFSv3 を使用して設定します。
# firewall-cmd --zone public --add-service mountd \ && firewall-cmd --zone public --add-service rpc-bind \ && firewall-cmd --zone public --add-service nfs \ && firewall-cmd --runtime-to-permanent
4.2.2. 外部 DHCP サーバーを使用した Satellite Server の設定 リンクのコピーリンクがクリップボードにコピーされました!
外部 DHCP サーバーを使用して Capsule Server を設定できます。
前提条件
- 外部の DHCP サーバーを設定し、Capsule Server と DHCP 設定ファイルとリースファイルを共有していることを確認する。詳細は、「Capsule Server を使用するための外部 DHCP サーバーの設定」 を参照してください。
手順
nfs-utilsユーティリティーをインストールします。# yum install nfs-utilsNFS 用の DHCP ディレクトリーを作成します。
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpdファイルの所有者を変更します。
# chown -R foreman-proxy /mnt/nfsNFS サーバーとの通信とリモートプロシージャコール (RPC: Remote Procedure Call) 通信パスを検証します。
# showmount -e DHCP_Server_FQDN # rpcinfo -p DHCP_Server_FQDN/etc/fstabファイルに以下の行を追加します。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 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/etc/fstabでファイルシステムをマウントします。# mount -aforeman-proxyユーザーがネットワークで共有したファイルにアクセスできることを確認するには、DHCP 設定ファイルとリースファイルを表示します。# 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$ exitsatellite-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=DHCP_Server_FQDNforeman-proxyサービスを再起動します。# systemctl restart foreman-proxy- Satellite Web UI で、Infrastructure > Capsules に移動します。
- Capsule Server を見つけて、Actions 列のリストから Refresh を選択します。
- DHCP サービスに適切なサブネットとドメインを関連付けます。