このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。
この項の手順では、Spacewalkサーバーと同じシステムにDHCPサーバーを構成することを前提としています。 Spacewalkサーバーとは異なるシステムでCobblerとDHCPを構成する場合は、「Oracle® Linux 6: インストール・ガイド」を参照してください。
CobblerとDHCPを構成して、ネットワーク経由でクライアント・システムを起動できるようにするには:
cobbler-loaders
パッケージとdhcp
パッケージをインストールします:#
yum install cobbler-loaders dhcp
DHCPサービスを管理するようにCobblerを構成するには、
/etc/cobbler/settings
を編集し、manage_dhcp
構成を変更します:manage_dhcp: 1
DHCPサーバー構成テンプレート・ファイル
/etc/cobbler/dhcp.template
を編集し、ローカル構成のサブネット構成を変更します。次の例では、pxelinuxブート・ローダー(BIOSベースのPXEクライアントの場合)またはGRUBブート・ローダー(UEFIベースのPXEクライアントの場合)を選択する方法を示します。
# ****************************************************************** # Cobbler managed dhcpd.conf file # # generated from cobbler dhcp.conf template ($date) # Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes # in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be # overwritten. # # ****************************************************************** ddns-update-style interim; allow booting; allow bootp; ignore client-updates; set vendorclass = option vendor-class-identifier; option pxe-system-type code 93 = unsigned integer 16; set pxetype = option pxe-system-type; option domain-name "mydom.com"; subnet 192.168.1..0 netmask 255.255.255.0 { option domain-name-servers 192.168.1.1; option broadcast-address 192.168.1.255; option routers 192.168.1.254; default-lease-time 14400; max-lease-time 28800; pool { range 192.168.1.101 192.168.1.200; } } #for dhcp_tag in $dhcp_tags.keys(): ## group could be subnet if your dhcp tags line up with your subnets ## or really any valid dhcpd.conf construct ... if you only use the ## default dhcp tag in cobbler, the group block can be deleted for a ## flat configuration # group for Cobbler DHCP tag: $dhcp_tag group { #for mac in $dhcp_tags[$dhcp_tag].keys(): #set iface = $dhcp_tags[$dhcp_tag][$mac] host $iface.name { hardware ethernet $mac; #if $iface.ip_address: fixed-address $iface.ip_address; #end if #if $iface.hostname: option host-name "$iface.hostname"; #end if #if $iface.netmask: option subnet-mask $iface.netmask; #end if #if $iface.gateway: option routers $iface.gateway; #end if if substring(vendorclass, 0, 9)="PXEClient" { if pxetype=00:06 or pxetype=00:07 { filename "/grub/grub.efi"; } else { filename "/pxelinux.0"; } } ## Cobbler defaults to $next_server, but some users ## may like to use $iface.system.server for proxied setups next-server $next_server; ## next-server $iface.next_server; } #end for } #end for
この例では、192.168.1/24サブネット上の192.168.1.101〜192.168.1.200の範囲に一般的に使用可能なIPアドレスのプールも構成しています。 このプール内のシステムは、PXEを使用してブートしません。
/etc/cobbler/dhcp.template
内のコメントまたはコメントアウトされたDHCPディレクティブはすべて、Cobblerにより解釈されないように、先頭に二重ハッシュ(##
)が付いています。Spacewalkは、TFTPを使用して
/var/lib/tftpboot
ディレクトリからブート・ローダー構成ファイルを提供するようにCobblerを構成します。 これらのファイルの形式の詳細については、4.5.3項、「ブート・ローダー構成ファイルについて」を参照してください。DHCPでiPXEクライアントのネットワーク・ブートをサポートする場合は、4.5.4項、「iPXEクライアントをサポートするためのDHCPの構成」を参照してください。
システムでSELinuxがenforcingモードで有効になっている場合は、Cobbler操作用にSELinuxを構成します。
httpd
サービスがCobblerのプロキシとして機能することを許可します。#
setsebool -P httpd_can_network_connect=1
/var/lib/tftpboot
および/var/www/cobbler/images
ディレクトリ階層でpublic_content_t
ファイル・タイプを設定します。#
/usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*"
#/usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"
注semanageコマンドは、
policycoreutils-python
パッケージにより提供されます。
cobblerd
サービスを再起動します:#
service cobblerd restart
httpd
サービスを開始し、再起動後に起動するように構成します。#
service httpd start
#chkconfig httpd on
注/etc/cobbler/dhcp.template
に変更を加えた場合は、cobbler syncコマンドを実行してください。/etc/cobbler/settings
に変更を加えた場合は、cobblerd
サービスを再起動してからcobbler syncコマンドを実行してください。UEFIベースのPXEクライアントのブートをサポートするには、
/boot/efi/EFI/redhat/grub.efi
を/var/lib/tftpboot/grub
にコピーします。#
cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/grub
DHCPリクエストによるアクセスを許可するようにファイアウォールを構成します。たとえば、次のようになります:
#
iptables -I INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
#service iptables save
この例では、サーバーはインタフェース
eth1
でリクエストを受信することを予期します。