5.2. 外部 DHCP を使用した Satellite Server の設定
外部の DHCP で Satellite Server を設定するには、以下の手順を実行します。
5.2.1. Satellite Server を使用するための外部 DHCP サーバーの設定
外部の DHCP サーバーを Red Hat Enterprise Linux サーバーの Satellite Server で使用できるように設定するには、ISC DHCP Service と Berkeley Internet Name Domain (BIND) パッケージをインストールする必要があります。また、DHCP 設定とリースフィアルを Satellite 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) パッケージをインストールします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install dhcp bind
# yum install dhcp bind
セキュリティートークンを生成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST omapi_key
上記のコマンドを実行すると、2 つのファイルで設定されるキーペアが現在のディレクトリーに作成されます。
キーからシークレットハッシュをコピーします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
# cat Komapi_key.+*.private |grep ^Key|cut -d ' ' -f2
すべてのサブネットに対して
dhcpd
設定ファイルを編集し、キーを追加します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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;
# 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 サーバーに外部アクセスできるように、ファイアウォールを設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --add-service dhcp \ && firewall-cmd --runtime-to-permanent
# firewall-cmd --add-service dhcp \ && firewall-cmd --runtime-to-permanent
Satellite Server で
foreman
ユーザーの UID と GID を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow id -u foreman id -g foreman
# id -u foreman 993 # id -g foreman 990
DHCP サーバーで、1 つ前の手順で定義した ID と同じ
foreman
ユーザーとグループを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow groupadd -g 990 foreman useradd -u 993 -g 990 -s /sbin/nologin foreman
# groupadd -g 990 foreman # useradd -u 993 -g 990 -s /sbin/nologin foreman
設定ファイルにアクセスできるように、読み取りおよび実行フラグを復元します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chmod o+rx /etc/dhcp/ chmod o+r /etc/dhcp/dhcpd.conf chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
# chmod o+rx /etc/dhcp/ # chmod o+r /etc/dhcp/dhcpd.conf # chattr +i /etc/dhcp/ /etc/dhcp/dhcpd.conf
DHCP サービスを起動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow systemctl start dhcpd
# systemctl start dhcpd
NFS を使用して DHCP 設定ファイルおよびリースファイルをエクスポートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow yum install nfs-utils systemctl enable rpcbind nfs-server systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
# yum install nfs-utils # systemctl enable rpcbind nfs-server # systemctl start rpcbind nfs-server nfs-lock nfs-idmapd
NFS を使用してエクスポートする DHCP 設定ファイルとリースファイルのディレクトリーを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
# mkdir -p /exports/var/lib/dhcpd /exports/etc/dhcp
作成したディレクトリーにマウントポイントを作成するには、以下の行を
/etc/fstab
ファイルに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
/var/lib/dhcpd /exports/var/lib/dhcpd none bind,auto 0 0 /etc/dhcp /exports/etc/dhcp none bind,auto 0 0
/etc/fstab
のファイルシステムをマウントします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow mount -a
# mount -a
/etc/exports
に以下の行があることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow /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)
/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 サーバーをリロードします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow exportfs -rva
# exportfs -rva
ファイアウォールで DHCP omapi ポート 7911 を設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --runtime-to-permanent
# firewall-cmd --add-port="7911/tcp" \ && firewall-cmd --runtime-to-permanent
オプション: NFS に外部からアクセスできるようにファイアウォールを設定します。クライアントは NFSv3 を使用して設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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