amd64用の起動ディスクの作成を省く目的で行ないました。
dhcpサーバとtftpサーバが動作するOSであればWin/Linux/Macを問いません。
今回は、Debian Lennyを使用した方法です。
■必要なパッケージの確認とインストール。
※tftpクライアントも用意します。
$ echo dhcp3-server atftpd tftp | apt-cache show `xargs` | less
※dhcp-3serverインストール時に下記のエラーが出ますが、
設定していないからですので問題ありません。
Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics.
invoke-rc.d: initscript dhcp3-server, action "start" failed.
■必要な起動イメージをダウンロード、圧縮ファイルを展開します。
$ wget ftp://ftp.riken.jp/11/debian/debian/dists/squeeze/main/installer-amd64/20110106+squeeze1/images/netboot/netboot.tar.gz
$ cd /var/lib/tftpboot && sudo tar zxvf ~/netboot.tar.gz
■「dhcpd.conf」の設定
インストール時にエラーが出る通り、初期設定では使えません。
構文は最後に「;」が必要ですので忘れないようにします。
「/etc/dhcp3-server」で再起動時に構文チェックがあるので、問題があればはじかれます。
vim で修正しますので、修正箇所を示します。
☆「option domain-name」で始まる2行はコメントアウトします。
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
☆「authoritative」のコメントアウトを外します。
☆subnetを設定します。ネットワーク情報は「ifconfig」コマンド等で確認、
自身の環境に合わせて下さい。
※正しいMACアドレスを確認して下さい。
ダミーのMACアドレスの場合、構文チェックは通るように
下記のように16進数で先にMACアドレスを指定しておきます。
subnet 192.168.1.0 netmask 255.255.255.0{
option routers 192.168.1.10;
option broadcast-address 192.168.1.255;
}
host clienthoge {
hardware ethernet 00:ff:ff:ff:ff:ff;
fixed-address 192.168.1.100;
filename "pxelinux.0";
}
☆dhcpサービスを再起動します。
☆トラブルシュートは?
☆設定ファイルの構文は?
■tftpサーバの設定
「/etc/default/atftpd」が設定ファイルです。
「inetd」経由の起動は行ないません。
☆inetdの使用停止「USE_INETD=true ⇒ USE_INETD=false」に変更
USE_INETD=false
☆デーモンとして起動する「--daemon」オプションを追加、他はそのまま。
OPTIONS="--daemon --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758
--mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5
/var/lib/tftpboot"
☆tftpサーバのサービスを再起動する
■tftpサービスの動作を確認する
下記のようにすれば分かるはず。。。
tftp> ?
tftp> status
tftp> verbose
tftp> get test.txt
tftp> quit
■DHCPサーバのサービスを確認する
☆DHCPサーバのポートを監視する。
詳細パケットでMACアドレス等を確認出来る。
○DHCPリクエストの受信
23:03:53.378066 IP (tos 0x0, ttl 32, id 51499, offset 0, flags [DF], proto UDP (17), length 576)
192.168.0.1.bootps > 255.255.255.255.bootpc: BOOTP/DHCP, Reply, length 548, xid 0x18f927cc, Flags [Broadcast] (0x8000)
○DHCPリクエストに応答
○atftpdとの通信
■Debian Squeeze AMD64版のインストール
起動時に「DHCP...」表示の後、インストーラのメニュー画面が出れば正常。
私の環境ではインストール中のミラーサイトの設定画面で、
プロキシを設定しないと外に出れなかった。
ネットワークから起動イメージを持ってくる方法だと、若干時間がかかるかも知れない。
疎通確認手段を別に持って、気長に待つと良い。
最小インストールとsshをインストールすると、後はリモートで作業が出来るのが嬉しい。
■後片付け
一時的なDHCPネットワーク割り当てをいつまでも残してはならない。
atftpdは、危険性を排除する設定を自身で行なえないなら、即座に無効にしなくてはならない。
また、インストール後に確実にインストールしたHDDから起動出来るようにする為にも、
不要なサービス停止処理は必須。
☆DHCPサーバ、TFTPサーバをを停止する。
他に類似の利用していないサービスがないかも併せて確認する。
ランレベルは「update-rc.d」なり、RH系(Debianにもある)の「chkconfig」なりで動作しないようにする。
サーバとして、AMD64を載せているシステムは最近はあまり見かけませんが、
まったりと遊べそうですね。。。