このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。
dnsmasqは、小規模なネットワークでDNSフォワーダ、DHCPサーバーおよびTFTPサーバーとして機能するように設計されています。 dnsmasqを使用すると、DHCPサービスとTFTPサービスを個別に構成する必要がありません。 dnsmasqの詳細は、dnsmasq(8)
マニュアル・ページ、/usr/share/doc/dnsmasq-
およびhttp://www.thekelleys.org.uk/dnsmasq/doc.htmlを参照してください。
version
PXEクライアント・インストール・リクエストに対してdnsmasqを構成するには:
dnsmasq
パッケージをインストールします。#
yum install dnsmasq
/etc/dnsmasq.conf
を編集し、次の例のように、ネットワーク上のPXEクライアントおよび他のシステムに対するエントリを構成します。interface=eth1 dhcp-range=10.0.0.101,10.0.0.200,6h dhcp-host=80:00:27:c6:a1:16,10.0.0.253,svr1,infinite dhcp-boot=pxelinux/pxelinux.0 enable-tftp tftp-root=/var/lib/tftpboot
サンプルの構成ファイル内の行により、次の処理が行われます。
-
interface=eth1
インタフェース
eth1
のみの受信クライアント・リクエストをリスニングします。-
dhcp-range=10.0.0.101,10.0.0.200,6h
6時間のリースで、10.0.0/24サブネット上に10.0.0.101から10.0.0.200までの範囲で、一般に使用可能なIPアドレスのプールを予約します。
ノートdhcp-range
の設定は、dnsmasqが提供するDHCPサービスを有効にするために必要です。 静的アドレスは構成するがアドレス・プールは構成しない場合、次の例のように、静的ネットワーク・アドレスとキーワードstatic
およびinfinite
を指定してください。dhcp-range=10.0.0.253,static,infinite
-
dhcp-host=80:00:27:c6:a1:16,10.0.0.253,svr1,infinite
svr1
に対して無期限のリース時間でIPアドレス10.0.0.253を予約します(これはMACアドレス08:00:27:c6:a1:16で識別されます)。-
dhcp-boot=pxelinux/pxelinux.0
PXEクライアントに必要なブート・ローダー・ファイルの場所を指定します。 この例では、BIOSベースのPXEクライアントをサポートしています。 UEFIベースのクライアントをサポートするエントリは、次の形式で指定できます。
dhcp-boot=efi/BOOTX64.efi
dnsmasqではなく個別のTFTPサーバーを使用する場合は、次の例のように、ブート・ローダー・パスの後にそのIPアドレスを指定します。
dhcp-boot=pxelinux/pxelinux.0,10.0.0.11
-
enable-tftp
dnsmasqが提供するTFTPサービスを有効にします。
-
tftp-root=/var/lib/tftpboot
TFTPが提供するファイルのルート・ディレクトリを指定します。 クライアントがホスト上のファイルにアクセスできないように、dnsmasqは、パス要素として
..
を指定するリクエストを拒否します。
-
TFTPサービスを提供するようにdnsmasqを構成するには、次の手順を実行します。
次の例のように、TFTPサーバー・ディレクトリを作成します。
#
mkdir -p /var/lib/tftpboot/pxelinux/pxelinux.cfg
次の例のように、インストール・カーネルとRAMディスク・イメージのファイルをTFTPサーバー・ディレクトリ階層にコピーします。
#
wget http://10.0.0.11/OSimage/OL6.6/isolinux/vmlinuz
\-O /var/lib/tftpboot/pxelinux/vmlinuz
#wget http://10.0.0.11/OSimage/OL6.6/isolinux/initrd.img
\-O /var/lib/tftpboot/pxelinux/initrd.img
この例では、HTTPを使用してインストール・サーバーからファイルを取得します。
BIOSベースのPXEクライアントをサポートする場合は、
syslinux
パッケージをインストールし、pxelinux.0
ブート・ローダーをTFTPサーバー・ディレクトリ階層にコピーします。#
yum install syslinux
#cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux/pxelinux.0
UEFIベースのPXEクライアントをサポートする場合は、次の例のように、
BOOTX64.efi
ブート・ローダーとスプラッシュ・イメージのファイルをTFTPサーバー・ディレクトリ階層にコピーします。#
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
デフォルトのブート・ローダー構成ファイル(
efi/efidefault
やpxelinux/pxelinux.cfg/default
など)を作成します。詳細は、1.4.9項「ブート・ローダー構成ファイルについて」を参照してください。
システムでSELinuxがenforcingモードで有効になっている場合、次の例のように、semanageコマンドを使用してTFTPサーバー・ディレクトリ階層のデフォルト・ファイル・タイプを
tftpdir_t
として定義してから、restoreconコマンドを使用してファイル・タイプをディレクトリ階層全体に適用します。#
/usr/sbin/semanage fcontext -a -t tftpdir_t "/var/lib/tftpboot(/.*)?"
#/sbin/restorecon -R -v /var/lib/tftpboot
ノートsemanageおよび「restoreconコマンドは、
policycoreutils-python
およびpolicycoreutils
パッケージで提供されます。
dnsmasqをキャッシング専用のネーム・サーバーとして設定する場合は、他のネーム・サーバー・エントリより前に、127.0.0.1のネーム・サーバー・エントリを構成してください。
dnsmasqは、127.0.0.1エントリを無視して、DNS問合せをリスト内の他のネーム・サーバーに転送します。
NetworkManager
サービスが有効になっている場合、グラフィカル・アプレット、nm-connection-editorユーティリティまたはsystem-config-networkユーティリティを使用して、ネーム・サービス・エントリを構成できます。 あるいは、次の例のように、/etc/resolv.conf
内に直接ネーム・サーバー・エントリを構成することもできます。nameserver 127.0.0.1 nameserver 10.0.0.8 nameserver 10.0.0.4
dnsmasq
サービスを起動して、リブート後に起動するように構成します。#
service dnsmasq start
#chkconfig dnsmasq on
/etc/dnsmasq.conf
に変更を加えた場合は、dnsmasq
サービスを再起動してください。 ブート・ローダー構成ファイルの内容を変更した場合、サービスを再起動する必要はありません。ファイアウォールを構成します。
次の例のように、DHCPリクエストによるアクセスを許可します。
#
iptables -I INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j ACCEPT
この例では、サーバーはインタフェース
eth1
でリクエストを受信することを予期します。dnsmasqでTFTPを有効にした場合は、TFTPリクエストによるアクセスを許可します。
#
iptables -I INPUT -i eth1 -p udp --dport 69 -j ACCEPT
dnsmasqをキャッシング専用のネーム・サーバーとして設定する場合は、DNSリクエストによるアクセスを許可します。
#
iptables -I INPUT -i eth1 -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
#iptables -I INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
構成を保存します。
#
service iptables save
自動インストールを実行するためにキックスタートを構成および使用する方法については、第3章、「キックスタートを使ってOracle Linuxをインストール」を参照してください。