このドキュメントで説明されているソフトウェアはサポートされていないか、拡張サポートが提供されています。
現在サポートされているリリースにアップグレードすることをお薦めします。

4.5.1 ネットワーク・ブートをサポートするためのCobblerとDHCPの構成

この項の手順では、Spacewalkサーバーと同じシステムにDHCPサーバーを構成することを前提としています。 Spacewalkサーバーとは異なるシステムでCobblerとDHCPを構成する場合は、Oracle® Linux 6: インストール・ガイドを参照してください。

CobblerとDHCPを構成して、ネットワーク経由でクライアント・システムを起動できるようにするには:

  1. cobbler-loadersパッケージとdhcpパッケージをインストールします:

    # yum install cobbler-loaders dhcp

  2. DHCPサービスを管理するようにCobblerを構成するには、/etc/cobbler/settingsを編集し、manage_dhcp構成を変更します:

    manage_dhcp: 1
  3. 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の構成」を参照してください。

  4. システムでSELinuxがenforcingモードで有効になっている場合は、Cobbler操作用にSELinuxを構成します。

    1. httpdサービスがCobblerのプロキシとして機能することを許可します。

      # setsebool -P httpd_can_network_connect=1
    2. /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パッケージにより提供されます。

  5. cobblerdサービスを再起動します:

    # service cobblerd restart
  6. httpdサービスを開始し、再起動後に起動するように構成します。

    # service httpd start
    # chkconfig httpd on

    /etc/cobbler/dhcp.templateに変更を加えた場合は、cobbler syncコマンドを実行してください。

    /etc/cobbler/settingsに変更を加えた場合は、cobblerdサービスを再起動してからcobbler syncコマンドを実行してください。

  7. UEFIベースのPXEクライアントのブートをサポートするには、/boot/efi/EFI/redhat/grub.efi/var/lib/tftpboot/grubにコピーします。

    # cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/grub 
  8. DHCPリクエストによるアクセスを許可するようにファイアウォールを構成します。たとえば、次のようになります:

    # iptables -I INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
    # service iptables save

    この例では、サーバーはインタフェースeth1でリクエストを受信することを予期します。