Tftp + pxe – Arranque a través de red

PXE (Preboot Execution Environment) es una herramienta que permite arrancar un sistema operativo o programa a través de la red, igual que si lo arrancaramos de un CD. Un ejemplo claro de utilización es en una escuela de informática donde se esté enseñando a instalar sistemas operativos. En vez de grabar cd’s para todos los alumnos, arrancan de un servidor que les da todas las imagenes necesarias.

Para que funcione tenemos que seguir también este otro tutorial de configuración del DHCP:

Configurar DHCP – Servidor de ips

TFTP

Instalación

Para llevar a cabo la instalación de los paquetes anteriores lo haremos de la siguiente manera:
Para instalar el xinetd, abriremos el terminal y ejecutaremos el siguiente comando:

Para el paquete tftpf-hpa.rpm el descargaremos desde el navegador, una vez está descargado ejecutaremos el siguiente comando desde el terminal:

También nos hara falta el httpd, lo instalamos:

Configuración

Entramos en el directorio /etc/xinetd.d

Una vez estamos dentro del directorio, editamos el fichero de configuración: nano tftpd y modificamos para que quede de la siguiente manera:

Con la linea /tftpboot le decimos donde se encuentran los ficheros del pxe

Al guardar los cambios y cerrar, nos crea la carpeta “tftpboot” raíz.
El siguiente paso que tenemos que realizar se descargarnos el pxelinux.0, lo descargamos de aqui:

pxelinux.0

A continuación nos situamos en la carpeta donde hemos guardado el fichero, lo descomprimimos, y ejecutamos el siguiente comando:

Dentro de / tftpboot crearemos un fichero de texto que se diga, menu.txt, donde introduciremos el menú de PXE, que se verá por pantalla, como por ejemplo algo así:

Hecho esto, procedemos a descargarnos las imagenes que integraremos en el PXE. En este caso vamos a meter un Gparted LiveClonezilla Live, Fedora 13 instalación y Ubuntu 10.10 Live o instalación (ambas cosas).

En la raíz crearemos una carpeta que se llame SSOO y dentro de esta crearemos varias carpetas, una que se llame ISO, que será donde guardaremos las iso de los sistemas, el resto será donde montaremos cada una de las imágenes.

El siguiente paso, será montar las imágenes, para montarlas utilizaremos los siguientes comandos:

Estas imagenes hay que montarlas cada vez que arranque el servidor, por lo que podemos crear un script para arranque con el sistema para que te monte automáticamente las carpetas, sino tienes que montarlas a mano cada vez que arranques el servidor.

Una vez tenemos montadas las imágenes, nos situaremos en la carpeta tftpboot y crearemos las carpetas Fedora13, Clonezilla, Ubuntu y Gparted. Las utilizaremos para copiar dentro los archivos de arranque de las ISOs.

Para copiar los archivos de arranque de las ISO, utilizaremos los siguientes comandos:

Los archivos vmlinuz, vmlinuz1 y inirtd.img se encuentran dentro de las carpetas donde estan montadas las imagenes, cada imagen utiliza su estructura de carpetas, debes buscar dentro hasta encontrarlo.

Dentro de /tftpboot crearemos una carpeta que se llame, pxelinux.cfg y dentro de esta carpeta crearemos un archivo de texto, que se diga default.

Dentro de este fichero introduciremos las siguientes líneas, para ayudar al PXE a encontrar los archivos de arranque.

Para terminar la configuración crearemos un fichero de texto en: /etc/httpd/conf.d/ que se diga alias.conf, en este fichero introduciremos las siguientes líneas: