ウェブサイト検索

DNSMASQネットワークブートサーバーを使用したクライアントマシン上の「Debian 7 (Wheezy)」のネットワークインストール


このチュートリアルでは、サーバーがCD/DVD/USBメディアドライブから起動する方法を提供していない、または接続されたモニター、キーボード、マウスのみで操作可能な場合に、DNSMASQをPXEサーバー(プレブート実行環境)として使用して、ネットワークの場所から直接Debian 7(Wheezy)をインストールする方法を説明します。

DNSMASQは、DNS、DHCP、ネットワークブートなどの重要なネットワークサービスを提供できる軽量なネットワークインフラサーバーであり、内蔵のDNS、DHCP、TFTPサーバーを使用しています。

PXEサーバーが稼働している状態になったら、すべてのクライアントマシンに直接ネットワークから起動するよう指示できます。ただし、クライアントがネットワークブートをサポートするネットワークカードを所有している必要があります。この設定はBIOSのネットワークブートまたはブートサービスのオプションから有効にすることができます。

要件

  1. Debian 7 (Wheezy) インストールガイド

ステップ1: DNSMASQサーバーをインストールして設定する

1. まず最初に、Debian Serverをインストールしたら、システムが静的IPアドレスを使用していることを確認してください。なぜなら、ネットワークブートの他に、ネットワークセグメント全体にDHCPサービスも提供するからです。静的IPアドレスの設定が完了したら、ルートアカウントまたはルート権限を持つユーザーを使用して以下のコマンドを実行し、DNSMASQサーバーをインストールします。

# apt-get install dnsmasq

2. DNSMASQパッケージをインストールしたら、その設定ファイルの編集を開始できます。まず、メイン設定のバックアップを作成し、次に以下のコマンドを実行してdnsmasq.confファイルの編集を開始します。

# mv /etc/dnsmasq.conf  /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

3. 上記のバックアッププロセスは、メインの設定ファイルの名前を変更することでしたので、新しいファイルは空のものである必要があります。以下に説明されているDNSMASQ設定ファイルの抜粋を使用してください。

interface=eth0
domain=debian.lan
dhcp-range=192.168.1.3,192.168.1.253,255.255.255.0,1h
dhcp-boot=pxelinux.0,pxeserver,192.168.1.100
pxe-prompt="Press F8 for menu.", 60
#pxe-service types: x86PC, PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
pxe-service=x86PC, "Install Debian 7 Linux from network server 192.168.1.100", pxelinux
enable-tftp
tftp-root=/srv/tftp

  1. インターフェース – サーバーがリッスンすべきネットワークインターフェース。
  2. ドメイン – あなたのドメイン名に置き換えてください。
  3. dhcp-range - あなたのネットワークマスクで定義されたネットワークIP範囲に置き換えてください。
  4. dhcp-boot - デフォルトのままにしておきますが、IPステートメントをあなたのサーバーのIPアドレスに置き換えてください。
  5. pxe-prompt – デフォルトのままにしてください – メニュー60に入るためにはF8キーを押す必要があり、待機時間は数秒です。
  6. pxe=service – 32ビット/64ビットアーキテクチャの場合はx86PCを使用し、文字列の引用符の下にメニューの説明プロンプトを入力します。他の値のタイプには、PC98、IA64_EFI、Alpha、Arc_x86、Intel_Lean_Client、IA32_EFI、BC_EFI、Xscale_EFIおよびX86-64_EFIがあります。
  7. enable-tftp – 内蔵のTFTPサーバーを有効にします。
  8. tftp-root – Debian ネットブートファイルの場所は /srv/tftp です。

ステップ2: Debianネットブートファイルをダウンロードし、ファイアウォール接続を開く

4. さて、Debianネットワークブートファイルをダウンロードする時間です。まず、現在の作業ディレクトリパスを最後の設定文で定義されたTFTPルートの場所(/srv/tftpシステムパス)に変更します。

Debian Netinstallの公式ページのミラーにアクセスし、クライアントにインストールしたいシステムアーキテクチャに応じて、ネットワークブートセクションから以下のファイルを取得してください。

一度、netboot.tar.gzファイルをダウンロードしたら、同時にアーカイブを展開してください(この手順は64ビット専用ですが、他のシステムアーキテクチャにも同様の手順が適用されます)。

# cd /srv/tftp/
wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xfz netboot.tar.gz
wget http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/current/images/SHA256SUMS
wget http://ftp.nl.debian.org/debian/dists/wheezy/Release
wget http://ftp.nl.debian.org/debian/dists/wheezy/Release.gpg

また、TFTP ディレクトリ内のすべてのファイルを TFTP サーバーが読み取れるようにする必要があるかもしれません。

# chmod -R 755 /srv/tftp/

Debian Netinstallミラーとアーキテクチャのために、次の変数を使用してください。

# wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/netboot/netboot.tar.gz
wget http://"$YOURMIRROR"/debian/dists/wheezy/main/installer-"$ARCH"/current/images/SHA256SUMS
wget http://"$YOURMIRROR"/debian/dists/wheezy/Release
wget http://"$YOURMIRROR"/debian/dists/wheezy/Release.gpg

5. 次のステップでDNSMASQデーモンを開始または再起動し、netstatコマンドを実行してサーバーがリスニングしているポートの一覧を取得します。

# service dnsmasq restart
netstat -tulpn | grep dnsmasq

6. Debian ベースのディストリビューションは通常 UFW ファイアウォール パッケージを搭載しています。必要な DNSMASQ ポート番号を開くために次のコマンドを使用してください: 67 (Bootps)、69 (TFTP)、53 (DNS)、4011 (proxyDHCP) udp および 53 tcp (DNS) 。

# ufw allow 69/udp
ufw allow 4011/udp   ## Only if you have a ProxyDHCP on the network
ufw allow 67/udp
ufw allow 53/tcp
ufw allow 53/udp

今、クライアントネットワークインターフェースにあるPXEローダーは、この順序を使用して/srv/tftp/pxelinux.cfgディレクトリからpxelinux設定ファイルをロードします。

  1. GUIDファイル
  2. MACファイル
  3. デフォルトファイル

ステップ3: クライアントをネットワークからブートするように構成する

7. クライアントコンピュータのネットワークブートを有効にするには、システムのBIOS設定に入ります(BIOS設定に入る方法はハードウェアのマザーボードベンダーの文書を参照してください)。

ブートメニューに移動し、ネットワークブートをプライマリブートデバイスとして選択します(いくつかのシステムでは、BIOS POST中にキーを押すことで、BIOS設定に入らずにブートデバイスを選択できます)。

8. ブート順序を編集した後は、通常、F10を押してBIOS設定を保存します。再起動後、クライアントコンピュータはネットワークから直接起動し、最初のPXEプロンプトが表示され、メニューに入るためにF8キーを押すよう要求されます。

次に、F8キーを押して前に進むと、新しいプロンプトが表示されるはずです。もう一度Enterキーを押すと、メインのDebianインストーラーのプロンプトが以下のスクリーンショットのように画面に表示されるはずです。

ここから、上記に示したインストールリンクを使用して、Debian 7 Wheezyの手順に従ってマシンにDebianをインストールできますが、インストールプロセスを完了するために、マシンにアクティブなインターネット接続があることを確認する必要もあります。

ステップ4: DNSMASQサーバーのデバッグとシステム全体での有効化

9. サーバーで発生した可能性のある問題やクライアントに提供されるその他の情報を診断するために、次のコマンドを実行してログファイルを開いてください。

# tailf /var/log/daemon.log

10. サーバーテスト中にすべてが整っている場合、sysv-rc-conf パッケージの助けを借りて、システム再起動後に自動的に起動するように DNSMASQ デーモンを有効にすることができます。

# apt-get install sysv-rc-conf
sysv-rc-conf dnsmaq on

それで全部です!これであなたのPXEサーバーはIPアドレスを割り当てる準備が整い(DHCP)、ネットワークセグメント内のすべてのクライアントに必要なブート情報を提供することができます。これらのクライアントはネットワークからDebian Wheezyをブートしてインストールするように設定されます。

PXEネットワークブートインストールを使用することには、サーバーホストの数が増加したネットワークでいくつかの利点があります。短期間でネットワークの全インフラを設定でき、アップグレードプロセスの配布を容易にし、kickstartファイルを使用してインストールプロセス全体を自動化することも可能です。

関連記事: