LoginSignup
3
4

More than 5 years have passed since last update.

ubuntu16.04 PXEBOOTインストール手順備忘録

Last updated at Posted at 2019-01-26

0.はじめに

 自分の勤める会社では、セキュリティ強化の一環でDVDメディアへの書き込みやUSBメモリの使用が禁止となっており、従来のハードウェアにLinuxをインストールしようとしても、かつてのように気軽にできなくなってきました。
 そこで自分のPCに立てた仮想マシンに、DHCPサーバおよびTFTPサーバを設定し、PXEBOOTで別PCに導入することを行いましたので、その時の手順を備忘録としてここに残します。
 PXEBootの手順は、ググるといくつか出てきますが、思った通りに動かなかったので、今回実施してうまくいった内容をここに記載します。

1.構成図

・Ubuntu用サーバは、有線LANの口が一つ以上あること。
・業務PCは、WiFiと有線LANの口が一つ以上あること。
image.png

2.仮想マシンへのUbuntu OS導入

①Windows PCにVirtualBoxを導入します。(今回の本題ではないので、詳細はスキップ)
②Ubuntu Server 16.04のISOイメージをダウンロードします。
 http://releases.ubuntu.com/16.04/からubuntu-16.04.5-server-amd64.isoを選択。
③VirtualBoxで仮想マシンを新規作成します。(基本はデフォルト設定で作成します)
④ネットワークの設定を変更します。
 アダプター2を有効にし、割り当てにブリッヂアダプター、アダプタータイプは有線NICを指定します。
⑤ストレージ設定で、光学ドライブには、②でダウンロードしたISOファイルを指定します。
⑥仮想マシンを起動し、Ubuntuをインストールします。
 途中でNICを選択する画面が出ますが、enp0s3側を選択してください。
⑦インストール完了後、OSを再起動&ログインします。(opensshサーバを導入すると後が楽です。)
⑧sudo apt-get updateにてエラーにならないことを確認します。
⑨IPアドレスの確認を行う。
 enp0s3がNAT 10.0.2.15/24、enp0s8がIPアドレスなしになっていることを確認する。

コマンド
$ ip a
(中略)
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global enp0s3
       valid_lft forever preferred_lft forever
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff

3.DHCPサーバの設定

①有線NICのIPアドレスを設定します。

コマンド
$ sudo vi /etc/network/interfaces

下記を追記します。

auto enp0s8
iface enp0s8 inet static
address 192.168.0.1
netmask 255.255.255.0

ここでは、192.168.0.1/24を設定します。
設定後、OSを再起動します。

コマンド
$ sudo reboot
コマンド
$ ip a
(中略)
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever

②DHCPサーバのモジュールを導入します。

コマンド
$ sudo apt install -y isc-dhcp-server

③DHCPサーバで使用するインターフェースに有線NICを指定します。

コマンド
$ sudo vi /etc/default/isc-dhcp-server
INTERFACES="enp0s8"

④DHCPサーバの設定をします。

コマンド
$ sudo vi /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  option routers 192.168.0.1;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}

host ubuntu1 {
  hardware ethernet XX:XX:XX:XX:XX:XX; #UbuntuサーバのNICのMACアドレスに置換
  next-server 192.168.0.1;
  fixed-address 192.168.0.11;
  filename "pxelinux.0";
}
コマンド
$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl restart isc-dhcp-server

⑤仮想マシンをGWとするため、IPマスカレードの設定をします。

コマンド
$ sudo sysctl -w 'net.ipv4.ip_forward=1'
$ sudo iptables -t nat -F
$ sudo iptables -F
$ sudo iptables -L

$ sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
$ sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT

設定を保存します。

コマンド
$ sudo apt install -y iptables-persistent

4.TFTPサーバの設定

①TFTPサーバのモジュールを導入します。

コマンド
$ sudo apt-get install -y tftpd-hpa

②Ubuntuのnetboot.tar.gzをダウンロードします。

コマンド
$ cd /var/lib/tftpboot
$ sudo wget http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz

③netbootファイル群をTFTP用ディレクトリに配置します。

コマンド
$ sudo tar xvzf netboot.tar.gz

④TFTPサーバの再起動します。

コマンド
$ sudo systemctl restart tftpd-hpa.service

5.Ubuntu用PCをPXEBOOTモードで起動

①LANケーブルをUbuntu用PCとWindowsPCと接続します。
②Ubuntu用PCのBIOS画面で、PXEBootする設定を行い、起動します。
③Ubuntuのインストーラーが起動することを確認します。

以上で、PXEBootインストール手順の完了です。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4