日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

企业级基于Centos8.5配置IPXE服务批量部署windows方案

發布時間:2023/12/31 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 企业级基于Centos8.5配置IPXE服务批量部署windows方案 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.目的

無需U盤,通過網絡PXE啟動,實現快速安裝操作系統!

二.實驗環境(皆依托于實際生產環境)

實驗拓撲如下,規劃出兩個網段:生產(10.142.184.0/24)、辦公(10.157.208.0/24),把IPXE服務器網絡放于辦公網絡下,當然也可置于產線網,也可以雙網卡(辦公、產線網絡分別接入IPXE服務器,只是雙網卡違背了網絡隔離的初衷,存在安全隱患),這里把IPXE服務器接入辦公網絡,通過acl控制,讓生產網絡下設備也能訪問IPXE服務器。

三.安裝步驟

  • centos系統安裝
  • 辦公、產線交換機配置
  • IPXE相關服務安裝配置
    • TFTP服務配置
      • 啟動TFTP服務并設置開機自啟
    • Samba服務配置
      • 啟動Samba并設置開機自啟
    • HTTP服務配置
      • 啟動HTTP并設置開機自啟
  • IPXE配置

1.centos系統安裝

系統安裝沒有特別需要注意的地方,正常安裝即可,本實驗使用centos8.5

2.辦公、產線交換機配置

這很重要,請耐心看完!很多教程直接在IPXE服務器上安裝DHCP,然后配置地址池等,這樣做不是不行,但是,實際的局域網中(交換機或DHCP服務器)已經配置了DHCP,IPXE再配置DHCP,會有地址搶占,沖突的風險(退一萬步講,即使不考慮地址沖突問題,假如網絡開機時,客戶機從交換機的DHCP獲取到地址,而不是從IPXE的DHCP獲取到地址,那它還能抓取到lpxelinux.0,實現網絡開機嗎?)
我的應對方法:
因我公司局域網DHCP是使用三層交換機(Cisco)來做的,我直接在DHCP交換機里指定PXE服務器啟動文件及IP地址。
例:辦公DHCP交換機配置項如下(思科三層交換機):

ip dhcp pool office # DHCP地址池名稱為officenetwork 10.157.208.0 255.255.255.0 # DHCP可分配的IP地址范圍bootfile lpxelinux.0 # IPXE的啟動文件next-server 10.157.208.188 # IPXE服務器的IP地址

若局域網DHCP是windows server搭建的,則在每個地址池的66與67項添加指向即可,即 bootfile 與 next-server

注:
lpxelinux.0是IPXE的啟動文件,PXE啟動文件只能通過TFTP方式傳輸,需要把他存放到TFTP的家目錄,即后面說的/tftpboot/下;
next-server指向IPXE服務器的IP地址;
在產線DHCP三層交換機添加指向的方法一樣,這么指,默認是不通的(因為產線、辦公網隔離),需在路由器添加一條ACL,將產線去往辦公UDP:69流量放行(TFTP使用UDP:69)
另外本實驗還需HTTP,samba,相應的產線去往辦公的TCP:80(HTTP)、TCP:445(samba)流量也要放行,即產線若要訪問辦公PXE,需要3條ACL

3.IPXE相關服務安裝配置

一個命令安裝所有:

yum -y install tftp-server tftp httpd samba xinetd

注:xinetd是tftp-server的托管服務;

(1).TFTP服務配置

TFTP作用:IPXE啟動文件只能基于TFTP傳輸,如壓縮內核vmlinuz與系統初始化文件initrd.img等啟動文件
TFTP服務需要由xinetd服務來托管,修改 /etc/xinetd.d/tftp 文件,編輯disable = yes這一行,修改為 disable = no(如行9),在/下創建名為tftpboot目錄,并把tftp目錄指向/tftpboot(如行8),當然也可以默認TFTP的工作目錄為/var/lib/tftpboot,個人習慣罷了。

service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }

注:如果你發現根本不存在 /etc/xinetd.d/tftp 這個文件,那就手動創建它,并賦權755

啟動TFTP服務并設置開機自啟

systemctl start xinetd systemctl start tftp systemctl enable xinetd systemctl enable tftp

(2).samba服務配置

Samba作用:通過PXE啟動進入PE后,掛載samba里的鏡像文件,實現裝機
Samba服務的主要配置文件為:/etc/sambs/smb.conf。

[global]workgroup = WORKGROUPserver string = Samba Server Version %vlog file = /var/log/samba/log.%mmax log size = 50map to guest = Bad Userpassdb backend = tdbsamsecurity = USERguest account = nobodypublic = Yesdns proxy = Nont acl support = Nokernel oplocks = no[windows]comment = Windows Imagelevel2 oplocks = Nolocking = Nooplocks = Nopath = /samba/windowsread only = No[data]comment = Windows datapath = /samba/data/public = noadmin users = sambavalid users = @sambabrowseable = yeswritable = yescreate mask = 0777directory mask = 0777force directory mode = 0777force create mode = 0777

注:
[windows] 用于存放各類操作系統鏡像,方便在PE下掛載,無需賬號密碼,只讀
[data] 用于存放臨時文件,需賬號密碼(samba/samba),讀寫權限

創建samba賬戶命令: [root@localhost ~]# smbpasswd -a samba #創建一個名為samba的賬戶 New SMB password: #輸入samba賬戶的密碼 Retype new SMB password: #確認密碼

啟動samba并設置開機自啟

systemctl start smbsystemctl enable smb

(3).HTTP服務配置

HTTP作用:客戶機網絡啟動,進入PXE菜單后,例如要進入U啟通(或Win PE),客戶端需要透過網絡下載U啟通文件到緩存,默認是通過TFTP傳輸,過程非常非常緩慢,若改用HTTP傳輸,傳輸速率可提升N倍
HTTP無需做任何特殊配置,把你需要的Win PE iso放到HTTP工作目錄即可(/var/www/html),如:

[root@DRBL html]# pwd /var/www/html [root@DRBL html]# ll 總用量 5507176 drwxrwxrwx. 2 root root 66 1215 2021 clonezilla -rw-r--r-- 1 root root 320864256 1225 2021 clonezilla-live-2.7.3-19-amd64.iso -rwxrwxrwx 1 root root 780918784 1130 2021 EasyU_v3.5.iso -rwxrwxrwx 1 root root 25756 1130 2021 memdisk -rw-r--r-- 1 root root 424443904 1227 2021 system.iso drwxrwxrwx 2 root root 73 418 10:24 test drwxrwxrwx 2 root root 43 122 2021 uqitong -rwxrwxrwx. 1 root root 219451392 1124 2021 WePE_64_V2.1.iso -rwxrwxrwx 1 root root 431263744 126 2021 WinPE.iso

其中名為system.iso是自己客制化的一個PE系統,后面也會提到,如何通過IPXE配置文件調用這些PE文件(即default配置文件)

啟動HTTP并設置開機自啟

systemctl start httpdsystemctl enable httpd

4.IPXE配置

首先需要理清楚幾個概念:pxe, ipxe, pxelinux,以及幾個名詞:pxelinux.0, ipxelinux.0

  • pxe是一個協議,跟mbr是一個性質的東西,它規定了CPU啟動后通過什么方式獲取引導代碼并執行。
  • pxe的實現有許多,不同的廠商有不同的實現。并且pxe的實現代碼主要有兩種存放位置,一種是存在主板上,一種是存在網卡里,現在新的網卡一般都自帶了pxe的實現代碼。(去mbr查找引導代碼的實現是在主板上的。)
  • 由于pxe協議比較“落后”,僅支持tftp傳輸數據,性能差,靈活性也差,于是有了gpxe這個項目。gpxe是一種兼容pxe的實現,并且在pxe之上增加了許多特性,例如通過http/ftp等協議傳輸數據。
  • gpxe原先使用的域名的擁有者突然收回了該域名的使用權,于是這些人fork出去做了ipxe,gpxe現在已經不再開發,ipxe開發非常活躍。
  • 一些較新的intel的網卡里都帶了gpxe的實現代碼,最新的可能會帶ipxe代碼。
  • pxelinux是syslinux項目的一個部分,syslinux主要有三個產出,syslinux、isolinux、pxelinux,分別用于硬盤、光盤、網絡啟動,它的角色與grub相同。
    ?* 由于大多數網卡、主板都不自帶gpxe/ipxe的代碼,所以通常引導時需要這樣的途徑: pxe -> ipxe -> pxelinux.bin,后面這兩步可以合并,于是大家就把ipxe與pxelinux.bin?的代碼合體,做成了 ipxelinux.0 (gpxe+pxelinux.bin = gpxelinux.0)。一般習慣上裸的pxelinux鏡像用.bin后綴,加上gpxe/ipxe之后用.0后綴。此外還會有.lkrn后綴,這是ipxe的東西,ipxe的代碼默認只能通過pxe協議的方式加載,他們搞了另外一個代碼入口,使得可以通過像linux kernel的方式一樣加載(就是可以通過grub引導),這種鏡像的后綴是lkrn.
  • 所以可行的引導過程可以有這些:
    • pxe(網卡) -> ipxe -> pxelinux.bin -> menu.c32
    • pxe -> ipxelinux.0 -> menu.c32
    • pxe -> syslinux.bin -> ipxe -> pxelinux.bin -> menu.c32
    • pxe -> syslinux.bin -> ipxelinux.0 -> menu.c32
    • grub -> ipxe.lkrn -> pxelinux.bin -> menu.c32
    • grub -> ipxelinux.lkrn -> menu.c32
    • ipxe(燒入網卡) -> pxelinux.bin

由于pxe代碼是主板、網卡自帶的,所以兼容性最好(至少本機的代碼兼容本機的設備)。而ipxe兼容性略差(只是相對來說,因為我們編譯時可能會漏掉一些網卡,或者一些特殊問題不好解決),曾經嘗試過直接一步 pxe -> ipxelinux.0,但是發現有一些機器無法啟動,加載ipxe之后就停住了。所以后來退而求其次,用兩步加載,對于ipxe不支持的設備,可以在第一步pxe->pxelinux.bin之后手快一些按任意鍵中斷,然后仍然可以使用pxe,不過之后我們一直沒有維護通過tftp加載的pxelinux以及配置文件,所以那部分內容其實現在都已經嚴重過時了。通過論壇查看詳細說明
廢話不多說,回到正題!
下載所需IPXE啟動文件:點擊這里下載

里面包括有 lpxelinux.0,menu.c32,ldlinux.c32,libutil.c32,memdisk 等PXE引導需要用的文件。也可以自己安裝centos8,然后安裝syslinux,把以上幾個內核文件拷貝下來(centos7版本自帶的syslinux版本號還是4.05,所以如果要6.04版本,最好從centos8里提取)
把提取的文件存放到/tftpboot/下賦權777,并創建pxelinux.cfg目錄,如:

[root@DRBL tftpboot]# pwd /tftpboot [root@DRBL tftpboot]# ll 總用量 36012 -rwxrwxrwx. 1 root root 264945664 1124 15:16 filesystem.squashfs #再生龍啟動文件 -rwxrwxrwx. 1 root root 29770260 1124 15:16 initrd.img #再生龍鏡像文件 -rwxrwxrwx. 1 root root 6821216 1124 15:16 vmlinuz #再生龍內核 -rwxrwxrwx. 1 root root 74907 1124 15:16 lpxelinux.0 #IPXE預啟動 -rwxrwxrwx. 1 root root 116096 1124 15:16 ldlinux.c32 #IPXE預啟動依賴 -rwxrwxrwx. 1 root root 22804 1124 15:16 libutil.c32 #IPXE預啟動依賴 drwxrwxrwx. 2 root root 21 1124 15:16 pxelinux.cfg #IPXE配置文件目錄 -rwxrwxrwx. 1 root root 25756 1124 15:16 memdisk #window PE預啟動 -rwxrwxrwx. 1 root root 26272 1124 15:16 menu.c32 #默認藍色背景預啟動菜單(不可自定義菜單背景等) -rwxrwxrwx. 1 root root 26788 1124 15:16 vesamenu.c32 #標準菜單(可自定義菜單背景、顏色等) -rwxrwxrwx. 1 root root 180668 1124 15:16 libcom32.c32 #標準菜單依賴 -rwxrwxrwx. 1 root root 259251 1124 15:15 background.png #自定義的菜單背景(只支持640x480)

以上是IPXE全部的預啟動文件,而啟動配置文件存放在pxelinux.cfg/default里(名字只能是default),vim /pxelinux.cfg/default編輯啟動菜單配置文件:

default vesamenu.c32 #標準菜單(默認是menu.c32藍色菜單) prompt 0 timeout 600 #菜單等待時間(60秒) ontimeout local #超時本地啟動 display boot.msg #顯示描述信息(有描述信息的話)menu clear menu background background.png #自定義背景 menu title FOXCONN Ems2 IPXE Boot Menu #啟動菜單抬頭menu color screen 37;40 #80ffffff #00000000 stdmenu color border 30;44 #400060 #00000000 stdmenu color title 1;36;44 #20ff00 #00000000 stdmenu color unsel 37;44 #ffff00 #00000000 stdmenu color hotkey 1;37;44 #ffffffff #00000000 stdmenu color sel 7;37;40 #ff0000 #20ff8000 allmenu color hotsel 1;7;37;40 #e0400000 #20ff8000 allmenu color disabled 1;30;44 #60cccccc #00000000 stdmenu color scrollbar 30;44 #20ff00 #00000000 stdmenu color tabmsg 31;40 #2000ff #00000000 stdmenu color cmdmark 1;36;40 #c000ffff #00000000 stdmenu color cmdline 37;40 #c0ffffff #00000000 stdmenu color pwdborder 30;47 #80ffffff #20ffffff stdmenu color pwdheader 31;47 #80ff8080 #20ffffff stdmenu color pwdentry 30;47 #80ffffff #20ffffff stdmenu color timeout_msg 37;40 #600000 #00000000 stdmenu color timeout 1;37;40 #40ffff #00000000 stdmenu color help 37;40 #c0ffffff #00000000 stdmenu color msg07 37;40 #90ffffff #00000000 std#本地啟動# label local menu label 1. Boot from local disk localboot 0xffff#U啟通3.5自定義修改# label EasyU_v3.5 menu label 2. Custom EasyU_v3.5_PE kernel http://10.157.208.188/uqitong/MEMDISK append initrd=http://10.157.208.188/uqitong/EASYU_V3.5.iso iso raw#自己做的PE# label Install System menu default menu label 3. Install System kernel http://10.157.208.188/memdisk append initrd=http://10.157.208.188/system.iso iso raw#微PE# label WePE_64_V2.1 menu label 4. WinPE kernel memdisk append initrd=http://10.157.208.188/WePE_64_V2.1.iso iso raw#再生龍# label clonezilla-live-2.7.3-19-amd64 menu label 5. clonezilla-live kernel http://10.157.208.188/clonezilla/vmlinuz append initrd=http://10.157.208.188/clonezilla/initrd.img boot=live union=overlay noswap noeject nolocales vga=788 locales=zh_CN.UTF-8 keyboard-layouts=NONE fetch=tftp://10.157.208.188/filesystem.squashfs#硬盤檢測# label hdat2cd_lite_74.iso menu label 6. HDD Test kernel memdisk append initrd=http://10.157.208.188/test/hdat2cd_lite_74.iso iso raw#內存檢測# label mt531b.iso menu label 7. Memory Check kernel memdisk append initrd=http://10.157.208.188/test/mt531b.iso iso raw

四.效果展示


五. 擴展說明

1.添加防火墻白名單

用于現網中,還是建議開啟防火墻,以添加防火墻白名單方式運作
TFTP,HTTP,samba添加防火墻白名單(永久生效),提示 success 表示成功

firewall-cmd --zone=public --add-port=69/udp--permanentfirewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --zone=public --add-port=445/tcp --permanent

查看已開放的端口

firewall-cmd --zone=public --list-ports

重新載入

firewall-cmd --reload

刪除

firewall-cmd --zone=public --remove-port=80/tcp --permanent

2.自定義PE

對于公司裝機,PE需有以下要求
1.體積小(通過網絡加載時間短)
2.必須內置網卡驅動(掛載samba共享)
目前市面上比較好用的PE推薦微PE(體積只有200MB左右)與U啟通(3.5以上版本內置網卡驅動),但遺憾的是微PE未內置網卡驅動,U啟通3.5以上版本體積700MB以上,很難滿足個性化需求,綜上,需要自定義PE。但是,對于新手來說,從iso提取install.wim文件來新做PE,似乎不那么容易。選用一款跟當前業務匹配較高的PE,去修改它,話題較敏感,只能大概說一下流程
<1>.使用UltraISO解開匹配的PE,并提取出里面的.wim文件

<2>.使用Wim Tool解開.wim文件即可自定義程序,例如解到C:\temp


<3>.定義完成后,新制.wim文件

<4>.將新制.wim文件與PE里的舊.wim文件替換,另存即可
可以看到,定義的PE大小僅400M左右,符合預期

3.PE下掛載samba共享盤批處理

我是這么做的

@echo off chcp 65001 color 9F ping 10.157.208.188 > nul if %errorlevel% leq 0 (echo 網絡正常,可以連接到10.157.208.188服務echostart net use p: \\10.157.208.188\windowsstart X:\PESOFT\EasyImageX2\EasyImageX2.exe ) else (echo 網絡異常,無法連接到10.157.208.188,請等待網絡加載完成后再試......pause )

注:
chcp 65001防亂碼
color 9F藍色窗口
ping 10.157.208.188 > nul簡單檢測是否能與IPXE通信,若能,則回復“網絡正常,可以連接到10.157.208.188服務”,并自動掛載samba,打開EasyImageX2裝機程序;若不能,則回復“網絡異常,無法連接到10.157.208.188,請等待網絡加載完成后再試…”
若想讓此批處理看起來更高大尚一些,可利用Bat To Exe Converter工具,將批處理轉換成exe程序
例如:

——其他文檔——
再生龍部署教程
其他大神寫的部署教程

總結

以上是生活随笔為你收集整理的企业级基于Centos8.5配置IPXE服务批量部署windows方案的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 四虎影视永久地址 | 亚洲国产成人在线观看 | 午夜久 | 天天摸天天摸 | 成人影片在线免费观看 | 精品在线视频一区二区 | 久久久久久久久久一区二区 | 91美女片黄 | 亚洲一区二区动漫 | 午夜影院日本 | 色爽 av| 无码日韩精品一区二区 | 日韩av无码一区二区三区不卡 | 正在播放一区二区 | 天天综合网天天综合 | 色妞色| 久久精品—区二区三区舞蹈 | 九九九热 | 美女啪啪av| 国产一区网 | 欧美第一页在线 | 超碰青娱乐 | 蜜桃av成人 | 青青在线观看视频 | 少妇太爽了太深了太硬了 | 91综合色| 国产精品久久久午夜夜伦鲁鲁 | 夜色视频在线观看 | 国产95在线 | 日本xxxxwwwww | 天堂在线观看免费视频 | 少妇裸体挤奶汁奶水视频 | 亚洲美女高潮久久久 | 久久久久久蜜桃 | 国产精品一区二区人妻喷水 | 欧产日产国产精品 | 黄色录像a | 成年人午夜 | 日韩毛片儿 | 久久精品成人 | 欧美自拍亚洲 | 欧美性生活 | 超碰日韩| 无码无套少妇毛多18pxxxx | 免费看成人片 | 38在线视频 | 男女啪啪网站免费 | 先锋影音资源av | 国产资源站 | 操丰满女人 | 一级全黄男女免费大片 | 中文字幕11页中文字幕11页 | 爱爱一级 | 黄色资源在线观看 | 国产精品女同 | 一本视频在线 | 97超碰免费观看 | 亚洲精品久久久乳夜夜欧美 | 男男在线观看 | 扒开美女内裤狂揉下部 | 女生被男生c | 国产乱淫片视频 | 成人av男人的天堂 | 污网在线看 | 欧美精品自拍 | 色噜噜狠狠一区二区三区牛牛影视 | 亚洲国内自拍 | 欧美精品一区二区不卡 | 在线观看麻豆av | 青青草手机视频 | 国产亚洲av综合人人澡精品 | 在线免费观看黄网 | 国产视频二区 | av在线视| 久久伊人超碰 | 无码一区二区三区免费视频 | 视频这里只有精品 | 国产一区自拍视频 | www.成人国产 | 久久91视频| 青青草99 | 成年人的视频网站 | 波多野吉衣视频在线观看 | 国精产品一品二品国精品69xx | 伊人网国产 | 国产av电影一区 | 国产成人精品自拍 | 色臀| 亚洲一级av毛片 | 欧美一卡二卡三卡四卡 | 含羞草一区二区 | 国产精品视频网站 | 中文字幕av久久爽 | 九九热这里有精品 | 成人毛片18女人 | 美国一区二区 | 中文字幕人妻一区 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲高清中文字幕 |