在 Ubuntu 14.04 中配置 PXE 服務器

PXE(預啓動執行環境Preboot Execution Environment)服務器容許用戶從網絡中啓動 Linux 發行版而且能夠不須要 Linux ISO 鏡像就能同時在數百臺 PC 中安裝。若是你客戶端的計算機沒有 CD/DVD 或USB 引導盤,或者若是你想在大型企業中同時安裝多臺計算機,那麼 PXE 服務器能夠幫你節省時間和金錢。linux

在這篇文章中,咱們將告訴你如何在 Ubuntu 14.04 配置 PXE 服務器。ubuntu

 

配置網絡服務器

開始前,你須要先設置 PXE 服務器使用靜態 IP。在你的系統中要使用靜態 IP 地址,須要編輯 「/etc/network/interfaces」 文件。網絡

打開 「/etc/network/interfaces」 文件.app

sudo nano /etc/network/interfaces運維

做以下修改:async

# 迴環網絡接口oop

auto lolinux運維

iface lo inet loopback網站

# 主網絡接口

auto eth0

iface eth0 inet static

address 192.168.1.20

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 8.8.8.8

保存文件並退出。這將設置其 IP 地址爲「192.168.1.20」。而後從新啓動網絡服務。

sudo /etc/init.d/networking restart

 

安裝 DHCP, TFTP 和 NFS:

DHCP,TFTP 和 NFS 是 PXE 服務器的重要組成部分。首先,須要更新你的系統並安裝全部須要的軟件包。

爲此,運行如下命令:

sudo apt-get update

sudo apt-get install isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server

 

配置 DHCP 服務:

DHCP 表明動態主機配置協議Dynamic Host Configuration Protocol,它主要用於動態分配網絡配置參數,如用於接口和服務的 IP 地址。在 PXE 環境中,DHCP 服務器容許客戶端請求並自動得到一個 IP 地址來訪問網絡。

一、編輯 「/etc/default/dhcp3-server」 文件.

sudo nano /etc/default/dhcp3-server

做以下修改:

INTERFACES="eth0"

保存 (Ctrl + o) 並退出 (Ctrl + x) 文件.

二、編輯 「/etc/dhcp3/dhcpd.conf」 文件:

 

sudo nano /etc/dhcp/dhcpd.conf

做以下修改:

default-lease-time 600;

max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.21 192.168.1.240;

option subnet-mask 255.255.255.0;

option routers 192.168.1.20;

option broadcast-address 192.168.1.255;

filename "pxelinux.0";

next-Server 192.168.1.20;

}

保存文件並退出。

三、啓動 DHCP 服務.

sudo /etc/init.d/isc-dhcp-server start

 

配置 TFTP 服務器:

TFTP 是一種文件傳輸協議,相似於 FTP,但它不用進行用戶認證也不能列出目錄。TFTP 服務器老是監聽網絡上的 PXE 客戶端的請求。當它檢測到網絡中有 PXE 客戶端請求 PXE 服務時,它將提供包含引導菜單的網絡數據包。

一、配置 TFTP 時,須要編輯 「/etc/inetd.conf」 文件.

sudo nano /etc/inetd.conf

做以下修改:

tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

保存文件並退出。

二、編輯 「/etc/default/tftpd-hpa」 文件。

sudo nano /etc/default/tftpd-hpa

做以下修改:

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/var/lib/tftpboot"

TFTP_ADDRESS="[:0.0.0.0:]:69"

TFTP_OPTIONS="--secure"

RUN_DAEMON="yes"

OPTIONS="-l -s /var/lib/tftpboot"

保存文件並退出。

三、 使用 xinetd 讓 boot 服務在每次系統開機時自動啓動,並啓動tftpd服務。

sudo update-inetd --enable BOOT

sudo service tftpd-hpa start

四、檢查狀態。

sudo netstat -lu

它將以下所示:

Proto Recv-Q Send-Q Local Address Foreign Address State

udp 0 0 *:tftp *:*

 

配置 PXE 啓動文件

如今,你須要將 PXE 引導文件 「pxelinux.0」 放在 TFTP 根目錄下。爲 TFTP 建立目錄結構,並從 「/usr/lib/syslinux/」 複製 syslinux 提供的全部引導程序文件到 「/var/lib/tftpboot/」 下,操做以下:

 

sudo mkdir /var/lib/tftpboot

sudo mkdir /var/lib/tftpboot/pxelinux.cfg

sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp /usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/

sudo cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/

 

設置 PXELINUX 配置文件

PXE 配置文件定義了 PXE 客戶端啓動時顯示的菜單,它能引導並與 TFTP 服務器關聯。默認狀況下,當一個 PXE 客戶端啓動時,它會使用本身的 MAC 地址指定要讀取的配置文件,因此咱們須要建立一個包含可引導內核列表的默認文件。

編輯 PXE 服務器配置文件,使用有效的安裝選項。

編輯 「/var/lib/tftpboot/pxelinux.cfg/default」:

sudo nano /var/lib/tftpboot/pxelinux.cfg/default

做以下修改:

DEFAULT vesamenu.c32

TIMEOUT 100

PROMPT 0

MENU INCLUDE pxelinux.cfg/PXE.conf

NOESCAPE 1

LABEL Try Ubuntu 14.04 Desktop

MENU LABEL Try Ubuntu 14.04 Desktop

kernel Ubuntu/vmlinuz

append boot=casper netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64

initrd=Ubuntu/initrd.lz quiet splash

ENDTEXT

LABEL Install Ubuntu 14.04 Desktop

MENU LABEL Install Ubuntu 14.04 Desktop

kernel Ubuntu/vmlinuz

append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.1.20:/var/lib/tftpboot/Ubuntu/14.04/amd64

initrd=Ubuntu/initrd.lz quiet splash

ENDTEXT

保存文件並退出。

編輯 「/var/lib/tftpboot/pxelinux.cfg/pxe.conf」 文件。

sudo nano /var/lib/tftpboot/pxelinux.cfg/pxe.conf

做以下修改:

MENU TITLE PXE Server

NOESCAPE 1

ALLOWOPTIONS 1

PROMPT 0

MENU WIDTH 80

MENU ROWS 14

MENU TABMSGROW 24

MENU MARGIN 10

MENU COLOR border 30;44 #ffffffff #00000000 std

保存文件並退出。

 

爲 PXE 服務器添加 Ubuntu 14.04 桌面啓動鏡像

對於這一步須要 Ubuntu 內核和 initrd 文件。要得到這些文件,你須要 Ubuntu 14.04 桌面 ISO 鏡像。你能夠經過如下命令下載 Ubuntu 14.04 ISO 鏡像到 /mnt 目錄:

sudo cd /mnt

sudo wget http://releases.ubuntu.com/14.04/ubuntu-14.04.3-desktop-amd64.iso

注意: 下載用的 URL 可能會改變,由於 ISO 鏡像會進行更新。若是上面的網址沒法訪問,看看這個網站,瞭解最新的下載連接。

掛載 ISO 文件,使用如下命令將全部文件複製到 TFTP文件夾中:

sudo mount -o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso /media/

sudo cp -r /media/* /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp -r /media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp /media/casper/initrd.lz /media/casper/vmlinuz /var/lib/tftpboot/Ubuntu/

 

將導出的 ISO 目錄配置到 NFS 服務器上

如今,你須要經過 NFS 協議來設置「安裝源鏡像( Installation Source Mirrors)」。你還能夠使用 HTTP 和 FTP 來安裝源鏡像。在這裏,我已經使用 NFS 輸出 ISO 內容。

要配置 NFS 服務器,你須要編輯 「/etc/exports」 文件。

sudo nano /etc/exports

做以下修改:

/var/lib/tftpboot/Ubuntu/14.04/amd64 *(ro,async,no_root_squash,no_subtree_check)

保存文件並退出。爲使更改生效,輸出並啓動 NFS 服務。

sudo exportfs -a

sudo /etc/init.d/nfs-kernel-server start

如今,你的 PXE 服務器已經準備就緒。

 

配置網絡引導 PXE 客戶端

PXE 客戶端能夠是任何支持 PXE 網絡引導的計算機系統。如今,你的客戶端只須要在系統的 BIOS 中設置 「從網絡引導(Boot From Network)」 選項就能夠啓動並安裝 Ubuntu 14.04 桌面。

如今準備出發吧 - 用網絡引導啓動你的 PXE 客戶端計算機,你如今應該看到一個子菜單,顯示了咱們建立的 Ubuntu 14.04 桌面的菜單項。

 

結論

配置使用 PXE 服務器從網絡啓動安裝能提升效率和節省時間。你能夠在本地網絡中同時安裝數百個客戶端。全部你須要的只是一個 PXE 服務器和能啓動 PXE 的客戶端。

免費領取兄弟連IT教育原創linux運維工程師視頻/細說linux教程,詳情諮詢官網客服:http://www.lampbrother.net/linux/

或者勾搭Q2430675018

歡迎加入linux交流羣 478068715

相關文章
相關標籤/搜索