
Разглядаем пашырэнне магчымасцяў System Center Configuration Manager (прадукт для кіравання ІТ-інфраструктурай) пры загрузцы карыстацкіх ПК па сетцы выкарыстоўваючы PXE. Ствараем загрузнае меню на аснове PXELinux з функцыяналам System Center і дадаем магчымасці антывіруснай праверкі, выявы дыягностыкі і ўзнаўленні. У канцы артыкула дакранаемся асаблівасцяў працы System Center 2012 Configuration Manager сумесна з Windows Deployment Services (WDS) пры загрузцы праз PXE.
Усе дзеянні вырабляем на тэставым асяроддзі, у якім ужо ёсць усталяваны System Center 2012 Configuration Manager SP1, кантролер дамена і некаторая колькасць тэставых машын. Мяркуецца, што ў SCCM ужо выкарыстоўваецца разгортванне па сетцы выкарыстоўваючы PXE.
Уступленне
Тэставае асяроддзе складаецца з некалькіх віртуальных машын. На ўсіх машынах усталявана гасцёўня АС Microsoft Windows Server 2008 R2 (x64), сеткавы адаптар E1000, SCSI Controller: LSI Logic SAS
Імя (Ролі)
IP адрас/ DNS імя
функцыянал
SCCM (System Center Configuration Manager)
192.168.57.102
sccm2012.test.local
Устаноўлены System Center Configuration Manager 2012 SP1
DC (AD, DHCP, DNS)
192.168.57.10
dc1.test.local
Роля кантролера дамена, DHCP сервера і DNS сервера
TEST (Test machine)
192.168.57.103
test.test.local
Для тэсціравання
GW (шлюз)
192.168.57.1
Маршрутызацыя паміж сеткамі. Роля шлюза
1. Дадаем PXELinux у SCCM
Дзеянні вырабляем на машыне, дзе ўсталяваны System Center Configuration Manager
- Вызначым каталог, дзе размяшчаюцца файлы WDS для загрузкі, для гэтага ў рэестры глядзім значэнне параметру
RootFolderу галінцыHKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Значэнне па змаўчанніC:RemoteInstall
Файлы для загрузкі з кропкі разгортвання SCCM размешчаны ў каталогахsmsbootx86иsmsbootx64у залежнасці ад архітэктуры.
Спачатку наладжваем каталог для 32-х разраднай архітэктуры, па змаўчанніc:Remoteinstallsmsbootx86 - Качаем архіў з апошнім . Капіяваны з syslinux-5.01.zip у
c:Remoteinstallsmsbootx86наступныя файлы:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Дадатковыя файлы патрэбныя, каб не было падобнай памылкі
- В
c:Remoteinstallsmsbootx86пераназываемpxelinux.0вpxelinux.com
У тэчцыc:remoteinstallsmsbootx86робім копіюabortpxe.comі пераназываем яе ўabortpxe.0
Калі ж не пераназываць у пашырэнне.0, тады напрыклад інструкцыяKernel abortpxe.comбудзе выканана з памылкай: Booting kernel failed: Bad file number
Для PXELINUX пашырэнне файла загрузкі варта задаваць адпаведна таблічцыnone or other Linux kernel image .0 PXE bootstrap program (NBP) [PXELINUX only] .bin "CD boot sector" [ISOLINUX only] .bs Boot sector [SYSLINUX only] .bss Boot sector, DOS superblock will be patched in [SYSLINUX only] .c32 COM32 image (32-bit COMBOOT) .cbt COMBOOT image (not runnable from DOS) .com COMBOOT image (runnable from DOS) .img Disk image [ISOLINUX only]Крыніца: раздзел "Kernel file"
- Для таго каб не націскаць некалькі разоў клавішу F12 пры загрузцы SCCM праз меню, пераназываем pxeboot.com у pxeboot.com.f12, які капіюецца pxeboot.n12 у pxeboot.com
Калі гэтага не зрабіць, то пры выбары будзем кожны раз атрымліваць такое паведамленне.
Заўвага: Не забываем пераназваць гэтыя файлы і ў тэчцы для x64 т.к. калі загружаеццаx86wdsnbp.comз тэчкі x86, загрузнік вызначае архітэктуру працэсара і наступны файл загружае ўжо з тэчкі з якая адпавядае архітэктуры. Такім чынам, для x64 наступны файл будзе неx86pxeboot.com, Аx64pxeboot.com - Качаем/ствараем , дазволам 640х480, які капіюецца ў тую ж тэчку. Ствараем тэчку
ISOкуды будзем размяшчаць ISO вобразы. Ствараем тэчкуpxelinux.cfgдля канфігаў. - У тэчцы pxelinux.cfg ствараем файл default, у не юнікод кадоўцы, з змесцівам
default (Націсніце для адлюстравання)# используем графическое меню DEFAULT vesamenu.c32 PROMPT 0 timeout 80 TOTALTIMEOUT 9000 MENU TITLE PXE Boot Menu (x86) MENU INCLUDE pxelinux.cfg/graphics.conf MENU AUTOBOOT Starting Local System in 8 seconds # Boot local HDD (default) LABEL bootlocal menu label Boot Local menu default localboot 0x80 # if it doesn't work #kernel chain.c32 #append hd0 # Вход в меню по паролю Qwerty, алгоритм MD5 label av menu label Antivirus and tools menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0 kernel vesamenu.c32 append pxelinux.cfgav.conf label sccm menu label Start to SCCM COM32 pxechn.c32 APPEND sccm2012.test.local::smsbootx86wdsnbp.com -W label pxe64 menu label Start to x64 pxelinux COM32 pxechn.c32 APPEND sccm2012.test.local::smsbootx64pxelinux.com LABEL Abort MENU LABEL Exit KERNEL abortpxe.0У тэчцы
pxelinux.cfgствараем файлgraphics.confса змесцівам
graphics.conf (Націсніце для адлюстравання)MENU MARGIN 10 MENU ROWS 16 MENU TABMSGROW 21 MENU TIMEOUTROW 26 MENU COLOR BORDER 30;44 #00000000 #00000000 none MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none MENU COLOR TITLE 0 #ffffffff #00000000 none MENU COLOR SEL 30;47 #40000000 #20ffffff MENU BACKGROUND background.png NOESCAPE 0 ALLOWOPTIONS 0У тэчцы
pxelinux.cfgствараем файлav.confса змесцівам
av.conf (Націсніце для адлюстравання)DEFAULT vesamenu.c32 PROMPT 0 MENU TITLE Antivirus and tools MENU INCLUDE pxelinux.cfg/graphics.conf label main menu menu label return to main menu kernel vesamenu.c32 append pxelinux.cfg/default label drweb menu label DrWeb kernel memdisk append iso raw initrd=isodrweb.iso label eset menu label Eset kernel memdisk append iso raw initrd=isoeset_sysrescue.iso label kav menu label KAV Rescue CD KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset quiet splash #Загружаем ISO по полному пути, можно загружать с другого TFTP label winpe menu label WinPE from another TFTP kernel sccm2012.test.local::smsbootx86memdisk append iso raw initrd=sccm2012.test.local::smsbootx86isoWinPE_RaSla.iso label clonezilla menu label Clonezilla kernel memdisk append iso raw initrd=isoclonezilla.iso - У выніку каталог c:remoteinstallsmsbootx86 утрымоўвае структуру
c:remoteinstallsmsbootx86
pxelinux.cfgchain.c32
ldlinux.c32
libcom32.c32
libutil.c32
pxechn.c32
vesamenu.c32
pxelinux.com
фон.png
pxelinux.cfg
pxelinux.cfg
pxelinux.cfg
ISO
abortpxe.0
wdsnbp.com
bootmgfw.efi
wdsmgfw.efi
bootmgr.exe
pxeboot.n12
pxeboot.com
abortpxe.comдэфолт
av.conf
graphics.conf
*.iso - Для архітэктуры х64 аналагічна капіюем і ствараем такую ж структуру ў тэчцы
c:remoteinstallsmsbootx64
Дадатак
Пры выкарыстанні камандыmenu PASSWDпароль можна задаць або як ёсць, або выкарыстоўваць алгарытм хэшавання, дадаўшы ў пачатку параметру адпаведную сігнатуруАлгарытм
СігнатураMD5
1 $SHA-1
4 $SHA-2-256
5 $SHA-2-512
6 $Такім чынам для пароля
Qwertyі алгарытме MD5menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Згенераваць пароль можна, напрыклад, праз анлайн генератар хэшаў , радок
MD5(Unix)
2. Наладжваем загрузку PXELinux
Цяпер укажам якім чынам загрузіць pxelinux.com і атрымаць меню.
Указанне загрузніка pxelinux.com пасродкам функцыяналу WDS не працуе ў SCCM. Каманды віду
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
не апрацоўваюцца. Пераканаецца ў тым, што выявы загрузкі не зададзены можна выканаўшы каманду вываду канфігурацыі сервера WDS
wdsutil /get-server /show:images
Такім чынам у SCCM 2012 нельга пазначыць свой файл для загрузкі праз PXE для правайдэра SMSPXE. Таму наладжваць будзем актыўную вобласць DHCP сервера.
У параметрах актыўнай вобласці DHCP задаём параметры адпаведна таблічцы
Опцыя DHCP
Найменне параметру
Значэнне
066
Boot server host name
sccm2012.test.local
067
Bootfile name
smsbootx86pxelinux.com
006
DNS-серверы
192.168.57.10
015
DNS Domain Name
test.local
У опцыі 066 паказваем FQDN імя sccm сервера, у опцыі 067 паказваем шлях да x86 загрузніка pxelinux.com пачынальна з кораня TFTP, у опцыі 006 паказваем IP адрас DNS сервера. У выпадку, калі ў опцыі 066 выкарыстоўваецца кароткае імя сервера, у опцыі 015 паказваем DNS суфікс дамена.
Дадатак
Больш падрабязна настройку DHCP апісаў . Але наDCопцыя 150, IP-адрас TFTP-сервера, адсутнічала ў наладах вобласці DHCP і ўказанне опцыі 150 праз netsh не працавала.
3. Праверка працы
Асноўныя налады скончаны і можна прыступаць да праверкі. Паказваем на тэставым кампутары ў BIOS грузіцца па сетцы і загружаемся ў меню
выбіраем пункт «Start to SCCM» і калі на кампутар прызначаная паслядоўнасць задач, то праз некаторы час з'явіцца акно «Майстар стварэння паслядоўнасці задач» з прапановай увесці пароль

Перазагружаем машыну, зноў заходзім у меню, выбіраемы ў меню «Antivirus and tools» і ўводны пароль Qwerty
Выбіраемы адвольны пункт і назіраем загрузку ISO выявы ў памяць
Чакаем і назіраем вынік
Праверка завершана

4. Дадатковыя наладкі і асаблівасці
Настройка маршрутызацыі
Калі кліент, DHCP сервер і сервер, які змяшчае сеткавы загрузнік знаходзяцца ў адным сегменце сеткі, то дадатковай наладкі не патрабуецца. Калі ж кліент і DHCP-сервер або сервер WDS/SCCM знаходзяцца ў розных сегментах сеткі, рэкамендуецца наладзіць на маршрутызатарах пераадрасаванне шырокавяшчальных пакетаў ад кліента на дзейны DHCP-сервер і дзейны сервер WDS/SCCM. У англамоўнай літаратуры гэты працэс вядомы як IP Helper table updates. У гэтым выпадку кліент, пасля атрымання IP адраса, звязваецца з серверам, утрымоўвальным сеткавы загрузнік напроста пасродкам DHCP пакетаў, для таго каб спампаваць сеткавы загрузнік.
Для маршрутызатараў Cisco выкарыстоўваецца каманда
ip helper-address {ip address}
дзе {ip address} адрас DHCP-сервера ці сервера WDS/SCCM. Пры выкарыстанні гэтай каманды таксама перасылаюцца наступныя шырокавяшчальныя UDP пакеты.
Порт
пратакол
69
TFTP
53
Сістэма даменных імёнаў (DNS)
37
Time service
137
NetBIOS Name Server
138
NetBIOS Datagram Server
67
Bootstrap Protocol (BOOTP)
49
ТАКАЦЫ
Другім метадам для атрымання кліентам інфармацыі аб сеткавым загрузніку непасрэдна з DHCP сервера з'яўляецца ўказанне опцый 60,66,67 на DHCP серверы. Выкарыстанне параметра DHCP 60 c значэннем «PXEClient» ва ўсе вобласці дзеяння DHCP, толькі калі сервер DHCP размяшчаецца на тым жа серверы, што і службы разгортвання Windows. У гэтым выпадку кліент звязваецца з серверам службаў разгортвання Windows напрамую па пратаколе TFTP праз UDP-порт 4011, а не па DHCP. Гэты спосаб не рэкамендуецца Microsoft з-за праблем з балансаваннем нагрузкі, няслушнай апрацоўкай параметраў DHCP і параметраў адказу службаў разгортвання Windows на баку кліента. А таксама таму, што выкарыстанне толькі дзвюх опцый 66 і 67 DHCP дазваляе абыйсці параметры, зададзеныя на серверы сеткавай загрузкі.
Таксама трэба адкрыць наступныя UDP парты на серверы службаў разгортвання Windows
порт 67 (DHCP)
порт 69 (TFTP)
порт 4011 (PXE)
і порт 68, калі патрабуецца DHCP аўтарызацыя на сэрвэры.
Больш падрабязна працэс наладкі і нюансы перанакіравання паміж рознымі серверамі WDS апісаны ніжэй у крыніцах:
Кіраванне праграмамі сеткавай загрузкі
Упраўленне серверам
Microsoft Product Support Services (PSS) support boundaries for network booting Microsoft Windows Preinstallation Environment (Windows PE) 2.0
How to forward UDP Broadcast (BOOTP / DHCP) на Cisco
Асаблівасці працы і налады DHCP на маршрутызатарах Cisco (Частка 2)
Дадатковыя магчымасці лакальнай загрузкі
На тэставым асяроддзі каманда
localboot 0 выдае такую памылку

З дакументацыі syslinux вынікае, што пры
localboot 0загрузка пойдзе з лакальнага дыска. А пры ўказанні канкрэтнага значэння 0x00 з асноўнага (primary) флопі дыска, пры ўказанні 0x80 c асноўнага (primary) жорсткага дыска. Змяніўшы каманду на
localboot 0x80 лакальная АС загрузілася.
Калі ж ёсць неабходнасць зрабіць загрузку з канкрэтнай кружэлкі, часткі або каманда localboot не працуе, тады можна скарыстацца магчымасцямі модуля chain.c32. Пасля яго загрузкі, камандай append паказваем пэўную кружэлку або частка кружэлкі, нумарацыя кружэлак пачынаецца з 0, нумарацыя падзелаў з 1 т.к. пры ўказанні раздзела 0 загружаецца MBR. Пры ўказанні дыска раздзел можна не ўказваць.
KERNEL chain.c32
APPEND hd0 0або
KERNEL chain.c32
APPEND hd0 Крыніцы:
Парадак і апісанне загрузкі файлаў праз PXE
Як ужо згадвалася ў пачатку артыкула, каталог, дзе размяшчаюцца файлы WDS для загрузкі, утрымоўваецца ў значэнні параметру RootFolder у галінцы рэестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Значэнне па змаўчанні C:RemoteInstall
Тутака ж у параметры ReadFilter пазначаны каталогі, дзе TFTP сервер шукае файлы для загрузкі, пачынаючы з кораня. Пры ўсталяваным SCCM 2012 SP1 гэты параметр такі
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Калі змяніць значэнне параметру на * то будуць апрацоўвацца ўсе файлы, размешчаныя ў каталогу RemoteInstall.
Роля кропкі разгортвання SCCM 2012 прапісваецца ў параметры рэестра ProvidersOrder, размешчанай у галінцы HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Параметр ProvidersOrder можа прымаць значэння
SMSPXE
кропка абслугоўвання PXE у SCCM
SMS.PXE.Filter
Апрацоўшчык PXE скрыптоў з MDT (Microsoft Deployment Toolkit)
BINLSVC
Стандартны апрацоўшчык WDS і RIS
Пры ўсталяваным SCCM параметр ProvidersOrder мае значэнне SMSPXE. Змяняючы параметр можна мяняць парадак загрузкі правайдэраў.
У каталогу RemoteInstall размешчаны наступныя стандартныя файлы
wdsnbp.com
Праграма сеткавай загрузкі, распрацаваная для службаў разгортвання Windows і якая выконвае наступныя задачы:
1. Выяўленне архітэктуры.
2. Абслугоўванне якія чакаюць кампутараў. Калі ўключаная палітыка аўтаматычнага дадання, гэтая праграма сеткавай загрузкі дасылаецца на якія чакаюць кампутары, каб прыпыніць сеткавую загрузку і паведаміць серверу архітэктуру кліенцкага кампутара.
3. Выкарыстанне спасылак сеткавай загрузкі (уключаючы выкарыстанне параметраў 66 і 67 пратаколу DHCP)
PXEboot.com
(Па змаўчанні) Патрабуе, каб карыстач націснуў клавішу F12 для працягу сеткавай загрузкі
PXEboot.n12
Не патрабуе націску карыстачом клавішы F12 і неадкладна пачынае сеткавую загрузку
AbortPXE.com
Загружае кампутар з выкарыстаннем наступнага элемента загрузкі ў BIOS без чакання
Bootmgr.exe
Дыспетчар загрузкі Windows (Bootmgr.exe ці Bootmgr.efi). Загружае з дапамогай убудаванага ПЗ загрузнік Windows з вызначанай часткі кружэлкі або праз сеткавае падлучэнне (у выпадку сеткавай загрузкі)
Bootmgfw.efi
Версія EFI праграм PXEboot.com і PXEboot.n12 (у EFI выбар загружаць ці не загружаць PXE ажыццяўляецца ў абалонцы EFI, а не праграмай сеткавай загрузкі). Праграма Bootmgfw.efi аб'ядноўвае магчымасці PXEboot.com, PXEboot.n12, abortpxe.com і bootmgr.exe. На дадзены момант яна існуе толькі для архітэктур x64 і Itanium.
Default.bcd
Сховішча дадзеных канфігурацыі загрузкі (BCD), фармат REGF, можна загружаць у REGEDIT, замяняе сабой тэкставы файл Boot.ini
Загрузка адбываецца ў наступным парадку ў адпаведнасці з апісаннем вышэй
1. Загружаецца wdsnbp.com.
2. Далей загружаецца pxeboot.com адпаведнай архітэктуры
3. PXEBoot.com загружае bootmgr.exe і сховішча дадзеных канфігурацыі загрузкі BCD
4. Bootmgr.exe счытвае запісы аперацыйнай сістэмы дадзеных канфігурацыі загрузкі BCD і загружае файл Boot.sdi і выява Windows PE (boot.wim)
5. Bootmgr.exe пачынае загрузку Windows PE, звяртаючыся да Winload.exe у выяве Windows PE
Калі ў RemoteInstall ёсць тэчкі
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend іх наяўнасць азначае, што перад даданнем ролі кропкі распаўсюджвання ў SCCM 2012 (пункты абслугоўвання PXE у SCCM 2007) было якое-небудзь дзеянне па канфігураванні ўсталяванай Windows Deployment Services (WDS), у выніку якога былі аўтаматычна створаны гэтыя тэчкі.
Для ролі кропкі распаўсюджвання (кропкі абслугоўвання PXE у SCCM 2007) досыць толькі наступных тэчак
SMSBoot
SMSIMAGES
SMSTemp
StoresГэта не азначае, што SCCM усталяваны няправільна, але можа паказваць на магчымую крыніцу памылак.
Вельмі падрабязна рашэнне розных праблем звязка WDS, SCCM і PXE разгледжана ў артыкуле
Вынік
У ІТ-інфраструктуры пад кіраваннем System Center Configuration Manager дадалася новая прылада для працы сістэмных адміністратараў на месцах.
Спіс спасылак на вобразы ISO (Націсніце для адлюстравання)
Дзякуй за ўвагу!

Крыніца: habr.com
