Servidor TFPT Ubuntu

Posted by in Administración UServer, Linux

Al igual que ya se vio en Windows, es posible que se necesiten realizar instalaciones masivas por red en una infraestructura Linux. Para ello se requieren de los servicios que permiten la ejecución del paso de imágenes por red (tftp), del arranque pxe de las máquinas clientes así como las comunicaciones por red (apache2).

Para el siguiente ejemplo se contará con la siguiente infraestructura

  • Ubuntu server 16.04 IP 192.168.10.2 (red internat státic enp0s8) IP 169.12.123.4 (red host dhcp enp0s3)
  • Imagen de red Ubuntu desktop 18.04
  • Maquinas vacías con tarjeta de red interna

Antes de empezar se configura el servidor dhcp en la tarjeta de red interna para repartir el rango 192.168.10.10 – 192.168.10.100

Una vez hecho esto se instalan los paquetes necesarios para la comunican por red y el servidor tftp:

Servidor PXE / TFTPD

Se trata del servicio que pasa por red una imagen a las máquinas clientes que se conectan mediante la cual pueden iniciar sin tener nada instalado en el disco duro. El archivo de configuración se encuentra en la ruta /etc/default/tftpd-hpa. En este archivo se debe agregar las siguientes lineas

Esta nueva configuración permite que el demonio tftp se pueda ejecutar al inicio de la máquina, permitiendo que cualquier máquina pueda arrancar mediante pxe

El siguiente paso es editar el fichero de configuraciones de las herramientas de red instaladas mediante el paquete inetutils-inetd, el cual se encuentra en la ruta /etc/inetd.conf y se añade la siguiente linea

y se reinicia el servicio mediante systemctl restart tftpd-hpa.

Una vez hecho todos estos pasos el servidor tftp está configurado y listo para ser utilizado. Tan solo quedaría la configuración de la imagen o imágenes que se quiere pasar por red a las máquinas que inicien mediante pxe.

Agregar imágenes al servidor

Para poder agregar una imagen se necesita una imagen de sistema sistema operativo que se quiera instalar. Además de esta imagen de sistema se necesitan los archivos de instalación de red, los cuales pueden o no estar presentes en el disco de instalación. En el siguiente enlace se pueden encontrar los referentes a distribuciones Ubuntu. Para este ejemplo se utilizará una imagen de Ubuntu Server 16.04 que ya incluye la imagen de red.

1.- Montar el cd y copiar contenido

El primer paso es montar el cd en una carpeta cualquiera para poder ver todo su contenido. Hay que tener en cuenta que el cd por defecto está situado en /dev/cdrom

Una vez montado se copiará el contenido en la carpeta /montaje/install/netboot/*  en la carpta /var/lib/tftpboot. Esto servirá para poder seleccionar la imagen por red una vez los clientes arranquen por PXE. Se utiliza la opción f para forzar la tarea y r para que lo haga de forma recursiva

2.- Copiar la imagen completa

Con el primer paso se ha conseguido pasar la imagen de instalación mínima por red, pero falta depositar la imagen completa en el servidor. Para ello se crea una carpeta en /var/www/html/ubuntu (depende de la distribución) y se copia el contenido completo del cd (desde la carpeta creada)

3.- Agregar la opción al menú de arranque

Cuando una máquina arranca por PXE se le pasa un fichero de configuración con todos los punteros de los sistemas operativos que puede seleccionar. En este fichero situado en /var/lib/tftpboot/pxelinux.cfg/ y llamado default se agrega la opción del kernel correspondiente. En este ejemplo se trata del kernel asociado a Ubuntu server 16.04 pero hay que tener en cuenta cual es el kernel a pasar. Para ello se agregan las siguientes lineas al fichero:

También hay que tener en cuenta indicar de forma correcta la dirección IP del servidor donde está situada la imagen (en este ejemplo 192.168.10.2)

4.- Configuración del servidor DHCP

Por último se debe configurar el servidor DHCP para que transmita direcciones IP a las máquinas que arrancan por red y les otorga el archivo de configuración pxelinux.0 .Para ello se agregan las siguientes lineas (incluidas las de la concesión ya explicadas en entradas anteriores)

Con todo esto quedarían configurados los servicios por lo que quedaría resetearlos y comprobar que funcionan correctamente. Adicionalmente se puede configurar el firewall para que permita las comunicaciones mediante tftp (por defecto debería dejarlas)