Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

Le recordamos que los intentos de repetir las acciones del autor pueden llevar a la pérdida de la garantía del equipo e incluso a su falla. El material se proporciona únicamente con fines informativos. Si va a reproducir los pasos que se describen a continuación, le recomendamos encarecidamente que lea atentamente el artículo hasta el final al menos una vez. Los editores de 3DNews no se hacen responsables de las posibles consecuencias.

¿Recuerdas que una vez consideramos crear un "botiquín de primeros auxilios" USB universal para la reparación de computadoras de emergencia? En el último artículo, nos familiarizamos con el arranque de red y el programa DRBL. Bueno, esta vez crearemos un análogo de medios de arranque múltiple, solo que no arrancaremos desde una unidad flash USB, sino a través de la red usando PXE. Esto se hace de manera bastante simple. Como de costumbre, necesitaremos un coche bajo ejecutando Ubuntu Servidor 11.10 con dos tarjetas de red, que actuará como servidor. El soporte de arranque de red debe estar habilitado en el BIOS de las máquinas cliente.

Para simplificar su tarea y no perder el tiempo instalando y configurando varios servicios de red como un servidor DHCP y TFTP, usaremos una solución más universal: dnsmasq. Este es un servidor DNS/DHCP/TFTP liviano que es ideal para máquinas de arranque en red. Como la última vez, estaremos de acuerdo en que la interfaz de red eth0 recibe automáticamente una dirección IP del enrutador y tiene acceso a Internet. A su vez, eth1 analiza red interna y tiene una dirección IP estática 192.168.0.1. Editar configuración de la red en el archivo /etc/network/interfaces con editor de texto nano si aún no lo has hecho.

sudo nano /etc/red/interfaces

Al final del archivo, agregue la configuración para la interfaz eth1 y guárdela (F2, Y, Enter).

Auto eth1 iface eth1 inet dirección estática 192.168.0.1 máscara de red 255.255.255.0

Si necesita dar acceso a la Red a clientes locales, entonces tiene que hacer otra cosa. Primero, descomente (elimine el # al principio) línea net.ipv4.ip_forward=1 en el archivo /etc/sysctl.conf. En segundo lugar, ejecute un par de comandos. El último comando debe agregarse al final del archivo /etc/rc.local antes de la línea salida 0 para que el reenvío de red comience al inicio.

sudo sysctl -p sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Ahora necesita instalar dnsmasq, así como varias utilidades para facilitar el trabajo: archivo gerente de medianoche Commander y utilidades para descomprimir imágenes ISO y archivos ZIP/RAR/7ZIP.

sudo apt-get install dnsmasq mc genisoimage descomprimir unrar p7zip-full

Comencemos a configurar dnsmasq.

sudo nano /etc/dnsmasq.conf

Agregue las siguientes líneas al final:

Interfaz=eth1 dhcp-range=192.168.0.10,192.168.0.100,255.255.255.0,24h server=8.8.8.8 enable-tftp tftp-root=/pxe dhcp-boot=pxelinux.0

¿Que es que? El parámetro de interfaz especifica con qué interfaz de red funcionará dnsmasq. En dhcp-range, los primeros dos parámetros indican el comienzo y el final del rango de direcciones emitidas a las computadoras cliente, seguidos por la máscara de subred y el tiempo de concesión de la dirección. El campo del servidor contiene las direcciones IP de los servidores DNS ascendentes (por ejemplo, un proveedor), pero si lo desea, puede utilizar DNS de Google o OpenDNS. La directiva enable-tftp habilita el servidor TFTP incorporado y tftp-root especifica el directorio raíz para él. Finalmente, se escribe un gestor de arranque en dhcp-boot, que se distribuirá por la red.

Guardemos la configuración y reiniciemos el servidor, y también creemos carpetas necesarias y correr Comandante de medianoche(mc), donde continuamos el trabajo principal. /pxe/images/ almacenará imágenes de utilidades o distribuciones que se cargarán a través de red local. El directorio /pxe/pxelinux.cfg es para almacenar la configuración de PXE.

sudo mkdir -p /pxe/images/ sudo mkdir /pxe/pxelinux.cfg sudo servicio dnsmasq reiniciar sudo mc

En primer lugar, debe obtener programas de arranque del proyecto syslinux. Descargue el archivo más reciente en su carpeta de inicio. Los comandos se pueden escribir directamente en mc o, para mayor comodidad, cambiar entre la consola y los paneles usando el atajo de teclado Ctrl + O. Es más conveniente descargar archivos con el programa wget. Por ejemplo, así:

Wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-4.05.tar.gz

Ingresamos al archivo descargado simplemente moviendo la selección hacia él y presionando Enter. Es necesario copiar varios archivos de él al directorio /pxe: pxelinux.0 de la carpeta /core, menu.c32 de /com32/menu y memdisk del directorio del mismo nombre.

Poco a poco estamos comenzando a completar la configuración predeterminada para pxelinux.

sudo nano /pxe/pxelinux.cfg/default

Agreguemos las siguientes líneas a este archivo:

PREDETERMINADO menu.c32 TIMEOUT 600 TÍTULO DEL MENÚ PXE BOOT ETIQUETA DEL MENÚ HDDBoot ETIQUETA DEL MENÚ Inicio local MENÚ PREDETERMINADO LOCALBOOT 0

En general, toda la documentación sobre la formación de parámetros para cargadores de arranque syslinux, y menú de arranque PXE en particular se encuentra en archivos de texto directorio docs del archivo syslinux. Echemos un vistazo a los parámetros que acabamos de usar. De forma predeterminada, se inicia el archivo menu.c32, que muestra nuestro menú PXE. TIMEOUT especifica el tiempo de espera (en 1/10 s) después del cual se cargará el elemento predeterminado. MENU TITLE contiene el título de nuestro menú. Ahí puedes ingresar lo que quieras.

Luego viene la descripción del primer elemento del menú. A cada artículo se le asigna una etiqueta (LABEL) para facilitar su manejo. En MENÚ ETIQUETA el nombre de la etiqueta que verá el usuario al cargar. MENÚ PREDETERMINADO significa que este elemento del menú actual se iniciará de forma predeterminada. Bueno, la directiva LOCALBOOT 0 indica que debe apagar PXE y volver al arranque normal de la computadora. Es mejor dejar que este elemento se ejecute de forma predeterminada.

Diversifiquemos nuestro multicargador con algunas utilidades. Tomemos, por ejemplo, el famoso programa de prueba de memoria Memtest86+. Descargue el archivo del sitio web con el binario de arranque precompilado. Guardamos el archivo memtest.bin como memtest (¡sin extensión!) en la carpeta /pxe/images. Aquí nos enfrentamos a dos características a la vez. Primero, para la suite syslinux, varios archivos (.0, .bin, .bs, etc.) deben tener un formato estrictamente definido. El mismo .bin para isolinux se lee como sector de arranque CD, pero memtest.bin no lo es. En segundo lugar, este archivo admite directamente el arranque con syslinux, por lo que podemos especificarlo con seguridad como el "núcleo" para ejecutar.

ETIQUETA Memtest86+ MENÚ ETIQUETA Memtest86+ NÚCLEO imágenes/memtest

Otra opción de arranque útil es usar memdisk. En este caso, los medios (imagen iso, imagen de disquete sin procesar, imagen de disco duro) se copia completamente en RAM computadora y más carga se produce desde ella. Aquí hay un ejemplo para ejecutar KolibriOS. Copie el archivo kolibri.img del archivo de distribución a la carpeta /pxe/images y agregue las siguientes líneas a /pxe/pxelinux.cfg/default.

ETIQUETA Kolibri MENÚ ETIQUETA KolibriOS KERNEL memdisk APPEND initrd=images/kolibri.img


Puede hacerlo "más severamente": coloque el CD de arranque de Hiren en el arranque. Ya puede adivinar que la imagen iso debe guardarse como /pxe/images/hirens.iso. En la máquina cliente, tendrá que esperar un minuto o dos hasta que el iso de medio gigabyte se copie en la memoria Naturalmente, la PC en sí debe tener al menos un gigabyte de RAM, pero después de cargar, trabajar con Hiren's Boot CD es extremadamente rápido. Sin embargo, es mejor evitar tales opciones extremas.

ETIQUETA Hirens MENU ETIQUETA Hiren's Boot CD KERNEL memdisk APPEND iso initrd=images/hirens.iso


Tomemos un ejemplo más complicado: inicie Clonezilla Live a través de PXE. Crea una carpeta /pxe/images/clonezilla. Allí deberá copiar todos los archivos de la carpeta /live, que se encuentra en la imagen ISO. En los ajustes especificamos la descarga núcleos de Linux(vmlinuz), y en APPEND le pasamos parámetros. Puede verlos en el archivo isolinux/isolinux.cfg dentro de la imagen ISO (las claves ocs_* se refieren directamente a Clonezilla, no al kernel como tal). En nuestro caso, habrá poca diferencia: solo debe especificar que el archivo con la imagen del sistema en Squashfs debe tomarse al descargarlo del servidor TFTP.

ETIQUETA Clonezilla MENÚ ETIQUETA Clonezilla KERNEL images/clonezilla/vmlinuz APPEND initrd=images/clonezilla/initrd.img boot=live config noprompt noswap nomodeset nolocales/nosplash edd=on vga=788 ocs_live_run="ocs-live-general" ocs_live_extra_param="" ocs_live_keymap="" ocs_live_bash="no" ocs_lang="" fetch=tftp://192.168.0.1/images/clonezilla/filesystem.squashfs AYUDA DE TEXTO Clonezilla Live — Arrancar en RAM TEXTO FINAL

¡Atención! Todo lo que sigue a APPEND es una sola línea sin guiones. El texto entre las directivas TEXT HELP y ENDTEXT se mostrará como información sobre herramientas cuando se seleccione el elemento del menú de arranque correspondiente. De igual forma, se añaden otras distribuciones o utilidades a la descarga en basado en Linux. Intente calentar la configuración para la distribución ligera de SliTaz.

ETIQUETA Slitaz MENÚ ETIQUETA SliTaz NÚCLEO Linux /boot/bzImage ANEXO initrd=/boot/rootfs4.gz,/boot/rootfs3.gz,/boot/rootfs2.gz,/boot/rootfs1.gz rw root=/dev/null vga= inicio de sesión automático normal


Como puede ver, todo es bastante simple y está configurado de manera bastante flexible. Para obtener más información sobre el arranque PXE en base de ubuntu Servidor, sería bueno familiarizarse con el wiki de syslinux y la documentación que se incluye en el archivo de esta utilidad. De las soluciones interesantes que utilizan PXE, puede leer, por ejemplo, sobre instalación de red Windows 7 sin RIS/WDS. Y entre las adiciones útiles, vale la pena echar un vistazo más de cerca al kit de distribución de Thinstation para crear clientes ligeros, así como al administrador de descargas Plop. Sin duda, utilidades para probar el hardware y diagnosticar problemas, para recuperar datos y crear copias de seguridad, para... En general, tú decides. ¡Buena suerte!

Una unidad flash USB de arranque con un conjunto del software necesario es una herramienta maravillosa administrador de sistema. Parecería, ¿qué podría ser mejor? ¡Y el servidor de arranque puede ser mejor!

Imagina que has elegido arranque del BIOS a través de la red y puede instalar un sistema operativo / curar una computadora de virus / reanimar discos / probar RAM / etc. desde un servidor de arranque PXE, porque es mucho más conveniente que ejecutar con una unidad flash de una máquina a otra.
Y en el caso de un gran parque informático, dicha herramienta es completamente indispensable.

Escribimos anteriormente sobre cómo preparar Windows para la instalación con PXE.
La única diferencia con esta instalación es que aquí podemos instalar Windows 2008R2 y Windows 2012R2 (sin embargo, Windows 7/8 también, solo necesita preparar la distribución y los archivos winpe en consecuencia). Después de descargar winpe, montamos la carpeta /srv/tftp/images/, que contiene los archivos para instalar el sistema operativo de Microsoft:
ls -l /srv/tftp/images/ total 8 drwxr-xr-x 6 raíz raíz 4096 17 de febrero 22:19 w2k12r2 drwxr-xr-x 7 tftp tftp 4096 17 de febrero 19:05 w2k8r2
y ejecute el instalador necesario.
Para la automatización, a través de startnet.cmd, dibujé el siguiente menú:

Ahora queda hacer frente a VMware.
Como notó, la configuración para instalar hipervisores es algo diferente del resto: aquí es donde necesitamos un servidor HTTP.
En /var/www crearemos las carpetas vmw5.5, vmw5.0, y en las carpetas haremos enlaces simbólicos a la configuración
# cd /var/www # mkdir vmw5.5 # cd vmw5.5/ # ln -s /srv/tftp/vmw/5.5/ks.cfg # mkdir ../vmw5.0 # cd ../vmw5.0/ # ln -s /srv/tftp/vmw/5.0/ks.cfg
Está escrito cómo preparar, por ejemplo, Debian para la instalación con PXE, pero no me detendré allí.

Agregue la capacidad de cargar varias utilidades de disco y una prueba de memoria

Esta sección contendrá:
  1. Memtest86+
  2. clonezilla-live
  3. SystemRescueCD

las configuraciones se encuentran aquí

por defecto
ui vesamenu.c32 PROMPT 0 menu background background.jpg menu title ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP El sistema se iniciará después de que se acabe el tiempo. EXTREMO ETIQUETA Windows -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/windows ETIQUETA Linux -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/linux ETIQUETA FreeBSD -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/bsd ETIQUETA VMvare -> KERNEL vesamenu. c32 ANEXO pxelinux.cfg/vmware ETIQUETA HDD y RAM utils -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/du
du
PROMPT 0 UI vesamenu.c32 FONDO DEL MENÚ background.jpg TÍTULO DEL MENÚ HDD y RAM utils ETIQUETA<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Memtest86+ kernel memtest/memtest label Clonezilla-live MENU LABEL Clonezilla Live KERNEL clonezilla/vmlinuz APPEND initrd=clonezilla/initrd.img boot=live config noswap nolocales edd=on nomodeset ocs_live_run="ocs-live-general" ocs_live_extra_param="" keyboard-layouts="" ocs_live_batch="no" locales="" vga=788 nosplash noprompt fetch=tftp://10.0.10.1/clonezilla/filesystem.squashfs label SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL MHDD kernel memdisk initrd mhdd/mhdd32ver4.6.iso append iso raw LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default


Y les diré por qué también instalamos un servidor NFS.
Como se puede ver en la configuración de arranque de SystemRescueCD, extrae los archivos necesarios para este LiveCD al montar el directorio usando el protocolo NFS. El servidor ya está instalado, todo lo que queda es editar /etc/exports y reiniciar el demonio del servidor.
# cat >> /etc/exports /srv/tftp/SystemRescueCD/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) # service nfs-kernel-server restart
Supongo que tiene una pregunta razonable: "¿Qué hace LiveCD aquí si hay un elemento separado para ellos?"
SystemRescueCD contiene mucho programas útiles para trabajar con el disco (como GParted y testdisk) y por lo tanto está disponible tanto aquí como en el LiveCD.

CD en vivo

Nuestro set de LiveCD incluirá:
  1. Live CD de Debian 7
  2. HirensBootCD
  3. CD del kit de rescate Trinity
  4. SystemRescueCD
  5. Plop en vivo

configuraciones

Al final por defecto agregado
ETIQUETA LiveCDs -> NÚCLEO vesamenu.c32 ANEXO pxelinux.cfg/livecds
cds en vivo
PROMPT 0 UI vesamenu.c32 FONDO DEL MENÚ background.jpg TÍTULO DEL MENÚ LiveCDs ETIQUETA<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Debian LiveCD KERNEL Debian7live/vmlinuz APPEND initrd=Debian7live/initrd boot=live fetch=tftp://10.0.10.1/Debian7live/filesystem.squashfs root=/dev/ram0 rw LABEL HirensBootCD MENU LABEL Hiren"s Boot CD KERNEL memdisk APPEND iso initrd=hirens/hirens.iso LABEL Trinity Rescue Kit CD kernel trk/kernel.trk append initrd=trk/initrd.trk ramdisk_size=65536 root=/dev/ram0 vga=788 splash=verbose pci=conf1 trkmenu timeout 100 trknfs=10.0.10.1:/srv/tftp/trk ip=dhcp LABEL SystemRescueCD kernel SystemRescueCD/isolinux/rescue64 append initrd=SystemRescueCD/isolinux/initram.igz dodhcp nfsboot=10.0.10.1:/srv/tftp/SystemRescueCD LABEL Plop Live KERNEL plop/bzImage APPEND initrd=plop/initramfs.gz vga=normal nfsmount=10.0.10.1:/srv/tftp/plop LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Para descargar el CD Trinity Rescue Kit y Plop Live, agregue las siguientes líneas a /etc/exports:
/srv/tftp/trk/ 10.0.10.1/255.255.255.0(ro,no_subtree_check,all_squash,insecure,anonuid=1000,anongid=1000) /srv/tftp/plop/ 10.0.10.1/255.255.255.0(ro,no_subtree_check, all_squash,inseguro,anonuid=1000,anongid=1000)
y envíe el comando de reinicio de NFS al daemon.


Algunas palabras sobre los LiveCD seleccionados.
Live CD de Debian 7
Este CD es una compilación de uno de nuestros ingenieros, que incluye lo siguiente:

Usuario/contraseña: root/ServerClub

HirensBootCD
Apenas necesita una introducción, contiene muchas utilidades útiles.
Se pueden encontrar más detalles.
Tarda mucho en cargar, MiniXP y Linux no funcionan. Otras utilidades están disponibles para su uso.

CD del kit de rescate Trinity
Según los desarrolladores, fue creado para restaurar el sistema operativo Windows.
Contiene utilidades para restablecer contraseñas, antivirus, un programa para clonar una "computadora" en la red (además, en varias computadoras al mismo tiempo), y mucho más.
Leer más.

SystemRescueCD
Basado en Gentoo, diseñado para restaurar sistemas Linux.
Incluye una gran cantidad de varios programas para la administración, la lista se puede encontrar en el enlace.

Plop en vivo
LiveCD con tres DE completos para elegir, así como el software de administración necesario.

El archivo de configuración final del menú principal, así como el archivo del menú antivirus

por defecto
ui vesamenu.c32 PROMPT 0 menu background background.jpg menu title ServerClub PXE boot menu LABEL bootlocal menu label Boot from first HDD kernel chain.c32 append hd0 0 timeout 120000 TEXT HELP El sistema se iniciará después de que se acabe el tiempo. EXTREMO ETIQUETA Windows -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/windows ETIQUETA Linux -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/linux ETIQUETA FreeBSD -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/bsd ETIQUETA VMvare -> KERNEL vesamenu. c32 ANEXO pxelinux.cfg/vmware ETIQUETA HDD y RAM utils -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/du ETIQUETA LiveCDs -> KERNEL vesamenu.c32 ANEXO pxelinux.cfg/livecds ETIQUETA Antivirus -> KERNEL vesamenu.c32 ANEXO pxelinux.c fg /av
AV
PROMPT 0 UI vesamenu.c32 FONDO DEL MENÚ background.jpg TÍTULO DEL MENÚ Antivirus ETIQUETA<- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default LABEL Kaspersky Antivirus KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg doscsi nomodeset LABEL Kaspersky Antivirus (text mode) KERNEL kav/rescue APPEND initrd=kav/rescue.igz root=live rootfstype=auto vga=791 init=/init kav_lang=ru udev liveimg nox kavshell noresume doscsi nomodeset label AVG menu label AVG Rescue CD kernel avg/vmlinuz append max_loop=255 vga=791 initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG nofb menu label AVG Rescue CD with Disabled Framebuffer kernel avg/vmlinuz append max_loop=255 video=vesafb:off initrd=avg/initrd.lzm init=linuxrc reboot=bios label AVG vgask menu label AVG Rescue CD with Resolution Selection kernel avg/vmlinuz append max_loop=255 initrd=avg/initrd.lzm init=linuxrc vga=ask reboot=bios LABEL <- Main Menu KERNEL vesamenu.c32 APPEND pxelinux.cfg/default

Conclusión, también es una sorpresa.

A lo largo del artículo, deliberadamente no di explicaciones de dónde conseguir y cómo preparar el contenido, porque estas acciones son muy triviales y solo sobrecargarían el texto.

Como sorpresa, les ofrezco dos opciones para nuestro montaje, disponibles en los siguientes enlaces:

  1. Archivo con todo el contenido /srv/tftp (enlace al archivo torrent, enlace directo)
  2. Archivo de todo el sistema operativo (enlace al archivo torrent, enlace directo)
En el primer caso, debe preparar el servidor usted mismo (el capítulo "Comienzo" de este epos lo ayudará), descomprima el contenido del archivo y realice ajustes de acuerdo con las realidades de su entorno.

El segundo caso implica la instalación en bare metal o en una máquina virtual.
Brevemente, los pasos para implementar un ensamblado desde un archivo completo del sistema operativo serían:
1. Arranque desde Linux LiveCD.
2. Particione el disco y formatee las particiones.
3. Monte la partición "/".
4. Descomprima el archivo.
5. Instale el gestor de arranque.
6. Reinicie.
7. Configure el sistema operativo de acuerdo con su red y comience a usar.
Usuario/contraseña: root/ServerClub.
IMPORTANTE: si su red tiene un servidor dhcp en funcionamiento, entonces, antes de iniciar nuestro ensamblaje, deshabilite el inicio automático de dhcp en él.

Este es el final, gracias por su atención!

Para los que no tienen cuenta en Habré.
Si tiene alguna pregunta / comentario, escríbame por correo: erserverclub.com.

En la actualidad, cada vez se automatizan más tareas y la virtualización se usa cada vez más para maximizar el rendimiento del servidor. Pero aún tiene que instalar sistemas operativos. Cada uno lo hace a su manera: alguien tiene los bolsillos llenos de varias imágenes para todas las ocasiones, alguien a la antigua lleva consigo un “bolso” con discos, o incluso dos. Por regla general, los administradores hacen este trabajo con poco placer. Veamos cómo reducir el tiempo para tareas triviales, cómo enseñar a las computadoras a instalar sistemas por sí mismas, sin la participación de un administrador, usando solo una red local.

Entonces, hoy aprenderemos cómo: instalar Windows y Linux a través de la red, cargar imágenes ISO pequeñas, software útil (todo tipo de Kaspersky, Acronis, WinPE, memtests), implementar clientes ligeros y administrarlos. Para que, por ejemplo, una contadora que trabaja con 1C vía RDP no te dé una paliza porque se le cayó el Windows, y el informe lo tuvo que hacer ayer... O un jefe tacaño que no quiere actualizar su computadora admiraba tu profesionalismo cuando verá cómo vuela Windows 8 en computadoras viejas ... Para lograr nuestros objetivos insidiosos, un servidor que proporcione arranque a través de la red (PXE) nos ayudará.

Cualquier administrador de sistemas tiene una unidad USB universal en su escondite para la reanimación informática de emergencia. De acuerdo, sería mucho mejor tener la misma funcionalidad usando solo una tarjeta de red. Al mismo tiempo, es imposible no notar la posibilidad de trabajar simultáneamente con varios nodos a la vez. Entonces, según nuestras necesidades, tenemos dos soluciones: usar PXE o LTSP.

LTSP no es muy adecuado para nosotros: está diseñado para cargar el sistema operativo instalado en el propio servidor a través de la red, lo que permite el uso de aplicaciones de servidor LTSP. Esto no es exactamente lo que necesitamos. PXE es una herramienta para iniciar una computadora a través de una red sin usar medios de almacenamiento local, al igual que LTSP. PXE le permite organizar un menú de arranque de arranque múltiple, similar al "resucitador USB" universal.


¿Qué implementaremos?

Todo comenzó con la necesidad de tener una herramienta para la instalación remota de Ubuntu/Debian Server a través de la red, con la capacidad de arrancar un Live CD de un sistema pequeño, como SliTaz o Kolibri OS.
Como dicen, el apetito viene con la comida: no lograron darse cuenta de lo que estaba planeado, y se agregaron una serie de "Listas de deseos" al plan. Como resultado, la lista resultó ser bastante impresionante.

  1. Clientes ligeros basados ​​en Thinstation Linux.
  2. Sección Linux.
    1. Instalación de Ubuntu 14.04 x86.
    2. Instalación de Ubuntu 14.04 x64.
    3. Instalación de Ubuntu 12.04 x86.
    4. Instalación de Ubuntu 12.04 x64.
  3. Sección de ventanas.
    1. Instalación de Windows 2012.
    2. Instalación de Windows 7.
  4. Acronis.
    1. Windows PE con un paquete de software útil.
    2. Imagen verdadera de Acronis.
      1. BIOS retrocompatible.
      2. UEFI.
    3. Administrador de discos de Acronis.
      1. BIOS retrocompatible.
      2. UEFI.
  5. Rescate Kaspersky versión 10.
  6. ERD Commander 5 a 8 vía imagen ISO.
  7. prueba de memoria

Recogemos todo en un montón y despegamos.

Como kit de distribución para el servidor, la elección recayó en Servidor Ubuntu 14.04.2 LTS. Puede detenerse en cualquier otro sistema operativo, la diferencia estará solo en la sintaxis. Entonces empecemos. Necesitamos TFTP, DHCP (instalado opcionalmente en el mismo servidor, un enrutador puede actuar como un servidor DHCP), un servicio para organizar un sistema de archivos de red NFS. Consideraremos solo aquellos ajustes que nos interesen en el marco del tema. En primer lugar, instale todo lo que necesita, habiendo realizado previamente todas las actualizaciones:

Continúa disponible solo para miembros

Opción 1. Únase a la comunidad del "sitio" para leer todos los materiales en el sitio

¡La membresía en la comunidad durante el período especificado le dará acceso a TODOS los materiales de Hacker, aumentará su descuento acumulativo personal y le permitirá acumular una calificación profesional de Xakep Score!

Descripción general de la tecnología PXE

PXE (Pre Execution Environment), pronunciado Pixie (Fairy Dust), es un enfoque que permite que una computadora (computadora cliente) arranque usando solo su tarjeta de red. Este método de inicio se creó en 1999 y si la computadora está conectada a una red (y es compatible con este estándar), entonces es posible omitir el procedimiento de inicio normal (es decir, encender -> BIOS -> HD / CD) y hacer algunos cosas buenas, comenzando con la resolución de problemas, que es para lo que se suele usar liveOS, e incluso tomando una imagen de la máquina... pero nos estamos adelantando, volvamos al principio.

Cuando se utiliza el enfoque PXE, el proceso de arranque cambia de normal a lo siguiente:

Encender -> BIOS -> Pila PXE de NIC -> Programa de arranque de red (NBP) descargado a través de TFTP desde el servidor a la memoria de la máquina cliente -> NBP es responsable del siguiente paso (arranque de segunda etapa).

Al usar el programa "PXElinux" de NBP, es posible configurar un servidor para algo más que descargar un solo programa PXE para nuestros clientes. En cierto modo, este es el ingrediente secreto que nos permitirá hacer todo lo anterior y más. Ver esta conferencia en YouTube ofrecidos por los desarrolladores de estos programas. Además, a continuación hay un video de 2008 que muestra la configuración para que pueda acceder rápidamente a algunas de las opciones de descarga.

Nota: Este video usa el proyecto UDA heredado como base para el servidor, y las anotaciones pretendían explicar que era la adición más reciente (en ese momento).

Objetivo

Este tutorial será el primero de una serie de tutoriales de PXE. En esta guía, sentaremos las bases sobre las que construiremos en artículos posteriores.

  • La máquina cliente en la que está probando es compatible con el arranque PXE y sabe cómo habilitarlo.
  • Esta guía fue escrita y probada usando Debian Squeeze, Ubuntu Server 9.10 y Linux Mint10. Por lo tanto, se supone que también tiene un sistema basado en Debian.
  • Tiene la oportunidad de consultar el artículo "Cómo configurar RAID de software" para un "servidor de archivos simple" y "Cómo configurar una red completa (802.3ad)", ya que la velocidad del disco y el rendimiento para esta opción de servidor deben ser muy alto Se recomienda encarecidamente construir una red de este tipo utilizando un servidor con subsistemas de red y disco altamente tolerantes a fallas.
  • Verás que estamos usando VIM como editor, eso es solo porque estoy acostumbrado... Puedes usar cualquier otro editor que quieras.

La instalación es un comienzo difícil con el sistema FOG

Usar FOG como base para su servidor PXE es una buena manera de tener todas las piezas necesarias en su lugar, como TFTP y, si es necesario, DHCP, sin tener que instalarlas y configurarlas manualmente, mientras le brinda todas las funciones de FOG. paquete como bono.

Dado que nuestro objetivo es agregar nuevas funciones a este sistema que ya es grande, no entraremos en detalles sobre cómo usar el paquete FOG en sí, ni cubriremos el procedimiento de instalación. El wiki de FOG, tanto en texto como en video, es suficiente para obtener los detalles si desea profundizar en los detalles. En general, los pasos son:

Esto es todo lo que debe hacerse durante la instalación del paquete FOG. Nuevamente, dado que FOG es un sistema grande, su uso está fuera del alcance de esta guía, y para que comprenda mejor las capacidades del sistema FOG y cómo puede ayudarlo a administrar el ciclo de vida de sus computadoras cliente, lo alentamos para consultar las páginas wiki que describen este sistema.

Si todo va bien, debería poder iniciar su máquina cliente en modo PXE (generalmente con F12) y obtener el aviso predeterminado del sistema FOG.


Imagen cortesía de Hotfortech.

Para una muestra inmediata de las posibilidades, puede seleccionar la opción "Ejecutar Memtest86+" (ejecutar una prueba Memtest86+) y el programa Memtest que cubrimos en nuestro artículo "Diagnóstico de problemas de hardware de PC usando Ubuntu Live CD".

archivos y directorios

Como se señaló anteriormente, nuestro objetivo es ampliar las capacidades del sistema FOG y, para ello, debemos agregar algunos archivos y directorios.

Cree los siguientes subdirectorios:

sudo mkdir -p /tftpboot/howtogeek/menus sudo mkdir -p /tftpboot/howtogeek/linux sudo mkdir -p /tftpboot/howtogeek/pics sudo mkdir -p /tftpboot/howtogeek/utils

Estos subdirectorios servirán como plantillas para todas las imágenes, programas y configuraciones que usaremos para extender el sistema FOG.

Personaliza el archivo de configuración predeterminado

Crearemos un nuevo menú principal y colocaremos todas las funciones del sistema FOG en nuestro propio submenú.

Copie el archivo de configuración /tftpboot/pxelinux.cfg/default a howtogeek/menus/fog.cfg.

sudo cp /tftpboot/pxelinux.cfg/default /tftpboot/howtogeek/menus/fog.cfg

Ahora edite el contenido del archivo fuente predeterminado:

sudo vim /tftpboot/pxelinux.cfg/default

Haz que se vea así:

PREDETERMINADO vesamenu.c32 TÍTULO DEL MENÚ FOG 0.32 + Mejoras de HowToGeek MENÚ INCLUYE /pxelinux.cfg/master.cfg menú color título 1;36;44 #ff8c00 #00000000 std ETIQUETA FOG MENÚ ETIQUETA Manual MENÚ FOG NÚCLEO PREDETERMINADO vesamenu.c32 ANEXO howtogeek /menus/fog.cfg ETIQUETA Utilidades MENULABEL Utilidades NÚCLEO vesamenu.c32 AÑADIR howtogeek/menus/utils.cfg ETIQUETA Linux MENÚ ETIQUETA Linux cosas NÚCLEO vesamenu.c32 AÑADIR howtogeek/menus/linux.cfg ETIQUETA fog.local localboot 0 ETIQUETA DE MENÚ Arrancar desde AYUDA DE TEXTO del disco duro Arranque desde el disco duro local. Si no está seguro, seleccione esta opción. ENDTEXT PROMPT 0 TIMEOUT 300 ONTIMEOUT fog.local

Cuando terminemos, esta configuración le dará los siguientes 3 submenús: Utilidades, Manual FOGing, Cosas de Linux (Linux).

Crear un archivo maestro

El archivo maestro le permitirá realizar cambios globales en la apariencia del menú sin tener que volver a ingresarlos en un orden separado una y otra vez. Las características como la imagen de fondo predeterminada, los estilos de borde, las posiciones, etc. se fusionarán en este archivo master.cfg.

Crear un archivo:

sudo vim /tftpboot/pxelinux.cfg/master.cfg

Hazlo de manera que su contenido sea el siguiente:

FONDO DEL MENÚ fog/genie.png menú color pantalla 37;40 #80ffffff #00000000 menú estándar color borde 30;44 #9370db #00000000 menú estándar color título 1;36;44 #ff8c00 #00000000 menú estándar color unsel 37;44 #ffffffff #00000000 Tecla de acceso rápido de color de menú estándar 1;37;44 #ffffffff #00000000 Selección de color de menú estándar 7;37;40 #4eee94 #9370db Hotsel de color de menú 1;7;37;40 #e0400000 #20ff8000 Color de menú deshabilitado 1;30 ;44 #60cccccc #00000000 barra de desplazamiento de color de menú estándar 30;44 #40000000 #00000000 pestaña de color de menú estándarg 31;40 #90ffff00 #00000000 color de menú estándar cmdmark 1;36;40 #c000ffff #00000000 color de menú estándar cmdline 3 7;40# c0ffffff #00000000 color de menú estándar pwdborder 30;47 #80ffffff #20ffffff color de menú estándar pwdheader 31;47 #80ff8080 #20ffffff color de menú estándar pwdentry 30;47 #80ffffff #20ffffff color de menú estándar timeout_msg 37;40 #80ffffff # 00000 000 menú estándar color timeout 1;37;40 #c0ffffff #00000000 menú estándar color ayuda 37;40 #c0ffffff #00000000 menú estándar color msg07 37;40 #90ffffff #00000000 estándar MENU MARGIN 0 MENU CONTRASEÑA MARGIN 3 MENU FILAS 15 MENU TABMSGROW 21 MENU CMDLINE FILA 20 MENÚ CONTRASEÑA 11 MENÚ TIMEOUTROW 20 MENÚ HSHIFT 0 MENÚ VSHIFT 0

La configuración anterior creará bordes morados y resalta el texto; si desea una apariencia diferente, simplemente cambie los valores.

Para establecer una imagen de fondo, coloque una imagen en el catálogo /tftroot y configure FONDO DE MENÚ a la ruta relativa a la imagen (recomendamos usar imágenes con una resolución de 640*480). Por ejemplo, la ruta completa a la imagen configurada arriba sería /tftproot/niebla/bg.png.

Conectar el submenú FOG al menú principal

Porque hicimos una copia simple del archivo de configuración original en un subdirectorio del menú (preservando el esquema de color, los tiempos de espera, etc.), luego, si ahora va a este submenú desde un cliente PXE cargado, funcionará, pero no lo hará. ser capaz de volver al menú principal sin reiniciar la máquina.

Así que edite el archivo /tftpboot/howtogeek/menus/fog.cfg:

sudo vim /tftpboot/howtogeek/menus/fog.cfg

Agregue la siguiente entrada después de la entrada "menú de título de color" y antes de las funciones FOG:

ETIQUETA atrás MENÚ ETIQUETA .. NÚCLEO vesamenu.c32 ANEXO pxelinux.cfg/default

Crear plantillas de submenú

Hemos creado 4 submenús, tres de los cuales serán rellenados por nosotros. Para hacer esto, creemos una plantilla que usaremos en el futuro.

Crear un archivo de plantilla:

sudo vim /tftpboot/howtogeek/menus/template.cfg

Su contenido debe ser el siguiente:

EL MENÚ INCLUYE /pxelinux.cfg/master.cfg #FONDO DEL MENÚ howtogeek/pics/fog-sub.jpg ETIQUETA Atrás ETIQUETA DEL MENÚ .. NÚCLEO vesamenu.c32 ANEXO pxelinux.cfg/default

Configuremos plantillas para submenús adicionales que necesitaremos en los siguientes artículos:

cd /tftpboot/howtogeek/menus/ sudo cp template.cfg ./utils.cfg sudo cp template.cfg ./linux.cfg

Eso es todo, el diseño básico ya está listo y ahora necesitaremos usarlo, lo cual haremos en los siguientes artículos. Dado que estos artículos aún no se han publicado, le recomendamos que se familiarice con el sistema FOG, porque. este sistema en sí mismo es extremadamente interesante.

PXE tiene una característica muy útil, todo lo que está configurado en él es bastante difícil de perder. todo esto se almacena en el servidor, y no en medios removibles, que tienden a perderse, robarse, olvidarse en unidades de DVD/hogar, darse a usar y "satisfacer", por lo que la probabilidad de que lo lleven a usar y "reproducir " tiende a cero , bueno, tal vez junto con el servidor ... Al conectar un dispositivo que tiene la capacidad de iniciar PXE, puede hacer muchas cosas útiles, a saber: realizar diagnósticos de hardware, implementar sistemas operativos, iniciar Live sistema, etc Lo que es suficiente conocimiento e imaginación.
Para hacer esto, necesitamos configurar un servidor DHCP y un servidor TFTP.
Anteriormente, ya escribí sobre cómo configurar un servidor, lo recomiendo encarecidamente para su revisión, los puntos principales se han migrado de él.
¿Qué obtendremos como resultado?
Y obtendremos un menú de inicio con la capacidad de seleccionar la aplicación que descargaremos en la máquina cliente, así como las acciones predeterminadas que realizará el sistema si no se reciben comandos de los usuarios.

Para el trabajo necesitamos:
1) Servidor Ubuntu instalado
2) Servidor DHCP configurado, un ejemplo de configuración se puede encontrar en el artículo:
3) Un disco o imagen ISO de la distribución de instalación de Ubuntu: la profundidad de bits no importa, pero es mejor tomar una versión más reciente.

Todo lo demás lo instalaremos en el camino... No me detendré en la configuración de DHCP, suponiendo que lo haya configurado, de acuerdo con el artículo vinculado en los requisitos del sistema.

Instalación de un servidor tftp
Instale el paquete requerido:
Subimos los derechos de root:
sudo su

Instalar el paquete requerido
aptitude instalar tftpd-hpa

Ahora todos los archivos relacionados con nuestro servidor tfpt deben estar en el directorio /var/lib/tftpboot/, todas las rutas son relativas a él.

Pasemos a crear el menú de arranque.
En primer lugar, necesitamos obtener el cargador de arranque adjunto, ¿cómo hacerlo? Se puede encontrar en cualquier disco de ubuntu, en otras distribuciones de Linux, la ubicación es casi siempre la misma. Necesitaremos una imagen ISO de instalación o un disco insertado en la unidad de DVD, en el que vamos al siguiente directorio:
Si el disco de instalación es arquitectura x86:
/instalar/netboot/ubuntu-installer/i386
Estamos interesados ​​en el archivo. pxelinux.0 este es el gestor de arranque, recójalo y cópielo en el directorio:
/var/lib/tftpboot/
Entonces el camino hacia él se ve así:
/var/lib/tftpboot/pxelinux.0
Además, necesitamos el menú de inicio en sí, que se puede tomar en el mismo disco, en el directorio pantallas de arranque estamos interesados ​​en un archivo llamado vesamenu.c32

Cópielo en el mismo directorio que el cargador de arranque para que la ruta se vea así:
/var/lib/tftpboot/vesamenu.c32

Personalización del contenido del menú PXE

Como ejemplo, crearemos un menú de inicio que consta de 2 elementos.
Punto uno: Arranque desde el disco duro local. Este elemento será el elemento predeterminado si el usuario inició la PC a través de PXE y dentro de los 15 segundos. no realizó ninguna acción, el sistema se iniciará automáticamente desde el disco local.
Punto dos: llamémoslo pruebas Dentro de este menú habrá un elemento con la capacidad de descargar Memtest x86+. Este programa siempre será útil para diagnosticar problemas de estaciones de trabajo y servidores, en general, algo necesario, será útil para todos en el hogar ...

Primero, necesitamos crear un directorio para los archivos de configuración llamados pxelinux.cfg - ¡El nombre es crítico para trabajar!
mkdir /var/lib/tftpboot/pxelinux.cfg

Ahora vamos a crear un archivo de configuración con parámetros para los elementos del menú, con el nombre por defecto
nano /var/lib/tftpboot/pxelinux.cfg/default

Con el siguiente contenido:
predeterminado vesamenu.c32 indicador 0 título del menú Menú de arranque PXE MENÚ INICIO AUTOMÁTICO Inicio del sistema local en # segundos etiqueta Arranque desde el menú de la unidad local etiqueta ^Menú de arranque desde la unidad local predeterminado localboot 0 tiempo de espera 150 TOTALTIMEOUT 9000 ETIQUETA Pruebas ETIQUETA DEL MENÚ ^Pruebas KERNEL vesamenu.c32 ANEXO pxelinux.cfg/testing.menu

Los más observadores notaron que en el archivo anterior teníamos una entrada que hace referencia a otro archivo pruebas.menu, en ella tendremos la configuración del ítem pruebas
Vamos a crear este archivo:

Con el siguiente contenido:
TÍTULO DEL MENÚ Pruebas ETIQUETA Software de prueba ETIQUETA DEL MENÚ ^Volver al menú principal NÚCLEO vesamenu.c32 ANEXO pxelinux.cfg/etiqueta predeterminada Etiqueta del menú Prueba de memoria ^Prueba de memoria: Memtest86+ v4.20 kernel memtest/mt86plus

El primer elemento del menú se encargará de volver al menú anterior, y el segundo de cargar Memtest86+v4.20

Todo está bien, pero no hemos creado el directorio donde se almacena el archivo Memtest, arreglaremos esto ahora, creemos el directorio apropiado.
Vamos a hacerlo:
mkdir /var/lib/tftpboot/memtest
Nos queda agregar el archivo ejecutable de Memtest86+, se puede encontrar en el disco de instalación, en el directorio /instalar/ estamos interesados ​​en el archivo mt86 más necesitamos copiarlo en el directorio memtest para que la ruta se vea así:
/var/lib/tftpboot/memtest/mt86plus

Aquí es donde terminamos con el servidor tftp, solo necesitamos terminar un poco el servidor DHCP.

Configuración de un servidor DHCP

Este elemento, la configuración solo se puede llamar extensión, si configuró el servidor DHCP de acuerdo con el artículo, entonces necesita agregar solo una entrada a:
nano /etc/dhcp/dhcpd.conf

Encontramos el elemento con la configuración del grupo de direcciones IP, que se ve así:
subred 192.168.10.0 máscara de red 255.255.255.0 (rango 192.168.10.10 192.168.10.254; opción servidores de nombre de dominio 192.168.10.1; opción nombre de dominio "ejemplo.org"; opción enrutadores 192.168.10.1; opción dirección de difusión 19 2.168. 10.255 ; tiempo de arrendamiento predeterminado 604800; tiempo de arrendamiento máximo 604800; )

Y agregue una entrada que apunte a nuestro gestor de arranque PXE:
verificación de ping = 1; nombre de archivo="pxelinux.0";
La ruta al archivo es relativa al directorio. /var/lib/tftpboot/ aquellos. se considera el directorio raíz, sobre el que escribí anteriormente...

Toda la entrada se ve así:
verificación de ping = 1; nombre de archivo="pxelinux.0"; subred 192.168.10.0 máscara de red 255.255.255.0 (rango 192.168.10.10 192.168.10.254; opción servidores de nombre de dominio 192.168.10.1; opción nombre de dominio "ejemplo.org"; opción enrutadores 192.168.10.1; opción dirección de transmisión 19 2.168. 10.255 ; tiempo de arrendamiento predeterminado 604800; tiempo de arrendamiento máximo 604800; )

Guarde los cambios y reinicie el servidor DHCP:
/etc/init.d/isc-dhcp-servidor reiniciar

Ahora podemos conectar a nuestra red local un dispositivo que soporte arranque PXE y en el que esta función esté habilitada (ver la documentación de tu equipo) o conectar una máquina virtual con un adaptador conectado en modo puente y sin medios de arranque.

Si hiciste todo correctamente, entonces el menú se verá así:

Y si vas al menú pruebas:


Si selecciona el elemento con Memtest, comenzará la prueba de memoria.
Otros elementos del menú se agregan en consecuencia.

Imaginemos una situación en la que necesitas dar acceso a uno de los menús a un círculo limitado de personas, por ejemplo, ahí tienes un kit de distribución que cuesta mucho dinero. Para este propósito, puede establecer una contraseña para el elemento del menú, ¿cómo hacerlo?
Imagine una situación, necesita establecer una contraseña (por ejemplo: contraseña) en la prueba de memoria, esto se hace simplemente

Nano /var/lib/tftpboot/pxelinux.cfg/testing.menu

Necesitamos agregar una entrada:
MENÚ CONTRASEÑA contraseña

Entonces el archivo se ve así:
TÍTULO DEL MENÚ Pruebas ETIQUETA Software de prueba ETIQUETA DEL MENÚ ^Volver al menú principal NÚCLEO vesamenu.c32 ANEXO pxelinux.cfg/default etiqueta memtest MENÚ CONTRASEÑA contraseña menú etiqueta ^Prueba de memoria: Memtest86+ v4.20 kernel memtest/mt86plus

La protección, por supuesto, es regular, pero para los usuarios comunes puede ayudar.

Luego, cuando intente iniciar, aparecerá una ventana:


si ingresa la contraseña correcta, se iniciará Memtest.
De esta forma, puede ocultar menús completos o bloquear el acceso a elementos de menú individuales.
Si se realizan cambios en estos archivos de configuración, no es necesario reiniciar el servidor DHCP, basta con reiniciar la PC cliente si arrancó a través de PXE.
En cuanto a la velocidad de tftp, la velocidad de trabajo no es alta, y si decides transferir grandes cantidades de información, intenta usar un servidor WEB o FTP para esto, prepárate para dedicarle un tiempo. Si es necesario descargar alguna distribución, es mejor descargar un sistema operativo pequeño, un ejemplo es Windows PE, bueno, o una distribución de Linux en miniatura.
Aquí es donde voy a terminar...

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: