在 Ubuntu 14.04 中配置 PXE 伺服器
PXE(預啟動執行環境)伺服器允許使用者從網路中啟動 Linux 發行版並且可以不需要 Linux ISO 映象就能同時在數百臺 PC 中安裝。如果你客戶端的計算機沒有 CD/DVD 或USB 引導盤,或者如果你想在大型企業中同時安裝多臺計算機,那麼 PXE 伺服器可以幫你節省時間和金錢。
在這篇文章中,我們將告訴你如何在 Ubuntu 14.04 配置 PXE 伺服器。
配置網路
開始前,你需要先設定 PXE 伺服器使用靜態 IP。在你的系統中要使用靜態 IP 地址,需要編輯 “/etc/network/interfaces” 檔案。
開啟 “/etc/network/interfaces” 檔案.
sudo nano /etc/network/interfaces
作如下修改:
# 迴環網路介面
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 伺服器的重要組成部分。首先,需要更新你的系統並安裝所有需要的軟體包。
為此,執行以下命令:
sudo apt-get update
sudo apt-get install isc-dhcp-Server inetutils-inetd tftpd-hpa syslinux nfs-kernel-Server
配置 DHCP 服務:
DHCP 代表動態主機配置協議,它主要用於動態分配網路配置引數,如用於介面和服務的 IP 地址。在 PXE 環境中,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 是一種檔案傳輸協議,類似於 FTP,但它不用進行使用者認證也不能列出目錄。TFTP 伺服器總是監聽網路上的 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 服務在每次系統開機時自動啟動,並啟動tftpd服務。
sudo update-inetd --enable BOOT
sudo service tftpd-hpa start
4、檢查狀態。
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 的客戶端。試試吧,如果這個對你有用請讓我們知道。
參考:
圖片來源: fupsolunl20
via: https://www.maketecheasier.com/configure-pxe-server-ubuntu/
作者:Hitesh Jethva 譯者:strugglingyouth 校對:wxy
相關文章
- 在ubuntu14.04上配置SNMPv3Ubuntu
- 怎樣在Ubuntu 14.04中安裝JavaUbuntuJava
- 在Vmware Player 7中安裝Ubuntu14.04Ubuntu
- 在 Ubuntu 14.04 上安裝 Ubuntu Tweak 0.8.8Ubuntu
- Ubuntu 14.04下NFS安裝配置UbuntuNFS
- ubuntu14.04 建立ftp伺服器UbuntuFTP伺服器
- ubuntu14.04配置開發環境Ubuntu開發環境
- 在Ubuntu14.04上快速部署OpenStackUbuntu
- Ubuntu14.04 安裝tomcat伺服器UbuntuTomcat伺服器
- 在 Ubuntu 14.04 下安裝 mysql 5.7.10UbuntuMySql
- 在 Ubuntu 14.04 下使用 cgroups 和 DockerUbuntuDocker
- 在Ubuntu伺服器配置Swift編譯環境Ubuntu伺服器Swift編譯
- Cinnamon和Unity在Ubuntu14.04上的對抗UnityUbuntu
- ubuntu 14.04中開啟web服務步驟UbuntuWeb
- Ubuntu14.04搭建LAMPUbuntuLAMP
- Ubuntu14.04搭建LNMPUbuntuLNMP
- Flask 安裝 Ubuntu 14.04FlaskUbuntu
- 配置Ubuntu DNS伺服器UbuntuDNS伺服器
- Ubuntu 配置SSH伺服器Ubuntu伺服器
- ubuntu 14.04中開啟squid服務並將本機作為代理伺服器UbuntuUI伺服器
- 安裝配置 Ubuntu 14.04 + CUDA8.0 + cuDNN v5 + caffeUbuntuDNN
- ubuntu 14.04中開啟telnet服務步驟Ubuntu
- ubuntu 14.04中開啟vsftpd服務步驟UbuntuFTP
- 【openvpn】轉載:爛泥:ubuntu 14.04搭建OpenVPN伺服器Ubuntu伺服器
- Ubuntu 14.04 下安裝 OpenCVUbuntuOpenCV
- Docker proxy setting ubuntu 14.04DockerUbuntu
- Ubuntu14.04安裝JDKUbuntuJDK
- Install Composer on Ubuntu 14.04Ubuntu
- Ubuntu 14.04 LTS 安裝DockerUbuntuDocker
- Ubuntu 14.04 安裝 JDK 7.0UbuntuJDK
- 雲伺服器Ubuntu基本配置伺服器Ubuntu
- Ubuntu下配置smb伺服器Ubuntu伺服器
- 如何在Ubuntu 14.04上安裝輕量級Web伺服器CherokeeUbuntuWeb伺服器
- ubuntu14.04下navicat破解方法Ubuntu
- How To Install Vagrant IN Ubuntu14.04Ubuntu
- Ubuntu14.04下安裝genymotionUbuntu
- ubuntu 14.04 install docker latest dockerUbuntuDocker
- install redis and used in golang on ubuntu 14.04RedisGolangUbuntu