4.2. Capsule Server での外部 DHCP の設定
外部の DHCP で Capsule Server を設定するには、以下の手順を実行します。
4.2.1. Capsule Server を使用するための外部 DHCP サーバーの設定
外部の DHCP サーバーを Red Hat Enterprise Linux サーバーの 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 Server で、ISC DHCP サービスおよび BIND (Berkeley Internet Name Domain) パッケージをインストールします。
# yum install dhcp bind
セキュリティートークンを生成します。
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
上記のコマンドを実行すると、2 つのファイルで設定されるキーペアが現在のディレクトリーに作成されます。
キーからシークレットハッシュをコピーします。
# cat Komapi_key.+*.private |grep ^Key|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-permanent
Satellite Server で
foreman
ユーザーの UID と GID を指定します。# id -u foreman 993 # id -g foreman 990
DHCP サーバーで、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.conf
DHCP サービスを起動します。
# systemctl start dhcpd
NFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
NFS を使用してエクスポートする 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 サーバーを使用した Capsule Server の設定
外部 DHCP サーバーを使用して Capsule Server を設定できます。
前提条件
- 外部の DHCP サーバーを設定し、Capsule Server と DHCP 設定ファイルとリースファイルを共有していることを確認する。詳細は、「Capsule Server を使用するための外部 DHCP サーバーの設定」 を参照してください。
手順
nfs-utils
ユーティリティーをインストールします。# yum install nfs-utils
NFS 用の DHCP ディレクトリーを作成します。
# mkdir -p /mnt/nfs/etc/dhcp /mnt/nfs/var/lib/dhcpd
ファイルの所有者を変更します。
# chown -R foreman-proxy /mnt/nfs
NFS サーバーとの通信とリモートプロシージャコール (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 -a
foreman-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$ exit
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=DHCP_Server_FQDN
foreman-proxy
サービスを再起動します。# systemctl restart foreman-proxy
- Satellite Server Web UI にログインします。
- インフラストラクチャー > Capsules に移動し、Capsule Server の場所を特定して、Actions コラムの一覧から、Refresh を選択します。
- DHCP サービスに適切なサブネットとドメインを関連付けます。