King Zone - http
type: channel
link: https://www.kingtam.win/tag/http/
items: iPXE網絡引導安裝

iPXE網絡引導安裝
type: item
date: 2022-01-14T16:16:00+08:00
description: iPXE.png前言: iPXE是PXE的擴展版，支持工作站通過網絡從遠端服務器下載映像，並由此可支持網絡啟動操作系統，支持HTTP、FTP、TFTP、ISCSI SAN等協議方式啟動。所有的文件內容也是取自網上大神的分享，最終可以實現自動判斷電腦底板是傳統(Legacy)啟動還是UEFI啟動。目錄內容: 實現條件部署iPXE網絡引導iPXE 的啟動文件及資料內容安裝 Ngnix 網頁伺服器安裝 Dnsmasq網絡啟動測試傳統啟動(Legacy)UEFI啟動參考資料實現條件: iPXE 啟動文件DHCP伺服器TFTP伺服器HTTP網頁伺服器實驗環境是在LXC(容器內)安裝Ngnix + dnsmasq實現iPXE網絡引導及安裝系統。部署iPXE網絡引導 轉換root管理用戶sudo -i設置本地時區timedatectl set-timezone Asia/Hong_KongiPXE 的啟動文件及資料內容 建立目錄mkdir -p /opt/tftpboot/ && cd /opt/tftpboot下載iPXE 網絡引導資料內容git clone https://github.com/slkde/ipxe.gitiPXE 的啟動文件來自slkde/ipxe或者apt update && apt install unzip -y && wget https://github.com/slkde/ipxe/archive/refs/heads/master.zip && unzip master.zip && mv ipxe-master ipxe && rm master.zip更新官方最新啟動文件cd /opt/tftpboot/ipxe/rm -f ipxe.efi undionly.kpxe && wget http://boot.ipxe.org/undionly.kpxe && wget http://boot.ipxe.org/ipxe.efi這個動作是:下載最新Legacy啟動文件 並將其保存到 TFTP 伺服器目錄(/opt/tftpboot/ipxe)。下載最新UEFI啟動文件 並將其保存到 TFTP 伺服器目錄(/opt/tftpboot/ipxe)。或者手動「下載iPXE啟動文件」[[ipxe.zip]]修改啟動資料內的boot.ipxe的next-server 地址next-server_2022-01-17_084558.pngsed -i -e 's/192.168.1.1/19.86.11.7/g' -e '/isset ${next-server}/aset next-server 19.86.11.7' -e 's/http:\/\/${next-server}\/ipxe\//http:\/\/${next-server}\//' /opt/tftpboot/ipxe/boot.ipxenext-server_2022-01-17_084708.png更新next-server(tftp服务器的地址)為本機IP地址，其中19.86.11.7 為本機IP。(#不知道為何next-server變量設定失效，所以才要新增多一行netxt-server)iPXE_Architecture_2022-01-14_101126.pngWin10PE.iso 及 boot.wim 是後加進去的WINPE系動文件。安裝 Ngnix 網頁伺服器 sudo apt install nginx -y移除default文件sudo rm -f /etc/nginx/sites-enabled/default新增iPXE的網頁文件內容cat >> /etc/nginx/conf.d/ipxe.conf <<EOF server { listen 80 default_server; root /opt/tftpboot/ipxe/; index index.html index.htm index.nginx-debian.html; server_name _; location / { } } EOF 其中/opt/tftpboot為iPXE文件存放路徑nginx_conf_2022-01-14_122810.png檢查配置的語法是否正確nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful重新啟動Ngnix 網頁伺服器及查看啟動狀況systemctl restart nginx.service …