溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Ubuntu系統(tǒng)上配置PXE服務器

發(fā)布時間:2021-09-26 17:15:47 來源:億速云 閱讀:237 作者:iii 欄目:系統(tǒng)運維

本篇內容主要講解“如何在Ubuntu系統(tǒng)上配置PXE服務器”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何在Ubuntu系統(tǒng)上配置PXE服務器”吧!

PXE概述
PXE(preboot execute environment,預啟動執(zhí)行環(huán)境)是由Intel公司開發(fā)的最新技術,工作于Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,并由此支持通過網絡啟動操作系統(tǒng),在啟動過程中,終端要求服務器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議下載一個啟動軟件包到本機內存中執(zhí)行,由這個啟動軟件包完成終端(客戶?)基本軟件設置,從而引導預先安裝在服務器中的終端操作系統(tǒng)。

簡單說來,PXE服務器就是DHCP服務器+TFTP服務器。網絡啟動過程大概是這樣的(可能并不嚴謹):客戶端發(fā)送動態(tài)獲得IP地址的廣播包到網絡上,DHCP服務器在收到該廣播包后,發(fā)送給客戶端分配IP地址的回應包,客戶端收到回應包后設置自己的IP地址,然后從DHCP服務器獲得啟動服務器的IP地址(DHCP服務器066選項,這就是TFTP服務器的IP地址)及啟動文件名(DHCP服務器067選項,這里的啟動文件名就是pxelinux.0或者支持pxe的grub4dos的grldr,當然,也可以是startrom.n12或者使用3com Image Edit創(chuàng)建的pxe啟動菜單文件,總之,它應該是一種由pxe啟動規(guī)范規(guī)定的固定格式的可執(zhí)行文件),然后客戶端到聯系啟動服務器(TFTP服務器)獲得啟動文件并執(zhí)行,這樣基本上就完成了pxe啟動過程。

在Unix或者Linux系統(tǒng)下,DHCP服務器和TFTP服務器一般都是分開設置的,兩臺服務器甚至可以在兩臺不同的機器上,其實Windows下的設置也是一樣的,但在Windows下,我們可以通過使用HaneWin DHCP服務器軟件或TFTPD32一個軟件就搞定(我個人推薦使用HaneWin DHCP服務器軟件,但TFTPD32設置起來更簡單一些,就是效率有些低),詳細的設置方法請自己摸索,你只要知道,在設置PXE服務器時,要設置好DHCP和TFTP兩個服務器,其中DHCP服務器要設置啟動服務器名(066選項)和啟動文件名(067選項)。

配置網絡
開始前,你需要先設置 PXE 服務器使用靜態(tài) IP。在你的系統(tǒng)中要使用靜態(tài) IP 地址,需要編輯 “/etc/network/interfaces” 文件。

打開 “/etc/network/interfaces” 文件.

代碼如下:


sudo nano /etc/network/interfaces


作如下修改:

代碼如下:


# 回環(huán)網絡接口
auto lo
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 服務器的重要組成部分。首先,需要更新你的系統(tǒng)并安裝所有需要的軟件包。

為此,運行以下命令:

代碼如下:


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


配置 DHCP 服務:
DHCP 代表動態(tài)主機配置協(xié)議Dynamic Host Configuration Protocol,它主要用于動態(tài)分配網絡配置參數,如用于接口和服務的 IP 地址。在 PXE 環(huán)境中,DHCP 服務器允許客戶端請求并自動獲得一個 IP 地址來訪問網絡。

1、編輯 “/etc/default/dhcp3-server” 文件.

代碼如下:


sudo nano /etc/default/dhcp3-server


作如下修改:

代碼如下:


INTERFACES="eth0"


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

2、編輯 “/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;
}


保存文件并退出。

3、啟動 DHCP 服務.

代碼如下:


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


配置 TFTP 服務器:
TFTP 是一種文件傳輸協(xié)議,類似于 FTP,但它不用進行用戶認證也不能列出目錄。TFTP 服務器總是監(jiān)聽網絡上的 PXE 客戶端的請求。當它檢測到網絡中有 PXE 客戶端請求 PXE 服務時,它將提供包含引導菜單的網絡數據包。

1、配置 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


保存文件并退出。

2、編輯 “/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"


保存文件并退出。

3、 使用 xinetd 讓 boot 服務在每次系統(tǒng)開機時自動啟動,并啟動tftpd服務。

代碼如下:


sudo update-inetd --enable BOOT
sudo service tftpd-hpa start


4、檢查狀態(tài)。

代碼如下:


sudo netstat -lu


它將如下所示:

代碼如下:


Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*


配置 PXE 啟動文件
現在,你需要將 PXE 引導文件 “pxelinux.0” 放在 TFTP 根目錄下。為 TFTP 創(chuàng)建目錄結構,并從 “/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 地址指定要讀取的配置文件,所以我們需要創(chuàng)建一個包含可引導內核列表的默認文件。

編輯 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 協(xié)議來設置“安裝源鏡像( 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 網絡引導的計算機系統(tǒng)?,F在,你的客戶端只需要在系統(tǒng)的 BIOS 中設置 “從網絡引導(Boot From Network)” 選項就可以啟動并安裝 Ubuntu 14.04 桌面。

現在準備出發(fā)吧 - 用網絡引導啟動你的 PXE 客戶端計算機,你現在應該看到一個子菜單,顯示了我們創(chuàng)建的 Ubuntu 14.04 桌面的菜單項。
如何在Ubuntu系統(tǒng)上配置PXE服務器

到此,相信大家對“如何在Ubuntu系統(tǒng)上配置PXE服務器”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI