
Estamos estudiando la posibilidad de ampliar las capacidades de System Center Configuration Manager (un producto de gestión de infraestructura de TI) al arrancar equipos de usuario a través de la red mediante PXE. Estamos creando un menú de arranque basado en PXE.Linux con la funcionalidad de System Center y agregar capacidades de escaneo antivirus, imágenes de diagnóstico y recuperación. Al final del artículo, abordaremos los detalles de cómo System Center 2012 Configuration Manager funciona con Windows Servicios de despliegue (WDS) al arrancar mediante PXE.
Realizamos todas las acciones en un entorno de prueba que ya tiene instalado System Center 2012 Configuration Manager SP1, un controlador de dominio y varias máquinas de prueba. Se supone que SCCM ya se está implementando en la red mediante PXE.
Entrada
El entorno de prueba consta de varias máquinas virtuales. Todas las máquinas ejecutan el sistema operativo invitado de Microsoft. Windows Server Windows Server 2008 R2 (x64), adaptador de red E1000, controlador SCSI: LSI Logic SAS
Nombre (Funciones)
dirección IP / nombre DNS
Funcional
SCCM (Administrador de configuración del centro del sistema)
192.168.57.102
sccm2012.prueba.local
System Center Configuration Manager 2012 SP1 instalado
CC (ANUNCIO, DHCP, DNS)
192.168.57.10
dc1.prueba.local
El papel del controlador de dominio, el servidor DHCP y el servidor DNS
PRUEBA (Máquina de prueba)
192.168.57.103
prueba.prueba.local
Para las pruebas
GW (Puerta de enlace)
192.168.57.1
Enrutamiento entre redes. Función de puerta de enlace
1. Agregar PXELinux en SCCM
Realizamos acciones en la máquina donde está instalado System Center Configuration Manager
- Determinemos el directorio donde se encuentran los archivos WDS para su descarga, para ello buscamos en el registro el valor del parámetro
RootFolderen una ramaHKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor por defectoC:RemoteInstall
Los archivos para descargar desde el punto de implementación SCCM se encuentran en los directoriossmsbootx86иsmsbootx64dependiendo de la arquitectura.
Primero, configure un directorio para la arquitectura de 32 bits, de forma predeterminadac:Remoteinstallsmsbootx86 - Descargue el archivo con la última . Copie de syslinux-5.01.zip a
c:Remoteinstallsmsbootx86los siguientes archivos:
memdisk, chain.c32, ldlinux.c32, libcom32.c32, libutil.c32, pxechn.c32, vesamenu.c32, pxelinux.0
Se necesitan archivos adicionales para evitar dicho error.
- В
c:Remoteinstallsmsbootx86rebautizarpxelinux.0вpxelinux.com
En carpetac:remoteinstallsmsbootx86Hacer una copiaabortpxe.comy cambiarle el nombre aabortpxe.0
Si no cambia el nombre a la extensión.0, entonces por ejemplo la instrucciónKernel abortpxe.comfallará con el siguiente error: Falló el kernel de arranque: número de archivo incorrecto
Para PXELINUX, la extensión del archivo de descarga debe configurarse de acuerdo con la placanone 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]Fuente: sección “Archivo del núcleo”
- Para no presionar la tecla F12 varias veces al cargar SCCM a través del menú, cambie el nombre de pxeboot.com a pxeboot.com.f12, copie pxeboot.n12 a pxeboot.com
Si esto no se hace, al elegir, recibiremos ese mensaje cada vez
Nota: No olvide cambiar el nombre de estos archivos en la carpeta x64 también. cuando cargax86wdsnbp.comdesde la carpeta x86, el cargador determina la arquitectura del procesador y el siguiente archivo se carga desde la carpeta con la arquitectura correspondiente. Por lo tanto, para x64, el archivo posterior no seráx86pxeboot.comYx64pxeboot.com - Descargar / crear , resolución 640x480, copiar en la misma carpeta. crear una carpeta
ISOdonde colocaremos imágenes ISO. crear una carpetapxelinux.cfgpara configuraciones - En la carpeta pxelinux.cfg, cree un archivo predeterminado, en una codificación que no sea Unicode, con el contenido
predeterminado (Haga clic para mostrar)# используем графическое меню 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.0En carpeta
pxelinux.cfgcrear un archivographics.confcon contenido
graphics.conf (Haga clic para mostrar)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 0En carpeta
pxelinux.cfgcrear un archivoav.confcon contenido
av.conf (Haga clic para mostrar)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 - Como resultado, el directorio c:remoteinstallsmsbootx86 contiene la estructura
c:instalación remotamsmsbootx86
pxelinux.cfgcadena.c32
ldlinux.c32
libcom32.c32
libutil.c32
pxechn.c32
vesamenu.c32
pxelinux.com
background.png
pxelinux.cfg
pxelinux.cfg
pxelinux.cfg
ISO
abortarpxe.0
wdsnbp.com
bootmgfw.efi
wdsmgfw.efi
bootmgr.exe
pxeboot.n12
pxeboot.com
abortopxe.comla página predeterminada
av.conf
gráficos.conf
*.Yo asi - Para la arquitectura x64, copiamos y creamos de manera similar la misma estructura en la carpeta
c:remoteinstallsmsbootx64
Adición
Al usar el comandomenu PASSWDla contraseña se puede configurar tal cual o usar un algoritmo hash agregando la firma correspondiente al comienzo del parámetroAlgoritmo
FirmaMD5
$ $ 1SHA-1
$ $ 4SHA-2-256
$ $ 5SHA-2-512
$ $ 6Entonces para la contraseña
Qwertyy algoritmo MD5menu PASSWD $1$15opgKTx$dP/IaLNiCbfECiC2KPkDC0Puede generar una contraseña, por ejemplo, a través de un generador de hash en línea , línea
MD5(Unix)
2. Configurar el arranque PXELinux
Ahora indicaremos cómo cargar pxelinux.com y obtener el menú.
Especificar el gestor de arranque pxelinux.com a través de la funcionalidad WDS no funciona en SCCM. Ver comandos
wdsutil /set-server /bootprogram:bootx86pxeboot.com /architecture:x86
no son procesados. Puede verificar que las imágenes de arranque no estén configuradas ejecutando el comando de configuración del servidor WDS de salida
wdsutil /get-server /show:images
Por lo tanto, en SCCM 2012, no puede especificar su archivo para descargar PXE al proveedor de SMSPXE. Por tanto, configuraremos el área activa del servidor DHCP.
En los parámetros del área activa DHCP, configure los parámetros de acuerdo con la placa
Opción DHCP
Nombre del parametro
Valor
066
Nombre de host del servidor de arranque
sccm2012.prueba.local
067
Nombre del archivo de arranque
smsbootx86pxelinux.com
006
Servidores DNS
192.168.57.10
015
Nombre de dominio DNS
prueba.local
En la opción 066 especificamos el nombre FQDN del servidor sccm, en la opción 067 especificamos la ruta al gestor de arranque x86 pxelinux.com comenzando desde la raíz TFTP, en la opción 006 especificamos la dirección IP del servidor DNS. Si se usa un nombre de servidor corto en la opción 066, en la opción 015 especificamos el sufijo DNS del dominio.
Adición
Describió la configuración de DHCP con más detalle. . pero enDCla opción 150, dirección IP del servidor TFTP, faltaba en la configuración del alcance de DHCP y especificar la opción 150 a través de netsh no funcionó.
3. Comprobación del trabajo
La configuración básica está completa y puede comenzar a verificar. Indicamos en la computadora de prueba en el BIOS que se carga a través de la red y se carga en el menú
Elige un artículo «Start to SCCM» y si se asigna una secuencia de tareas a la computadora, luego de un tiempo aparecerá la ventana "Asistente de secuencia de tareas" que le pedirá que ingrese una contraseña

Reinicie la máquina, vuelva al menú, seleccione en el menú «Antivirus and tools» e ingrese la contraseña Qwerty
Seleccionamos un elemento arbitrario y observamos la carga de la imagen ISO en la memoria
Esperando y viendo el resultado
Verificación completada

4. Configuraciones y funciones adicionales
Configuración de enrutamiento
Si el cliente, el servidor DHCP y el servidor que contiene el cargador de red están en el mismo segmento de red, no se requiere configuración adicional. Sin embargo, si el cliente y el servidor DHCP o el servidor WDS/SCCM están ubicados en segmentos de red diferentes, se recomienda que configure sus enrutadores para reenviar paquetes de difusión desde el cliente al servidor DHCP activo y al servidor WDS/SCCM activo. En la literatura inglesa, este proceso se conoce como "actualizaciones de la tabla IP Helper". En este caso, el cliente, después de obtener una dirección IP, contacta directamente con el servidor que contiene el cargador de red a través de paquetes DHCP para descargar el cargador de red.
Para enrutadores Cisco, use el comando
ip helper-address {ip address}
donde {ip address} Servidor DHCP o dirección del servidor WDS/SCCM. Este comando también envía los siguientes paquetes de difusión UDP
El puerto
Protocolo
69
TFTP
53
Sistema de nombres de dominio (DNS)
37
servicio de tiempo
137
Servidor de nombres NetBIOS
138
Servidor de datagramas NetBIOS
67
Protocolo Bootstrap (BOOTP)
49
Tacacs
El segundo método para que el cliente obtenga información sobre el cargador de red directamente desde el servidor DHCP es especificar las opciones 60,66,67 en el servidor DHCP. Uso de la opción DHCP 60 con valor «PXEClient» a todos los ámbitos DHCP solo si el servidor DHCP está alojado en el mismo servidor que los servicios de implementación. WindowsEn este caso, el cliente se comunica con el servidor de Servicios de Implementación. Windows Directamente a través de TFTP por el puerto UDP 4011, no mediante DHCP. Microsoft no recomienda este método debido a problemas con el equilibrio de carga, el manejo incorrecto de los parámetros DHCP y los parámetros de respuesta de los servicios de implementación. Windows del lado del cliente. Además, usar solo dos opciones DHCP, 66 y 67, permite omitir la configuración establecida en el servidor de arranque de red.
También necesita abrir los siguientes puertos UDP en el servidor de Servicios de implementación. Windows
puerto 67 (DHCP)
puerto 69 (TFTP)
puerto 4011 (PXE)
y el puerto 68 si se requiere autorización DHCP en el servidor.
Más detalladamente, el proceso de configuración y los matices de redirección entre diferentes servidores WDS se describen a continuación en las fuentes:
Gestión del programa de arranque de red
administración del servidor
Límites de soporte de los Servicios de soporte de productos de Microsoft (PSS) para el arranque de red de Microsoft Windows Entorno de preinstalación (Windows PE) 2.0
Cómo reenviar la transmisión UDP (BOOTP / DHCP) en Cisco
Características de operación y configuración de DHCP en enrutadores Cisco (Parte 2)
Opciones adicionales para descarga local
En un entorno de prueba, el comando
localboot 0 da tal error

De la documentación de syslinux se deduce que cuando
localboot 0la carga irá desde un disco local. Y al especificar un valor específico 0x00 del disquete primario (primario), al especificar 0x80 del disco duro primario (primario). Al cambiar el comando a
localboot 0x80 el sistema operativo local se ha cargado.
Si es necesario arrancar desde un disco, partición o comando específico localboot no funciona, entonces puede usar las capacidades del módulo chain.c32. Después de cargarlo, use el comando agregar para especificar un disco o partición de disco específico, la numeración de discos comienza desde 0, la numeración de particiones comienza desde 1. si se especifica la partición 0, se carga el MBR. Al especificar un disco, se puede omitir la partición.
KERNEL chain.c32
APPEND hd0 0o
KERNEL chain.c32
APPEND hd0 Fuentes:
Orden y descripción de la descarga de archivos a través de PXE
Como se mencionó al principio del artículo, el directorio donde se encuentran los archivos WDS para su descarga está contenido en el valor del parámetro RootFolder en la sucursal del registro HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesWDSServerProvidersWDSTFTP
Valor por defecto C:RemoteInstall
Aquí en el parámetro ReadFilter Se especifican directorios donde el servidor TFTP busca archivos para descargar, comenzando desde la raíz. Con SCCM 2012 SP1 instalado, esta configuración es
boot*
tmp*
SMSBoot*
SMSTemp*
SMSImages* Si cambia el valor del parámetro a * entonces todos los archivos ubicados en el directorio serán procesados RemoteInstall.
El rol del punto de implementación de SCCM 2012 se especifica en el valor del registro ProvidersOrderubicado en la sucursal HKLMSystemCurrentControlSetWDSServerProvidersWDSPXE
Parámetro ProvidersOrder puede tomar valores
SMSPXE
Punto de servicio PXE en SCCM
SMS.PXE.Filtro
Controlador de secuencias de comandos PXE de MDT (Microsoft Deployment Toolkit)
BINLSVC
Motor estándar WDS y RIS
Con SCCM instalado, el parámetro ProvidersOrder asuntos SMSPXE. Al cambiar el parámetro, puede cambiar el orden en que se cargan los proveedores.
En el catálogo RemoteInstall los siguientes archivos estándar se encuentran
wdsnbp.com
Un programa de arranque de red diseñado para servicios de implementación Windows y realizando las siguientes tareas:
1. Detección de arquitectura.
2. Mantenimiento de los ordenadores de espera. Cuando la política de agregar automáticamente está habilitada, este programa de inicio de red se envía a las computadoras en espera para suspender el inicio de red e informar al servidor de la arquitectura de la computadora cliente.
3. Uso de enlaces de inicio de red (incluido el uso de opciones de DHCP 66 y 67)
PXEboot.com
(Predeterminado) Requiere que el usuario presione F12 para continuar con el arranque de la red
PXEboot.n12
No requiere que el usuario presione la tecla F12 e inicia el arranque de la red inmediatamente
AbortarPXE.com
Arranca la computadora usando el siguiente elemento de arranque en el BIOS sin esperar
bootmgr.exe
Gestor de descargas Windows (Bootmgr.exe o Bootmgr.efi). Carga el gestor de arranque utilizando el firmware. Windows desde una partición de disco específica o a través de una conexión de red (en caso de arranque por red).
Bootmgfw.efi
La versión EFI de PXEboot.com y PXEboot.n12 (en EFI, la elección de iniciar o no iniciar PXE está en el shell EFI, no en el programa de inicio de red). Bootmgfw.efi combina las capacidades de PXEboot.com, PXEboot.n12, abortpxe.com y bootmgr.exe. Actualmente solo existe para arquitecturas x64 e Itanium.
Predeterminado.bcd
Almacén de datos de configuración de arranque (BCD), formato REGF, se puede cargar en REGEDIT, reemplaza el archivo de texto Boot.ini
La carga ocurre en el siguiente orden como se describe arriba
1. Descargue wdsnbp.com.
2. A continuación, se carga pxeboot.com de la arquitectura adecuada
3. PXEBoot.com descarga bootmgr.exe y el almacén de datos de configuración de arranque BCD
4. Bootmgr.exe lee las entradas del sistema operativo de los datos de configuración de arranque (BCD) y carga el archivo Boot.sdi y la imagen. Windows Educación física (baño)
5. Bootmgr.exe comienza a cargarse Windows PE, accediendo a Winload.exe en la imagen Windows PE
Si el RemoteInstall hay carpetas
Boot
Images
Mgmt
Templates
Tmp
WdsClientUnattend Su presencia significa que antes de agregar el rol de punto de distribución en SCCM 2012 (punto de servicio PXE en SCCM 2007) hubo alguna acción para configurar la instalación. Windows Servicios de implementación (WDS), que crearon automáticamente estas carpetas.
Para la función de punto de distribución (punto de servicio PXE en SCCM 2007), solo las siguientes carpetas son suficientes
SMSBoot
SMSIMAGES
SMSTemp
StoresEsto no significa que SCCM esté instalado incorrectamente, pero puede señalar una posible fuente de errores.
La solución de varios problemas del paquete WDS, SCCM y PXE se analiza con gran detalle en el artículo.
Total
La infraestructura de TI administrada por System Center Configuration Manager ha agregado una nueva herramienta para los administradores de sistemas de campo.
Lista de enlaces a imágenes ISO (Click para mostrar)
Gracias por su atención!

Fuente: habr.com
