Búsqueda de sitios web

Cómo instalar Ubuntu a través del servidor PXE usando fuentes de DVD locales


PXE o Entorno de ejecución previa al arranque es un mecanismo servidor-cliente que indica a una máquina cliente que arranque desde la red.

En esta guía, mostraremos cómo instalar Ubuntu Server a través de un servidor PXE con fuentes HTTP locales reflejadas desde la imagen ISO del servidor Ubuntu a través de la web Apache. servidor. El servidor PXE utilizado en este tutorial es Dnsmasq Server.

Requisitos:

  1. Instalación de Ubuntu Server 16.04 o 17.04
  2. Una interfaz de red configurada con dirección IP estática
  3. Imagen ISO de Ubuntu Server 16.04 o 17.04

Paso 1: Instalar y configurar el servidor DNSMASQ

1. Para configurar el servidor PXE, en el primer paso inicie sesión con la cuenta raíz o una cuenta con privilegios de raíz e instale el paquete Dnsmasq. en Ubuntu emitiendo el siguiente comando.

apt install dnsmasq

2. A continuación, haga una copia de seguridad del archivo de configuración principal dnsmasq y luego comience a editar el archivo con las siguientes configuraciones.

mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
nano /etc/dnsmasq.conf

Agregue la siguiente configuración al archivo dnsmasq.conf.

interface=ens33,lo
bind-interfaces
domain=mypxe.local

dhcp-range=ens33,192.168.1.230,192.168.1.253,255.255.255.0,1h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
dhcp-option=6,8.8.8.8
server=8.8.4.4
dhcp-option=28,10.0.0.255
dhcp-option=42,0.0.0.0

dhcp-boot=pxelinux.0,pxeserver,192.168.1.14

pxe-prompt="Press F8 for menu.", 2
pxe-service=x86PC, "Install Ubuntu 16.04 from network server 192.168.1.14", pxelinux
enable-tftp
tftp-root=/srv/tftp

En el archivo de configuración anterior, reemplace las siguientes líneas en consecuencia.

  • interfaz Reemplácela con la interfaz de red de su propia máquina.
  • dominio: reemplácelo con su nombre de dominio.
  • dhcp-range: defina su propio rango de red para que DHCP asigne direcciones IP a este segmento de red y durante cuánto tiempo se debe otorgar una dirección IP para un cliente.
  • dhcp-option=3: la IP de su puerta de enlace.
  • dhcp-option=6 IP del servidor DNS: se pueden definir varias IP DNS.
  • servidor: dirección IP del reenviador DNS.
  • dhcp-option=28: su dirección de transmisión de red.
  • dhcp-option=42 – Servidor NTP – use 0.0.0.0 La dirección es para autorreferencia.
  • dhcp-boot: el archivo de inicio pxe y la dirección IP del servidor PXE (aquí pxelinux.0 y la dirección IP de la misma máquina).
  • pxe-prompt: los usuarios pueden presionar la tecla F8 para ingresar al menú PXE o esperar 2 segundos antes de cambiar automáticamente al menú PXE.
  • pxe=service: use x86PC para arquitecturas de 32 bits/64 bits e ingrese una descripción del menú debajo de las comillas. Otros tipos de valores pueden ser: PC98, IA64_EFI, Alpha, Arc_x86, Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI y X86-64_EFI.
  • enable-tftp: habilita el servidor TFTP integrado.
  • tftp-root: la ruta del sistema para los archivos de arranque de red.

3. Además, una vez que haya terminado de editar el archivo de configuración dnsmasq, cree el directorio para los archivos PXE netboot emitiendo el siguiente comando y reinicie el demonio dnsmasq para aplicar los cambios. Verifique el estado del servicio dnsmasq para ver si se ha iniciado.

mkdir /srv/tftp
systemctl restart dnsmasq.service
systemctl status dnsmasq.service

Paso 2: Instale los archivos TFTP Netboot

4. En el siguiente paso, obtenga la última versión de la imagen ISO del servidor Ubuntu para arquitectura de 64 bits emitiendo el siguiente comando.

wget http://releases.ubuntu.com/16.04/ubuntu-16.04.3-server-amd64.iso

5. Después de descargar la ISO del servidor Ubuntu, monte la imagen en el directorio /mnt y enumere el contenido del directorio montado ejecutando los siguientes comandos.

mount -o loop ubuntu-16.04.3-desktop-amd64.iso /mnt/
ls /mnt/

6. A continuación, copie los archivos netboot del árbol montado de Ubuntu a la ruta del sistema tftp emitiendo el siguiente comando. Además, indique la ruta del sistema tftp para ver los archivos copiados.

cp -rf /mnt/install/netboot/* /srv/tftp/
ls /srv/tftp/

Paso 3: preparar los archivos fuente de instalación local

7. Las fuentes de instalación de la red local para el servidor Ubuntu se proporcionarán a través del protocolo HTTP. Primero, instale, inicie y habilite el servidor web Apache emitiendo los siguientes comandos.

apt install apache2
systemctl start apache2
systemctl status apache2
systemctl enable apache2

8. Luego, copie el contenido del DVD de Ubuntu montado en la ruta raíz web del servidor web Apache ejecutando los siguientes comandos. Enumere el contenido de la ruta raíz web de Apache para verificar si el árbol montado ISO de Ubuntu se ha copiado por completo.

cp -rf /mnt/* /var/www/html/
ls /var/www/html/

9. A continuación, abra el puerto HTTP en el firewall y navegue hasta la dirección IP de su máquina a través de un navegador (http://192.168.1.14/ubuntu) para probar si puede llegar a las fuentes a través del protocolo HTTP.

ufw allow http

Paso 4: Configurar el archivo de configuración del servidor PXE

10. Para poder pivotar los rootfs a través de PXE y fuentes locales, Ubuntu necesita recibir instrucciones a través de un archivo preconfigurado. Cree el siguiente archivo local-sources.seed en la ruta raíz del documento de su servidor web con el siguiente contenido.

nano /var/www/html/ubuntu/preseed/local-sources.seed

Agregue la siguiente línea al archivo local-sources.seed.

d-i live-installer/net-image string http://192.168.1.14/ubuntu/install/filesystem.squashfs

Aquí, asegúrese de reemplazar la dirección IP en consecuencia. Debe ser la dirección IP donde se encuentran los recursos web. En esta guía, las fuentes web, el servidor PXE y el servidor TFTP están alojados en el mismo sistema. En una red abarrotada, es posible que desee ejecutar PXE, TFTP y servicios web en máquinas separadas para mejorar la velocidad de la red PXE.

11. Un servidor PXE lee y ejecuta archivos de configuración ubicados en el directorio raíz TFTP pxelinux.cfg en este orden: archivos GUID, archivos MAC y archivo predeterminado.

El directorio pxelinux.cfg ya está creado y lleno con los archivos de configuración PXE requeridos porque anteriormente copiamos los archivos de arranque de red de la imagen ISO montada de Ubuntu.

Para agregar el archivo de declaración preconfigurado anterior a la etiqueta de instalación de Ubuntu en el archivo de configuración PXE, abra el siguiente archivo para editarlo emitiendo el siguiente comando.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg

En el archivo de configuración txt.cfg de Ubuntu PXE, reemplace la siguiente línea como se ilustra en el siguiente extracto.

append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

El archivo /srv/tftp/ubuntu-installer/amd64/boot-screens/txt.cfg debe tener el siguiente contenido global:

default install
label install
	menu label ^Install Ubuntu 16.04 with Local Sources
	menu default
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet 
label cli
	menu label ^Command-line install
	kernel ubuntu-installer/amd64/linux
	append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz --- quiet

12. En caso de que desee agregar la declaración de URL predeterminada al menú Ubuntu Rescue, abra el siguiente archivo y asegúrese de actualizar el contenido como se ilustra en el siguiente ejemplo.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/rqtxt.cfg

Agregue la siguiente configuración al archivo rqtxt.cfg.

label rescue
	menu label ^Rescue mode
	kernel ubuntu-installer/amd64/linux
	append auto=true url=http://192.168.1.14/ubuntu/preseed/local-sources.seed vga=788 initrd=ubuntu-installer/amd64/initrd.gz rescue/enable=true --- quiet

La línea importante que debe actualizar es url=http://192.168.1.14/ubuntu/preseed/local-sources.seed que especifica la dirección URL donde se encuentra el archivo presionado en su red.

13. Finalmente, abra el archivo menu.cfg de Ubuntu pxe y comente las tres primeras líneas para expandir la pantalla de inicio de PXE como se ilustra en la siguiente captura de pantalla.

nano /srv/tftp/ubuntu-installer/amd64/boot-screens/menu.cfg

Comenta estas tres líneas siguientes.

#menu hshift 13
#menu width 49
#menu margin 8

Paso 5: abra los puertos del firewall en Ubuntu

14. Ejecute el comando netstat con privilegios de root para identificar los puertos abiertos dnsmasq, tftp y web en estado de escucha en su servidor, como se ilustra en el siguiente extracto.

netstat -tulpn

15. Una vez que haya identificado todos los puertos necesarios, ejecute los siguientes comandos para abrir los puertos en el firewall ufw.

ufw allow 53/tcp
ufw allow 53/udp
ufw allow 67/udp
ufw allow 69/udp
ufw allow 4011/udp

Paso 6: Instale Ubuntu con fuentes locales a través de PXE

16. Para instalar el servidor Ubuntu a través de PXE y usar las fuentes de instalación de la red local, reinicie su máquina cliente, indique al BIOS que inicie desde la red y en la primera pantalla del menú PXE elija la primera opción como se ilustra en la debajo de las imágenes.

17. El procedimiento de instalación debe realizarse como de costumbre. Cuando el instalador llegue a la configuración del país espejo del archivo de Ubuntu, use la flecha hacia arriba del teclado para pasar a la primera opción, que dice: ingrese la información manualmente.

18. Presione la tecla [enter] para actualizar esta opción, elimine la cadena reflejada y agregue la dirección IP de las fuentes reflejadas del servidor web y presione Intro para continuar como se ilustra en la imagen. imagen de abajo.

http://192.168.1.14

19. En la siguiente pantalla, agregue su directorio de archivo espejo como se muestra a continuación y presione la tecla Intro para continuar con el proceso de instalación y normalmente.

/ubuntu

20. En caso de que desee ver información sobre qué paquetes se descargan desde el espejo local de su red, presione las teclas [CTRL+ALT+F2] para cambiar la consola virtual de la máquina. y emita el siguiente comando.

tail –f /var/log/syslog

21. Una vez finalizada la instalación del servidor Ubuntu, inicie sesión en el sistema recién instalado y ejecute el siguiente comando con privilegios de root para actualizar los paquetes de los repositorios desde las fuentes de la red local a los espejos oficiales de Ubuntu.

Es necesario cambiar los espejos para poder actualizar el sistema utilizando los repositorios de Internet.

sudo sed –i.bak ‘s/192.168.1.14/archive.ubuntu.com/g’ /etc/apt/sources.list

Asegúrese de reemplazar la dirección IP de acuerdo con la dirección IP de sus propias fuentes web locales.

¡Eso es todo! Ahora puede actualizar su sistema de servidor Ubuntu e instalar todo el software necesario. La instalación de Ubuntu a través de PXE y un espejo de origen de red local puede mejorar la velocidad de instalación y ahorrar ancho de banda de Internet y costos en caso de implementar una gran cantidad de servidores en un corto período de tiempo en sus instalaciones.