תפריט האתחול של PXE עם System Center Configuration Manager

תפריט האתחול של PXE עם System Center Configuration Manager

אנו בוחנים את האפשרות להרחיב את היכולות של System Center Configuration Manager (מוצר לניהול תשתיות IT) בעת אתחול מחשבי משתמש דרך הרשת באמצעות PXE. אנו יוצרים תפריט אתחול מבוסס PXE.Linux עם פונקציונליות של System Center ולהוסיף יכולות סריקת אנטי-וירוס, תמונות אבחון ושחזור. בסוף המאמר, ניגע בפרטים הספציפיים של אופן הפעולה של System Center 2012 Configuration Manager עם Windows שירותי פריסה (WDS) בעת אתחול דרך PXE.

אנו מבצעים את כל הפעולות בסביבת בדיקה שכבר מותקן בה System Center 2012 Configuration Manager SP1, בקר תחום ומספר מכונות בדיקה. ההנחה היא ש-SCCM כבר מתפרס על גבי הרשת באמצעות PXE.

כניסה

סביבת הבדיקה מורכבת ממספר מכונות וירטואליות. כל המכונות מפעילות את מערכת ההפעלה האורחת של מיקרוסופט. Windows Server 2008 R2 (x64), מתאם רשת E1000, בקר SCSI: LSI Logic SAS

שם (תפקידים)
כתובת IP / שם DNS
פונקציונלי

SCCM (מנהל תצורת מרכז המערכת)
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 (מכונת בדיקה)
192.168.57.103
test.test.local

לבדיקה

G.W. (שער)
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 . העתק מ-syslinux-5.01.zip אל c:Remoteinstallsmsbootx86 את הקבצים הבאים:
    memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
    יש צורך בקבצים נוספים כדי למנוע שגיאה כזו.
    תפריט האתחול של PXE עם System Center Configuration Manager
  • В c:Remoteinstallsmsbootx86 לשנות שם pxelinux.0 в pxelinux.com
    בתיקייה c:remoteinstallsmsbootx86 לעשות עותק abortpxe.com ותשנה את שמו ל abortpxe.0
    אם לא שנה את השם להרחבה .0, אז למשל ההוראה
    Kernel abortpxe.com

    ייכשל עם השגיאה הבאה: הקרנל האתחול נכשל: מספר קובץ שגוי
    עבור 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]
    

    מקור: http://www.syslinux.org/wiki/index.php/SYSLINUX#KERNEL_file סעיף "קובץ ליבה"

  • כדי לא ללחוץ על מקש F12 מספר פעמים בעת טעינת SCCM דרך התפריט, שנה את שם pxeboot.com ל-pxeboot.com.f12, העתק את pxeboot.n12 ל-pxeboot.com
    אם זה לא נעשה, אז בעת הבחירה נקבל הודעה כזו בכל פעם
    תפריט האתחול של PXE עם System Center Configuration Manager
    הערה: אל תשכח לשנות את שמם של קבצים אלה גם בתיקייה x64. כאשר הוא נטען x86wdsnbp.com מהתיקיה x86, הטוען קובע את ארכיטקטורת המעבד והקובץ הבא נטען מהתיקייה עם הארכיטקטורה המתאימה. לפיכך, עבור x64, הקובץ הבא לא יהיה x86pxeboot.comו - x64pxeboot.com
  • הורד / צור רקע.פנג, רזולוציה 640x480, העתק לאותה תיקייה. צור תיקיה ISO שבו נמקם תמונות ISO. צור תיקיה pxelinux.cfg עבור הגדרות.
  • בתיקייה pxelinux.cfg, צור קובץ ברירת מחדל, בקידוד שאינו יוניקוד, עם התוכן
    ברירת מחדל (לחץ לתצוגה)
    # используем графическое меню
    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.cfg

    chain.c32
    ldlinux.c32
    libcom32.c32
    libutil.c32
    pxechn.c32
    vesamenu.c32
    pxelinux.com
    רקע.פנג
    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

  • עבור ארכיטקטורת x64, אנו מעתיקים ויוצרים באופן דומה את אותו מבנה בתיקייה c:remoteinstallsmsbootx64

תוספת
בעת שימוש בפקודה menu PASSWD ניתן להגדיר את הסיסמה כפי שהיא, או להשתמש באלגוריתם hashing על ידי הוספת החתימה המתאימה בתחילת הפרמטר

אלגוריתם
חֲתִימָה

MD5
$ 1 $

SHA-1
$ 4 $

SHA-2-256
$ 5 $

SHA-2-512
$ 6 $

אז לסיסמא Qwerty ואלגוריתם MD5

menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0

אתה יכול ליצור סיסמה, למשל, באמצעות מחולל hash מקוון www.insidepro.com/hashes.php?lang=rus, שורה MD5(Unix)

2. הגדרת אתחול PXELinux

כעת נציין כיצד לטעון את pxelinux.com ולקבל את התפריט.
ציון טוען האתחול pxelinux.com באמצעות פונקציונליות WDS לא עובד ב-SCCM. הצג פקודות

wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86

אינם מעובדים. אתה יכול לוודא שתמונות אתחול אינן מוגדרות על ידי הפעלת פקודת תצורת שרת הפלט WDS

wdsutil /get-server /show:images

תפריט האתחול של PXE עם System Center Configuration Manager
לכן, ב-SCCM 2012, אינך יכול לציין את הקובץ שלך עבור הורדת PXE לספק SMSPXE. לכן, נגדיר את האזור הפעיל של שרת ה-DHCP.
בפרמטרים של אזור ה-DHCP הפעיל, הגדר את הפרמטרים בהתאם ללוח

אפשרות DHCP
שם פרמטר
ערך

066
שם מארח של שרת האתחול
sccm2012.test.local

067
שם קובץ אתחול
smsbootx86pxelinux.com

006
שרת DNS
192.168.57.10

015
שם דומיין DNS
test.local

באופציה 066 אנו מציינים את שם ה-FQDN של שרת sccm, באופציה 067 אנו מציינים את הנתיב ל-x86 bootloader pxelinux.com החל מהשורש TFTP, באופציה 006 אנו מציינים את כתובת ה-IP של שרת ה-DNS. אם נעשה שימוש בשם שרת קצר באופציה 066, באופציה 015 אנו מציינים את סיומת ה-DNS של הדומיין.

תוספת
תיאר את תצורת ה-DHCP ביתר פירוט mvgolubev כאן. אבל הלאה DC אפשרות 150, כתובת IP של שרת TFTP, הייתה חסרה בהגדרות היקף DHCP, וציון אפשרות 150 דרך netsh לא עבד.תפריט האתחול של PXE עם System Center Configuration Manager

3. בדיקת עבודה

ההגדרות הבסיסיות הושלמו ותוכל להתחיל לבדוק. אנו מציינים במחשב הבדיקה ב-BIOS שהוא נטען ברשת ונטען לתפריט
תפריט האתחול של PXE עם System Center Configuration Manager

בחר פריט «Start to SCCM» ואם רצף משימות מוקצה למחשב, אז לאחר זמן מה יופיע חלון "אשף רצף המשימות" שיבקש ממך להזין סיסמה
תפריט האתחול של PXE עם System Center Configuration Manager

הפעל מחדש את המכונה, חזור לתפריט, בחר בתפריט «Antivirus and tools» והזן את הסיסמה Qwerty
תפריט האתחול של PXE עם System Center Configuration Manager

אנו בוחרים פריט שרירותי ומתבוננים בטעינת תמונת ה-ISO לזיכרון
תפריט האתחול של PXE עם System Center Configuration Manager

מחכה ורואה את התוצאה
תפריט האתחול של PXE עם System Center Configuration Manager

האימות הושלם
תפריט האתחול של PXE עם System Center Configuration Manager

4. הגדרות ותכונות נוספות

הגדרת ניתוב

אם הלקוח, שרת ה-DHCP והשרת המכילים את מטעין הרשת נמצאים באותו מקטע רשת, אין צורך בתצורה נוספת. עם זאת, אם הלקוח ושרת DHCP או שרת WDS/SCCM ממוקמים בקטעי רשת שונים, מומלץ להגדיר את הנתבים שלך להעביר מנות שידור מהלקוח לשרת ה-DHCP הפעיל ולשרת WDS/SCCM הפעיל. בספרות האנגלית, תהליך זה ידוע בשם "עדכוני טבלת IP Helper". במקרה זה, הלקוח, לאחר השגת כתובת IP, יוצר קשר עם השרת המכיל את מטעין הרשת ישירות באמצעות מנות DHCP על מנת להוריד את מטעין הרשת.
עבור נתבים של Cisco, השתמש בפקודה

ip helper-address {ip address}

איפה {ip address} כתובת שרת DHCP או שרת WDS/SCCM. פקודה זו שולחת גם את מנות השידור הבאות של UDP

הנמל
פרוטוקול

69
TFTP

53
מערכת שמות דומיינים (DNS)

37
שירות זמן

137
שרת שמות של NetBIOS

138
NetBIOS Datagram Server

67
פרוטוקול Bootstrap (BOOTP)

49
TACACS

השיטה השנייה של הלקוח לקבל מידע על מטעין הרשת ישירות משרת ה-DHCP היא לציין אפשרויות 60,66,67 בשרת ה-DHCP. שימוש באפשרות DHCP 60 עם ערך «PXEClient» לכל טווחי DHCP רק אם שרת ה-DHCP מתארח באותו שרת כמו שירותי הפריסה Windowsבמקרה זה, הלקוח יוצר קשר עם שרת שירותי הפריסה Windows ישירות דרך TFTP דרך יציאת UDP 4011, לא דרך DHCP. שיטה זו אינה מומלצת על ידי מיקרוסופט עקב בעיות באיזון עומסים, טיפול שגוי בפרמטרי DHCP ופרמטרי תגובה של שירותי פריסה. Windows בצד הלקוח. כמו כן, שימוש בשתי אפשרויות DHCP בלבד, 66 ו-67, מאפשר לך לעקוף את ההגדרות שתצורתן נקבעה בשרת האתחול של הרשת.
עליך גם לפתוח את פורטי ה-UDP הבאים בשרת שירותי הפריסה Windows
יציאה 67 (DHCP)
יציאה 69 (TFTP)
יציאה 4011 (PXE)
ויציאה 68 אם נדרשת הרשאת DHCP בשרת.

ביתר פירוט, תהליך התצורה והניואנסים של ניתוב מחדש בין שרתי WDS שונים מתוארים להלן במקורות:
ניהול תוכנית אתחול ברשת http://technet.microsoft.com/ru-ru/library/cc732351(v=ws.10).aspx
ניהול שרתים http://technet.microsoft.com/ru-ru/library/cc770637(v=ws.10).aspx
גבולות תמיכה של שירותי תמיכת המוצר של מיקרוסופט (PSS) עבור אתחול רשת Windows סביבת התקנה מראש (Windows PE) 2.0 http://support.microsoft.com/kb/926172/en-us
כיצד להעביר שידור UDP (BOOTP / DHCP) בסיסקו http://www.cisco-faq.com/163/forward_udp_broadcas.html
תכונות הפעלה ותצורה של DHCP בנתבים של סיסקו (חלק 2) http://habrahabr.ru/post/89997/

אפשרויות נוספות להורדה מקומית

בסביבת בדיקה, הפקודה

localboot 0

נותן שגיאה כזו
תפריט האתחול של PXE עם System Center Configuration Manager
עולה מהתיעוד של syslinux שכאשר

localboot 0

הטעינה תעבור מדיסק מקומי. וכאשר מציינים ערך ספציפי 0x00 מהדיסק הראשי (הראשי), כאשר מציינים 0x80 מהדיסק הקשיח הראשי (הראשי). על ידי שינוי הפקודה ל

localboot 0x80

מערכת ההפעלה המקומית נטענה.
אם יש צורך לאתחל מדיסק, מחיצה או פקודה ספציפיים localboot לא עובד, אז אתה יכול להשתמש ביכולות של המודול chain.c32. לאחר טעינתו, השתמש בפקודה append כדי לציין דיסק או מחיצת דיסק ספציפיים, מספור הדיסק מתחיל מ-0, מספור המחיצות מתחיל מ-1. אם מצוין מחיצה 0, ה-MBR נטען. בעת ציון דיסק, ניתן להשמיט את המחיצה.

KERNEL chain.c32
APPEND hd0 0

או

KERNEL chain.c32
APPEND hd0

מקורות: http://www.syslinux.org/wiki/index.php/SYSLINUX#LOCALBOOT_type_.5BISOLINUX.2C_PXELINUX.5D
http://www.gossamer-threads.com/lists/syslinux/users/7127

סדר ותיאור הורדת קבצים דרך 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
מטפל בסקריפט PXE מ-MDT (Microsoft Deployment Toolkit)

BINLSVC
מנוע WDS ו-RIS סטנדרטי

עם SCCM מותקן, הפרמטר ProvidersOrder עניינים SMSPXE. על ידי שינוי הפרמטר, ניתן לשנות את סדר טעינת הספקים.

בקטלוג RemoteInstall הקבצים הסטנדרטיים הבאים נמצאים

wdsnbp.com

תוכנית אתחול רשת המיועדת לשירותי פריסה Windows וביצוע המשימות הבאות:
1. זיהוי אדריכלות.
2. תחזוקת מחשבי המתנה. כאשר מדיניות ההוספה האוטומטית מופעלת, תוכנית אתחול רשת זו נשלחת למחשבים ממתינים כדי להשעות את אתחול הרשת ולהודיע ​​לשרת על ארכיטקטורת מחשב הלקוח.
3. שימוש בקישורי אתחול ברשת (כולל שימוש באפשרויות DHCP 66 ו-67)

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 ואיטניום.

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 שירותי פריסה (WDS), אשר יצרו תיקיות אלו באופן אוטומטי.
עבור תפקיד נקודת ההפצה (נקודת שירות PXE ב-SCCM 2007), מספיקות רק התיקיות הבאות

SMSBoot
SMSIMAGES
SMSTemp
Stores

זה לא אומר ש-SCCM מותקן בצורה לא נכונה, אבל זה עשוי להצביע על מקור אפשרי לטעויות.
הפתרון של בעיות שונות של חבילת WDS, SCCM ו-PXE נדון בפירוט רב במאמר. פתרון בעיות בנקודת השירות PXE ו-WDS ב-Configuration Manager 2007

סך הכל

תשתית IT המנוהלת על ידי System Center Configuration Manager הוסיפה כלי חדש למנהלי מערכות בשטח.

רשימת קישורים לתמונות ISO (לחץ לתצוגה)download.f-secure.com/estore/rescue-cd-3.16-52606.iso
git.ipxe.org/releases/wimboot/wimboot-latest.zip
download.geo.drweb.com/pub/drweb/livecd/drweb-livecd-602.iso
rescuedisk.kaspersky-labs.com/rescuedisk/updatable/kav_rescue_10.iso
esetsupport.com/eset_sysrescue.iso
boot.ipxe.org/ipxe.iso
citylan.dl.sourceforge.net/project/clonezilla/clonezilla_live_alternative/20130226-quantal/clonezilla-live-20130226-quantal-i386.iso
ftp.rasla.ru/_Distr_/WinPE/RaSla/WinPE_RaSla.iso
www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.zip

תודה לך!
תפריט האתחול של PXE עם System Center Configuration Manager

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster