4.2. 外部 DHCP を使用した Capsule Server の設定
外部の 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
設定が無効になっている場合、ホストがブートローダーとその設定をルートディレクトリーから取得するため、エラーが発生する可能性があります。
手順
Red Hat Enterprise Linux ホストに、ISC DHCP Service と Berkeley Internet Name Domain (BIND) ユーティリティーパッケージをインストールします。
# dnf install dhcp-server bind-utils
セキュリティートークンを生成します。
# tsig-keygen -a hmac-md5 omapi_key
すべてのサブネットの
dhcpd
設定ファイルを編集し、tsig-keygen
によって生成された鍵を追加します。以下に例を示します。# 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 "My_Secret"; }; omapi-key omapi_key;
option routers
の値は、外部 DHCP サービスで使用する Satellite Server または Capsule Server の IP アドレスであることに注意してください。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 enable --now dhcpd
NFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
# dnf install nfs-utils # systemctl enable --now nfs-server
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
オプション: NFS に外部からアクセスできるようにファイアウォールを設定します。クライアントは NFSv3 を使用して設定します。
# firewall-cmd \ --add-service mountd \ --add-service nfs \ --add-service rpc-bind \ --zone public
変更を永続化します。
# firewall-cmd --runtime-to-permanent
4.2.2. 外部 DHCP サーバーを使用した Satellite Server の設定
外部 DHCP サーバーを使用して Capsule Server を設定できます。
前提条件
- 外部の DHCP サーバーを設定し、Capsule Server と DHCP 設定ファイルとリースファイルを共有していることを確認する。詳細は、「Capsule Server で使用する外部 DHCP サーバーの設定」 を参照してください。
手順
nfs-utils
パッケージをインストールします。# satellite-maintain packages 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 $ cat /mnt/nfs/etc/dhcp/dhcpd.conf $ cat /mnt/nfs/var/lib/dhcpd/dhcpd.leases $ exit
satellite-installer
コマンドを入力して、以下の永続的な変更を/etc/foreman-proxy/settings.d/dhcp.yml
ファイルに加えます。# satellite-installer \ --enable-foreman-proxy-plugin-dhcp-remote-isc \ --foreman-proxy-dhcp-provider=remote_isc \ --foreman-proxy-dhcp-server=My_DHCP_Server_FQDN \ --foreman-proxy-dhcp=true \ --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=My_Secret \ --foreman-proxy-plugin-dhcp-remote-isc-omapi-port=7911
- DHCP サービスに適切なサブネットとドメインを関連付けます。