このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

1.4.7 PXEクライアントをサポートするためのDHCPおよびTFTPサービスの構成

DHCPおよびTFTPサービスをホストするサーバーがインストール・パッケージをホストする必要はありません。 DHCPサーバーは、ブート・ローダー・ファイルと、クライアントがブート・ローダー、インストール・カーネルおよび初期RAMディスクのファイルをダウンロードできるTFTPサーバーを定義します。 TFTPサーバーがホストするブート・ローダー・ファイルは、オプションで、クライアントがインストール・パッケージを取得できるサーバーを定義できます。

PXEクライアント・インストール・リクエストに対するDynamic Host Configuration Protocol (DHCP)およびTrivial File Transfer Protocol (TFTP)サービスを構成するには:

  1. サーバーでDHCPサービスを構成します。

    1. dhcpパッケージをインストールします。

      # yum install dhcp
    2. /etc/dhcp/dhcpd.confを編集し、次の例のように、PXEクライアントに対するエントリを構成します。

      allow booting;
      allow bootp;
      
      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 10.0.0.0 netmask 255.255.255.0 {
        option domain-name-servers 10.0.0.1;
        option broadcast-address 10.0.0.255;
        option routers 10.0.0.1;
        default-lease-time 14400;
        max-lease-time 28800;
        if substring(vendorclass, 0, 9)="PXEClient" {
          if pxetype=00:06 or pxetype=00:07 {
              filename "efi/BOOTX64.efi";
          } else {
              filename "pxelinux/pxelinux.0";
          }
        }
        pool {
          range 10.0.0.101 10.0.0.200;
        }
        next-server 10.0.0.6;
      }
      
      host svr1 {
      hardware ethernet 08:00:27:c6:a1:16;
      fixed-address 10.0.0.253;
      option host-name "svr1";
      } 
      
      host svr2 {
      hardware ethernet 08:00:27:24:0a:56;
      fixed-address 10.0.0.254;
      option host-name "svr2";
      } 

      この例では、10.0.0/24サブネット上に10.0.0.101から10.0.0.200までの範囲で、一般に使用可能なIPアドレスのプールを構成しています。 サブネット上のPXEブート・システムはいずれも、filenameパラメータでそのPXEタイプに対して指定されているブート・ローダーを使用します。 UEFIベースのクライアント用のブート・ローダー・ファイルBOOTX64.efiは、TFTPサーバー・ディレクトリのefiサブディレクトリ内にあります。 BIOSベースのクライアント用のブート・ローダー・ファイルpxelinux.0は、pxelinuxサブディレクトリ内にあります。

      next-server文は、クライアントがブート・ローダー・ファイルをダウンロードできるTFTPサーバーのIPアドレスを指定します。

      ノート

      DHCPサービスとTFTPサービスのホストとして同じサーバーを使用している場合でも、next-server文を含める必要があります。 そうしない場合、一部のブート・ローダーは構成ファイルの取得方法を判断できないため、クライアントをリブートしたり、ハングしたり、boot:grub>などのプロンプトを表示します。

      静的IPアドレス10.0.0.253および10.0.0.254は、svr1およびsvr2用に予約されています(これらは各自のMACアドレスで識別されます)。

    3. サーバーに複数のネットワーク・インタフェースが存在する場合は、/etc/sysconfig/dhcpdを編集し、次の例のように、サーバーがDHCPリクエストに応答するインタフェースを構成します。

      DHCPDARGS="eth1"
    4. DHCPサービスを起動して、リブート後に起動するように構成します。

      # service dhcpd start
      # chkconfig dhcpd on

      /etc/dhcp/dhcpd.confに変更を加えた場合は、dhcpdサービスを再起動してください。 ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。

    5. 次の例のように、DHCPリクエストを受け入れるようにファイアウォールを構成します。

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

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

  2. サーバーでTFTPサービスを構成します。

    1. syslinuxおよびtftp-serverパッケージをインストールします。

      # yum install syslinux tftp-server

      syslinuxパッケージはpxelinux.0ブート・ローダーを提供し、BIOSベースのPXEクライアントはこれを使用して、Linuxインストール・カーネル(vmlinuz)をロードできます。

      UEFIベースのPXEクライアントは、BOOTX64.efiブート・ローダー(Oracle Linux 6 Update 6 Media Pack DVDからEFI/BOOT/BOOTX64.efiとして使用可能)を使用できます。

    2. /etc/xinetd.d/tftpを編集し、次の例のように、xinetdがTFTPサービス(in.tftpd)を起動できるようにdisable属性とserver_args属性を変更し、TFTPサーバー・ディレクトリを定義します。

      service tftp
      {
          socket_type = dgram
          protocol    = udp
          wait        = yes
          user        = root
          server      = /usr/sbin/in.tftpd
          server_args = -s /var/lib/tftpboot
          disable     = no
          per_source  = 11
          cps         = 100 2
          flags       = IPv4
      }

      この例では、TFTPサーバー・ディレクトリを/var/lib/tftpbootとして定義しており、これがデフォルトです。

      xinetdはTFTPリクエストを受信すると、in.tftpdを起動し、リクエストをそれに転送します。

      構成属性の詳細は、xinetd.conf(5)マニュアル・ページを参照してください。

    3. 次の例のように、TFTPサーバー・ディレクトリのefiおよびpxelinux/pxelinux.cfgサブディレクトリを作成します。

      # mkdir -p /var/lib/tftpboot/efi
      # mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg

      これらのディレクトリはそれぞれ、UEFIベースのPXEクライアントとBIOSベースのPXEクライアント用のブート・ローダー構成ファイルを格納するために使用されます。

    4. 次の例のように、BIOSブート・ローダー・ファイルをpxelinuxディレクトリに、UEFIブート・ローダー・ファイルとスプラッシュ・イメージ・ファイルをefiサブディレクトリに、インストール・カーネルとRAMディスク・イメージのファイルを両方のサブディレクトリにコピーします。

      # cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/pxelinux.0
      # wget http://10.0.0.11/OSimage/OL6.6/EFI/BOOT/BOOTX64.efi \
        -O /var/lib/tftpboot/efi/BOOTX64.efi
      # wget http://10.0.0.11/OSimage/OL6.6/EFI/BOOT/splash.xpm.gz \
        -O /var/lib/tftpboot/efi/splash.xpm.gz
      # wget http://10.0.0.11/OSimage/OL6.6/isolinux/vmlinuz \
        -O /var/lib/tftpboot/efi/vmlinuz-OL6u6
      # wget http://10.0.0.11/OSimage/OL6.6/isolinux/initrd.img \
        -O /var/lib/tftpboot/efi/initrd-OL6u6.img
      # ln /var/lib/tftpboot/efi/vmlinuz-OL6u6 /var/lib/tftpboot/pxelinux/vmlinuz-OL6u6
      # ln /var/lib/tftpboot/efi/initrd-OL6u6.img /var/lib/tftpboot/pxelinux/initrd-OL6u6.img

      この例では、HTTPを使用して、インストール・サーバーからBOOTX64.efisplash.xpm.gzvmlinuzおよびinitrd.imgファイルを取得します。

      PXEクライアントに異なるオペレーティング・システム・バージョンをインストールできるように、vmlinuzおよびinitrd.imgvmlinuz-OL6u6およびinitrd-OL6u6.imgという名前に変更されます。 または、カーネルおよびRAMディスク・イメージのファイルをefi/OL6u6pxelinux/OL6u6などのサブディレクトリにコピーすることもできます。

    5. デフォルトのブート・ローダー構成ファイル(efi/efidefaultpxelinux/pxelinux.cfg/defaultなど)を作成します。

      詳細は、1.4.9項「ブート・ローダー構成ファイルについて」を参照してください。

    6. システムでSELinuxがenforcingモードで有効になっている場合、/var/lib/tftpboot以外のTFTPサーバー・ディレクトリを構成するには、次の例のように、semanageコマンドを使用してTFTPサーバー・ディレクトリ階層のデフォルト・ファイル・タイプをtftpdir_tとして定義してから、restoreconコマンドを使用してファイル・タイプをディレクトリ階層全体に適用します。

      # /usr/sbin/semanage fcontext -a -t tftpdir_t "/var/tftpboot(/.*)?"
      # /sbin/restorecon -R -v /var/tftpboot
      ノート

      semanageおよび「restoreconコマンドは、policycoreutils-pythonおよびpolicycoreutilsパッケージで提供されます。

    7. xinetdサービスを起動して、リブート後に起動するように構成します。

      # service xinetd start
      # chkconfig xinetd on

      /etc/xinetd.d/tftpに変更を加えた場合は、xinetdサービスを再起動してください。 ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。

    8. 次の例のように、TFTPリクエストを受け入れるようにファイアウォールを構成します。

      # iptables -I INPUT -i eth1 -p udp --dport 69 -j ACCEPT
      # service iptables save

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

自動インストールを実行するためにキックスタートを構成および使用する方法については、第3章、「キックスタートを使ってOracle Linuxをインストール」を参照してください。