Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Servidor PXE de Instalaciones GNU/Linux

3,608 views

Published on

Al final este tutorial nos brindará un Servidor desde el cual podemos instalar en cuestión de minutos las distintas distribuciones de GNU/Linux que se muestran vía PXE
(arranque por red) en el número de computadoras que haya en nuestra red local.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Servidor PXE de Instalaciones GNU/Linux

  1. 1. Servidor PXE de Instalaciones GNU/LinuxClaudio Concepción CertadSegún Wikipedia, PXE hace referencia al entorno de ejecución de prearranque (PrebooteXecution Environment). Es un entorno para arrancar e instalar el sistema operativo enordenadores a través de una red, de manera independiente de los dispositivos dealmacenamiento de datos disponibles (como discos duros) o de los sistemas operativosinstalados.PXE fue introducido como parte del framework Wired for Management por Intel y fue descrito en laespecificación (version 2.1) publicada por Intel y Systemsoft el 20 de septiembre de 1999. PXEutiliza varios protocolos de red como IP, UDP, DHCP y TFTP, y conceptos como Globally UniqueIdentifier (GUID), Universally Unique Identifier (UUID) y Universal Network Device Interface (UNDI).El término cliente PXE sólo se refiere al papel que la máquina juega en el proceso de arranquemediante PXE. Un cliente PXE puede ser un servidor, un ordenador de mesa, portátil o cualquierotra máquina que esté equipada con código de arranque PXE.El firmware del cliente trata de encontrar un servicio de redirección PXE en la red para recabarinformación sobre los servidores de arranque PXE disponibles. Tras analizar la respuesta, elfirmware solicitará al servidor de arranque apropiado el file path de un network bootstrap program(NBP), lo descargará en la memoria RAM del ordenador mediante TFTP, probablemente loverificará, y finalmente lo ejecutará. Si se utiliza un único NBP para todos los clientes PXE sepuede especificar mediante BOOTP sin necesidad de un proxy DHCP, pero aún será necesario unservidor TFTP.Nota importante: Se que las distros están bastante atrasadas. También se queexiste gPXE, el cual ayuda a hacer este trabajo aun más fácil. Pero la intención de estaguía es proporcionar una base de conocimiento útil y un panorama de cómo funcionanlas cosas.Al final este tutorial nos brindará un Servidor desde el cual podemos instalar encuestión de minutos las distintas distribuciones de GNU/Linux que se muestran vía PXE(arranque por red) en el número de computadoras que haya en nuestra red local.Instalar y configurar los servicios[root@pxe-server ]# yum install dhcp vsftp tftp-server[root@pxe-server ]# nano /etc/dhcpd.confddns-update-style interim;not authoritative;option domain-name "codigolibre.org";option domain-name-servers 196.3.81.132, 200.88.127.22;option subnet-mask 255.255.255.0;subnet 10.42.43.0 netmask 255.255.255.0{ authoritative; range 10.42.43.50 10.42.43.100; allow unknown-clients; allow booting; allow bootp; next-server 10.42.43.3; filename "pxelinux.0";}Nota: La dirección 10.42.43.3 pertenece al mismo servidor pxe-server.[root@pxe-server ]# nano /etc/xinetd.d/tftp
  2. 2. Buscamos la línea: disable=yes, y la ponemos así:disable=noEditar el fichero /etc/exports que le pertenece a NFS y añadir losiguiente:[root@pxe-server ]# nano /etc/exports/var/ftp/ubuntu 10.42.43.0/255.255.255.0(rw,sync)/var/ftp/kubuntu 10.42.43.0/255.255.255.0(rw,sync)/var/ftp/clonezilla 10.42.43.0/255.255.255.0(rw,sync)/var/ftp/sysrescue 10.42.43.0/255.255.255.0(rw,sync)Editar el fichero /etc/fstab que le pertenece a mountd y añadir losiguiente:[root@pxe-server ]# nano /etc/fstab/home/fraterneo/Fedora.iso /var/ftp/fedora/i386/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/CentOS.iso /var/ftp/centos/5/i386/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/kubuntu.iso /var/ftp/kubuntu/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/Ubuntu.iso /var/ftp/ubuntu/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/Clonezilla.iso /var/ftp/clonezilla/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/Sysrescue.iso /var/ftp/sysrescue/ udf,iso9660 user,auto,loop 0 0/home/fraterneo/opensuse.iso /var/ftp/opensuse/ udf,iso9660 user,auto,loop 0 0Obviamente es importante que ya hayas descargado previamente los .ISO de cadadistro. Verifica si debes descargar LiveCD o DVD según lo indica más adelante cadaentrada Label del fichero default.Crear los directorios necesariosDirectorios donde se van a montar los .ISO[root@pxe-server ]# mkdir -p /var/ftp/centos/5/i386/[root@pxe-server ]# mkdir -p /var/ftp/fedora/i386/[root@pxe-server ]# mkdir -p /var/ftp/ubuntu/[root@pxe-server ]# mkdir -p /var/ftp/clonezilla/[root@pxe-server ]# mkdir -p /var/ftp/sysrescue/[root@pxe-server ]# mkdir -p /var/ftp/opensuse/[root@pxe-server ]# mkdir -p /var/ftp/kubuntu/Directorios donde estará la configuración PXE[root@pxe-server ]# mkdir /tftpboot/[root@pxe-server ]# mkdir -p /tftpboot/images/[root@pxe-server ]# mkdir -p /tftpboot/images/ubuntu/[root@pxe-server ]# mkdir -p /tftpboot/images/fedora/i386/[root@pxe-server ]# mkdir -p /tftpboot/images/centos/5/i386/[root@pxe-server ]# mkdir -p /tftpboot/images/sysrescue/[root@pxe-server ]# mkdir -p /tftpboot/images/clonezilla/[root@pxe-server ]# mkdir -p /tftpboot/images/opensuse/[root@pxe-server ]# mkdir -p /tftpboot/images/kubuntu/[root@pxe-server ]# mkdir -p /tftpboot/pxelinux.cfg/De cada distro debemos copiar su initrd y su kernel (vmlinuz*) y pegarlos en eldirectorio de cada distro ubicado en el árbol /tftpboot/images. En el caso
  3. 3. de SystemRescueCD el kernel se llama rescuecd y no vmlinuz*, y en el caso de openSUSE elkernel se llama linux.Copiar los siguientes ficheros a /tftpboot/[root@pxe-server ]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/[root@pxe-server ]# cp /usr/lib/syslinux/menu.c32 /tftpboot/Crear y editar el archivo de configuración del menú PXE[root@pxe-server ]# nano /tftpboot/pxelinux.cfg/defaultDEFAULT menu.c32MENU TITLE fraterneos GNU/Linux PXE Installation ServerPROMPT 0TIMEOUT 300LABEL SystemRescueCD 1.5.5 (LiveCD)KERNEL images/sysrescue/rescuecdAPPEND initrd=images/sysrescue/initram.igz netboot=nfs://10.42.43.3:/var/ftp/sysrescue/ setkmap=es scandelay=1 docache vga=normal ramdisk_size=32768LABEL Clonezilla 1.2.2 (LiveCD)KERNEL images/clonezilla/vmlinuz1APPEND initrd=images/clonezilla/initrd1.img boot=live union=aufs netboot=nfs nfsroot=10.42.43.3:/var/ftp/clonezilla/ vga=normal ramdisk_size=32768LABEL CentOS 5.4 (DVD-i386)KERNEL images/centos/5/i386/vmlinuzAPPEND initrd=images/centos/5/i386/initrd.img ip=dhcp method=ftp://10.42.43.3/centos/5/i386/ vga=normal ramdisk_size=32768LABEL Fedora 14 (DVD-i386)KERNEL images/fedora/i386/vmlinuzAPPEND initrd=images/fedora/i386/initrd.img ip=dhcp method=ftp://10.42.43.3/fedora/14/i386/ vga=normal ramdisk_size=32768LABEL Ubuntu 10.10 (LiveCD-i386)KERNEL images/ubuntu/live/vmlinuzAPPEND initrd=images/ubuntu/live/initrd.lz vga=normal boot=casper netboot=nfs nfsroot=10.42.43.3:/var/ftp/ubuntu/ ramdisk_size=32768LABEL Kubuntu 10.10 (LiveCD-i386)KERNEL images/kubuntu/vmlinuzAPPEND initrd=images/kubuntu/initrd.lz vga=normal boot=casper netboot=nfs nfsroot=10.42.43.3:/var/ftp/kubuntu/ ramdisk_size=32768LABEL OpenSUSE 11.3 (DVD-i386)KERNEL images/opensuse/linuxAPPEND initrd=images/opensuse/initrd root=/dev/ram0 load_ramdisk=1 splash=silent showopts ramdisk_size=4096 install=ftp://10.42.43.3/opensuse/Luego de esto le damos todos los permisos a todo el árbol /tftpboot.[root@pxe-server ]# chmod -R 777 /tftpboot/Inicializar los daemons correspondientes.[root@pxe-server ]# service vsftpd restart[root@pxe-server ]# service xinetd restart[root@pxe-server ]# service nfs restart[root@pxe-server ]# service dhcpd restartOpcional: Establecer que los daemons se inicializen automáticamentedurante el arranque del sistema.[root@pxe-server ]# chkconfig vsftpd --level 345 on[root@pxe-server ]# chkconfig xinetd --level 345 on[root@pxe-server ]# chkconfig nfs --level 345 on[root@pxe-server ]# chkconfig dhcpd --level 345 onNOTA IMPORTANTE: Recordar que para inicializar el DHCPD es necesario tener una tarjeta de red configuradaen la misma subred en la que trabajará el servidor. Además es imprescindible deshabilitar SELINUX y elFIREWALL. Servidor PXE de Instalaciones GNU/Linux by Claudio Concepción Certad is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License.

×