Linux
Tips |
|
PXEネットワークブート用サーバを構築するには
北浦訓行
2005/3/10
|
PXE(Preboot eXecution Environment)は、Intelが開発したネットワークブートの規格である。PXEによるネットワークブートを行うには、PXE対応NICとPXEサーバが必要だ。PXEサーバ(DHCPおよびTFTPサーバが稼働)は、ネットワークブートするPC(クライアント)に対してブートイメージを転送する。ここでは、インストール済みのFedora Core 3(FC3)をPXEサーバにする手順を説明する。
最初に、PXEブートしたPCへブートイメージを転送するためのTFTPサーバを用意する。
$ rpm -qa | grep tftp
tftp-0.39-1
tftp-server-0.39-1 |
として、TFTPサーバ(tftp-server)がインストールされていることを確認する。インストールされていない場合は、yumコマンドでインストールする。
TFTPサーバは、xinetd経由で起動される。FC3の場合、デフォルトでは起動しないようになっているため、/etc/xinetd.d/tftpを以下のように修正する。
service tftp
{
(省略)
disable = no ←「yes」を「no」に変更
(省略)
} |
修正したら、xinetdを再起動する。
次に、インストールするディストリビューションのISOファイルをTFTPサーバでマウントする。ここでは、FC3のISOイメージ(FC3-i386-DVD.iso)を/mnt/isoにマウントする。
# mkdir /mnt/iso
# mount -t iso9660 -o loop /tmp/FC3-i386-DVD.iso /mnt/iso |
次に、PXEサーバ(syslinux)がインストールされているか否かを確認する。
$ rpm -qa | grep syslinux
syslinux-2.11-1 |
「syslinux」という項目名が出でてこないときは、yumコマンドでインストールする。そして、ISOイメージの/images/pxebootディレクトリにあるPXE用のブートイメージをTFTPサーバ上にコピーする。
# cp /mnt/iso/images/pxeboot/vmlinuz /tftpboot/linux-install
# cp /mnt/iso/images/pxeboot/initrd.img /tftpboot/linux-install |
最後に、PXEブート用の設定ファイルを作成する。FC3の場合は、/tftpboot/inux-install/pxelinux.cfgディレクトリは作成されているので、そこに以下のような内容のファイル(/tftpboot/inux-install/pxelinux.cfg/default)を作成する。
default fc3
label fc3
kernel vmlinuz
append load initrd=initrd.img devfs=nomount |
以上でTFTPサーバに関する設定は終了だ。
次に、DHCPサーバの設定を行う。LAN内に別のDHCPサーバがある場合は、それを停止する。PXEサーバにDHCPサーバ(dhcp)がインストールされていないときは、yumコマンドでインストールする。
$ rpm -qa | grep dhcp
dhcpv6_client-0.10-11_FC3
dhcp-3.0.1-40_FC3
dhcpv6-0.10-11_FC3
dhcp-devel-3.0.1-40_FC3 |
DHCPサーバの設定ファイルは/etc/dhcpd.confになる(作成方法やDHCPサーバの起動方法については、DHCPサーバを立てるには参照)。/etc/dhcpd.confに以下の設定を追加する。
subnet 192.168.0.0 netmask 255.255.255.0 { ←自分の環境に合わせる
(省略)
filename "/linux-install/pxelinux.0"; ←追加
} |
注:動作を確認した環境(FC3)では、/etc/dhcpd.confに「option vendor-class-identifier "PXEClient";」の行を追加すると、PXEでのブートができなくなる。 |
修正が終わったら、DHCPサーバを再起動する。
以上でDHCPサーバの設定は終了だ。
さらに、インストール用のパッケージなどを転送するサーバを用意する。ここでは、すでに起動しているHTTPサーバ(Apache)を使用するが、FTPサーバもしくはNFSサーバでも構わない。TFTPサーバの設定を行った際に、FC3のISOイメージを/mnt/isoにマウントしているので、そのディレクトリをLANに対して公開する。そのために、/etc/httpd/conf/httpd.confに以下の設定を追加する。
Alias /fedora "/mnt/iso"
<Directory /mnt/iso>
Options MultiViews Indexes FollowSymLinks
Order deny,allow
Deny from all
Allow from 192.168.0.0/24 127.0.0.1
</Directory> |
修正が終わったら、HTTPサーバを再起動する。
以上で、PXEサーバの設定は終了だ。PXEサーバを利用してLinuxをインストールする方法については、PXEネットワークブートでLinuxをインストールするにはを参照。
なお、ファイアウォールを有効にしている場合は、いくつかのポートを開ける必要がある。PXE関連で使用するポートは以下のとおり。
|
プログラム |
ポート番号 |
プロトコル |
DHCP |
67 |
UDP |
FTFP |
69 |
UDP |
PXE |
4011 |
UDP |
|
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間