Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

lunes, 18 de enero de 2010

Crear un servidor PXE en Ubuntu.

PXE hace referencia al entorno de ejecución de prearranque (Preboot eXecution Environment). Es un entorno para arrancar e instalar el sistema operativo en ordenadores a través de una red, de manera independiente de los dispositivos de almacenamiento de datos disponibles (como discos duros) o de los sistemas operativos instalados.
PXE fue introducido como parte del framework Wired for Management por Intel y fue descrito en la especificación (version 2.1) publicada por Intel y Systemsoft el 20 de septiembre de 1999. PXE utiliza varios protocolos de red como IP, UDP, DHCP y TFTP, y conceptos como Globally Unique Identifier (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 arranque mediante PXE. Un cliente PXE puede ser un servidor, un ordenador de mesa, portátil o cualquier otra máquina que esté equipada con código de arranque PXE.
(fuente Wikipedia)

Una de las cosas importantes a tener en cuenta cuando uno quiere instalar un sistema de arranque PXE es que PXE en si no existe, sino que es un conjunto de servicios ya existentes que configurados de manera adecuada crean un entorno o sistema de arranque. En entradas anteriores expliqué por separado dichas partes con el fin de poder explicar como se crea un sistema PXE con mayor facilidad. Los conceptos que deberíamos tener claros antes son:

Como en dichos artículos ya se explica el concepto de TFTP y DHCP y también se explica como se instalan, ahora pasaré a explicar la configuración que harán que dichos servicios actúen para crear un sistema PXE usando una imagen de Ubuntu para instalación en red:




Nos descargamos la imagen (netboot.tar.gz) con lo que queremos que nuestros clientes PXE arranquen y lo descomprimimos dentro de /var/lib/tftpboot.

Como podemos observar, nuestro servidor pxe arrancará mediante las directivas encontradas por el archivo de arranque por defecto:


cat /var/lib/tftpboot/pxelinux.cfg/default

include ubuntu-installer/i386/boot-screens/menu.cfg
default ubuntu-installer/i386/boot-screens/vesamenu.c32
prompt 0
timeout 0


Con esto ya tendremos preparado al servidor TFTP para servir la imagen de arranque de Ubuntu Installer.

Ahora tendremos que configurar el servidor DHCP para dotar de una IP a los nuevos clientes y le indique donde esta el servidor TFTP:

cat /etc/dhcp3/dhcpd.conf


option domain-name-servers 145.253.2.75, 193.174.32.18;

default-lease-time 86400;
max-lease-time 604800;

authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.10 192.168.0.49;
        filename "pxelinux.0";
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
        next-server 192.168.0.100;
}



Esto hará que automáticamente se le asigne al cliente una IP del rango 192.168.0.10 al 192.168.0.49. La puerta de enlace será la 192.168.0.1 . Todo esto pertenece a una configuración normal y básica de un servidor DHCP, si bién hemos de notar que tenemos el parámetro "filename", la cual nos dice que el cliente usará una imagen de arranque llamada pxelinux.0, que la buscará en un servidor TFTP especificado por el parámetro "next-server", que en el ejemplo es 192.168.0.100. En el caso de que no tuviéramos ningún otro servidor DHCP en nuestra red, no haria falta especificar "next-server" ya que se entenderia que el servidor TFTP esta en el mismo lugar que el servidor DHCP (osea, los dos servicios funcionando en la misma máquina y sin ningún otro servidor DHCP en la red).

Reinciamos el servidor DHCP y ya tendríamos todo configurado.

RESUMEN:





That u don't know what you've got 'til it's gone