網絡啓動一:之IPXE:企業應用

網絡啓動一:之IPXE:企業應用


前幾天寫了IPXE簡單應用內容,今天詳細介紹使用IPXE在企業中的應用,部署Linux系統和Windows系統。


操作步驟:


一、搭建環境

1.1.操作系統:CentOS6.9 Min  /CentOS7.4 Min  172.16.30.57

    安裝文件存放服務器 http://172.16.30.121  目錄有centos6.9 centos7.3 ubuntu16 eg..

    配置菜單服務器地址 http://172.16.30.57/ipxe 或其它服務器地址。

    建議與tftp服務器在一起,這樣簡化安裝和配置過程。

       

安裝過程略


1.2.安裝依賴包

官方指定的依賴包

yum install gcc binutils make perl liblzma mtools mkisofs xz-devel


1.3.官方網站ipxe

http://ipxe.org/download

下載最新版本即可,目前爲ipxe-79e81f8.tar.gz


文件下載位置 /usr/local/src


1.4. 解壓並編譯

cd /usr/local/src

tar zxvf ipxe-79e81f8.tar.gz

cd ipxe-79e81f8

編譯:


make

make 不加參數代表編譯所有類型。

待ftp-server 安裝完畢後,複製ipxe-version/bin/undionly.kpxe /var/lib/tftpboot/undionly.kpxe


1.5 安裝 tftp+dhcp+xinetd+httpd

yum install dhcp tftp-server xinetd


二、配置環境

2.1.修改tftp配置。

sed -i '/disable/s/yes/no/' /etc/xinetd.d/tftp


2.2 修改dhcpd配置

--------------------------

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

#

#option space ipxe;

option client-arch code 93 = unsigned integer 16;


default-lease-time 600;

max-lease-time 7200;

#ddns-update-style interim;


subnet 172.16.30.0 netmask 255.255.255.0 {

  range 172.16.30.60 172.16.30.70;

  option routers 172.16.30.57;


 class "pxeclients" {

        match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";


        next-server 172.16.30.57;

        if option client-arch != 00:00 {

           filename "ipxe/ipxe.efi";

        } else {

           filename "ipxe/undionly.kpxe";

        }

   }

   server-name "TestIPXE";

}

-----------------------------------

以上爲dhcp配置


2.3 修改httpd.conf

sed -i 's/#ServerName www.example.com:80/ServerName *:80/g' /etc/httpd/conf/httpd.conf


2.4 配置ipxe目錄

mkdir /var/lib/tftpboot/ipxe

mkdir /var/www/html/ipxe


2.5 定製 undionly.kpxe


說明:默認undionly.kpxe 循環啓動,如果要使用自己的ipxe菜單,則需要定製編譯纔可以。


2.5.1.編譯定製文件


cd /usr/local/src/ipxe-79e81f8


touch demo.ipxe


vi demo.ipxe

-----------------------

#!ipxe

dhcp

#此處的地址爲菜單的位置,可以爲本機也可以爲外網地址。

chain http://172.16.30.57/ipxe/ipxe.html

#make bin/undionly.kpxe EMBED=demo.ipxe

-----------------------

make bin/undionly.kpxe EMBED=demo.ipxe


2.5.2.拷貝文件到tftp目錄

cp bin/undionly.kpxe /var/lib/tftpboot/ipxe/


如果要使用UEFI啓動,則需要下載ipxe.efi,測試可以使用,但是慢的無法忍受,所以暫時不推薦。


2.6製作ipxe菜單

費了幾番功夫研究菜單事宜,最終使用以下配置成功。


vi /var/lib/tftpboot/ipxe.html


------------

#!ipxe

#自定義變量

set dirpath http://172.16.30.121

set kspath ${dirpath}/kickstarts


#定義菜單

#clear custom_choice

#菜單名稱

menu My First Menu Test

#菜單明細

item --gap Linux series

item centos7 --CentOS 7.4

item centos6 --CentOS 6.9

item --gap Windows series

item win10x64 --Windows 10 x64

item win10x32 --Windows 10 x32

item HardDisk --From hard disk

item custom_exit --Exit

#定義選擇參數

choose --default custom_exit --timeout 30000 custom_choice || goto custom_exit

echo ${cls}

goto ${custom_choice}

goto custom_exit


#引導Label

:centos7

kernel ${dirpath}/centos7.4/isolinux/vmlinuz ip=dhcp ks=${kspath}/Centos-7.x-min.cfg repo=${dirpath}/centos7.4

initrd ${dirpath}/centos7.4/isolinux/initrd.img

boot || goto custom_exit


:centos6

#略...


:win10x64

kernel ${dirpath}/win10/memdisk raw iso

initrd ${dirpath}/win10/W10X32_CN_PE.iso

boot || goto custom_exit


:win10x32

#略...


:custom_exit

chain utils.ipxe

exit


------------

###注意 ###

以上配置可以自動安裝,如果不熟悉或沒有對應kickstarts文件,請在kernel後面把參數去掉,那樣的話就是手動安裝系統了,

kickstarts不在此討論。





ln -s /var/lib/tftpboot/ipxe/ipxe.html /var/www/html/ipxe/ipxe.html


[root@localhost tftpboot]# tree

.

└── ipxe

    ├── ipxe.html

    └── undionly.kpxe



3.防火牆放行

添加53、69、80等端口,

步驟略...


-A INPUT -s 172.16.10.0/16 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT


如有其它安全設置,請依次放行.



配置基本完成,


啓動服務

centos6

service xinetd start

service dhcpd start

service httpd start


centos7 

systemctl start xinetd

systemctl start dhcpd

systemctl start httpd


開機啓動

centos6

chkconfig --level 345 xinetd on

... ...


centos7

systemctl enable xinetd

... ...


客戶端開機pxe引導

blob.png

blob.png


blob.png




blob.png


blob.png





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章