GNU/Linux >> Tutoriales Linux >  >> Debian

Instale Debian 9 (Stretch) a través del servidor de arranque de red PXE

En este tutorial, lo guiaremos sobre cómo instalar la última versión del servidor Debian 9 a través de un servidor PXE con fuentes espejo HTTP remotas de Internet que ofrecen los espejos de archivos de Debian. El servidor DHCP que usaremos en este tutorial para configurar el entorno PXE será el servidor ISC-DHCP y los archivos Debian de arranque en red serán servidos en la red local por el servidor TFTPD-HPA. La instalación de un sistema a través de PXE puede mejorar la velocidad de instalación y en caso de implementar múltiples instalaciones de Debian en un corto período de tiempo o en los casos en que las máquinas no estén equipadas con una unidad de CD/DVD ROM.

Requisitos

  • Debian 9 instalado en una máquina completa o en una máquina virtual.
  • Una interfaz de red configurada con una dirección IP estática para el segmento de red que se usará para asignar dinámicamente la dirección IP y otras configuraciones de DHCP y PXE relacionadas.
  • Una cuenta local o remota con privilegios de raíz en el servidor Debian o acceso directo a la cuenta raíz a través de la consola del servidor o acceso remoto a través de SSH.
  • Se necesita una conexión a Internet para instalar Debian a través de la red.

Configuración inicial

En el primer paso, debe asegurarse de que el sistema Debian que usaremos para instalar nuevos servidores tenga la interfaz de red que se usará para conectarse a un servidor DHCP, configurado con una dirección IP estática.

Para configurar manualmente su tarjeta de interfaz de red, abra el archivo de interfaces de red y edite las siguientes líneas usando su editor de texto preferido, como nano . Reemplace las líneas de configuración de IP que se describen a continuación para que coincidan con sus propias configuraciones de red.

sudo nano /etc/network/interfaces

Interfaces extracto del archivo:

auto ens33
iface ens33 inet static
address 192.168.1.102
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.2 8.8.4.4
dns-search debian.local

Una vez que haya editado el archivo de interfaces de red, guarde y cierre el archivo y baje la interfaz de red, luego suba, para aplicar la configuración, emitiendo los siguientes comandos. Suponiendo que su tarjeta de interfaz de red se llame ens33, emita los siguientes comandos para deshabilitar y habilitar la NIC.

ifdown ens33
ifup ens33

Para verificar si la nueva dirección IP se configuró para la interfaz de red, emita el siguiente comando.

ip a

A veces, la configuración de IP no se aplicará simplemente reiniciando el demonio de red o deshabilitando y habilitando la interfaz. En este caso, debe reiniciar el sistema con el siguiente comando.

init 6

O

systemctl reboot

También debe realizar una actualización completa del sistema emitiendo los siguientes comandos:

apt update
apt upgrade

En el siguiente paso, ejecute el siguiente comando para instalar algunas utilidades necesarias que se utilizarán para administrar aún más su sistema desde la línea de comandos.

apt install wget bash-completion unzip

Instalar y configurar el servidor ISC-DHCP

Para configurar un servidor DHCP y una configuración PXE, inicie sesión en el sistema con la cuenta raíz o una cuenta con privilegios raíz e instale isc-dhcp-server paquete proporcionado por el repositorio de Debian 9 emitiendo el siguiente comando.

apt install isc-dhcp-server

Ahora haga una copia de seguridad del archivo de configuración principal del servidor ISC-DHCP y edite el archivo de configuración del servidor dhcpc para que contenga las siguientes configuraciones.

mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup
nano /etc/dhcp/dhcpd.conf

dhcpcd.conf extracto del archivo:

ddns-update-style none;
option option-128 code 128 = string;
option option-129 code 129 = text;
authoritative;
log-facility local7;
option arch code 93 = unsigned integer 16;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.50 192.168.1.100;
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
option subnet-mask 255.255.255.0;
option ntp-servers 192.168.1.102;
option time-servers 192.168.1.102;

option domain-name "debian.local";
option domain-name-servers 192.168.1.1, 192.168.1.2;
allow booting;
allow bootp;
if option arch = 00:07 or option arch = 00:09 {
filename "bootnetx64.efi";
} else {
filename "pxelinux.0";
}
next-server 192.168.1.102;

#default lease 4H, max lease 8H
default-lease-time 14400;
max-lease-time 28800;

}

host nas {
hardware ethernet 00:17:a4:f6:b2:2e;
fixed-address 192.168.1.105;
}

En el archivo de configuración anterior, reemplace las siguientes líneas según corresponda.

subnet {..
range 192.168.1.50 192.168.1.100;

Para definir su propio rango de red para que DHCP asigne direcciones IP a este segmento de red

enrutadores opcionales =configure su puerta de enlace IP

opción dirección de transmisión =configurar su dirección de transmisión de red

opción máscara de subred =configure su dirección de máscara de subred de red

opción servidores ntp

opción de servidores de tiempo =configure la dirección IP del servidor NTP de su red

opción nombre-dominio =configure su nombre de dominio de red, si corresponde

opción servidores de nombres de dominio =configure las direcciones IP del servidor DNS de su red

si opción arco =00:07 u opción arco =00:09 =si el dispositivo final es una máquina basada en UEFI, inicie el dispositivo usando bootnetx64.efi archivar o iniciar cualquier otra máquina que no esté basada en UEFI usando pxelinux.0 expediente. Estas máquinas suelen ser sistemas BIOS más antiguos.

siguiente-servidor 192.168.1.102 = Esta es la dirección IP del servidor TFTP, donde se encuentra el archivo pxelinux.0 o bootnetx64.efi se puede encontrar en su red. En este caso el servidor TFTP está ubicado en la misma máquina.

tiempo de concesión predeterminado =tiempo predeterminado en segundos otorgado a una dirección IP antes de que caduque.

tiempo máximo de arrendamiento =tiempo máximo en segundos otorgado a una dirección IP antes de que caduque.

host nas {
hardware ethernet 00:17:a4:f6:b2:2e;
fixed-address 192.168.1.105;
}

Así es como se declara una dirección IP estática en el servidor DHCP. El dispositivo con la dirección MAC definida por hardware ethernet declaración siempre obtendrá la misma dirección IP. El nombre de host declarado no tiene importancia. Puede usar cualquier cadena arbitraria para el nombre de host.

Luego abra isc-dhcp-server archivo en /etc/default/ directorio para editar, navegue hasta el final del archivo y agregue su tarjeta de interfaz de red configurada con una dirección IP estática a la línea de interfaces IPv4 como se describe en el ejemplo a continuación. Asegúrese de agregar el nombre de tarjeta de interfaz de red adecuado. Usar ip o ifconfig comandos para enumerar las interfaces de red de su máquina y encontrar el nombre correcto.

nano /etc/default/isc-dhcp-server

Extracto del archivo predeterminado de isc-dhcp-server:

INTERFACESv4=”ens33”

Finalmente, reinicie el demonio DHCP para aplicar los cambios. Verifique el estado del servicio DHCP emitiendo el siguiente comando para verificar si el servicio se ha iniciado.

systemctl restart isc-dhcp-server.service
systemctl status isc-dhcp-server.service

Además, ejecute ss o netstat Comando para enumerar todos los sockets abiertos por servidor DHCP.

netstat –tulpn
ss –tulpn

Si netstat La utilidad no está instalada en su sistema, emita el siguiente comando para instalarla.

apt install net-tools

Instalar servidor TFTP

Para servir los archivos de arranque de red requeridos por los clientes para arrancar Debian de forma remota a través de PXE y TFTP, también necesita instalar un servidor TFTP en su sistema. Uno de los servidores TFTP más comunes y seguros disponibles para LAN es el tftpd-hpa servidor. Los paquetes TFTP-HPA se pueden instalar desde los repositorios oficiales ofrecidos por Debian 9. Ejecute el siguiente comando para instalar el servidor tftpd-hpa en Debian 9.

apt install tftpd-hpa

Una vez instalado el paquete, abra el archivo de configuración predeterminado de TFTPD-HPA y asegúrese de que el archivo tenga el siguiente contenido.

nano /etc/default/tftpd-hpa

tftpd-hpa extracto del archivo:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Si la línea TFTP_OPTIONS tiene el siguiente contenido, asegúrese de eliminar --create bandera para asegurar el servidor TFTP.

TFTP_OPTIONS="--secure --create"

El crear bandera permite a los clientes remotos cargar archivos en el servidor tftp. Esta opción es peligrosa porque los usuarios arbitrarios pueden cargar o eliminar archivos de la ruta raíz del servidor TFTP.

Finalmente, habilite el servicio en todo el sistema e inicie el servidor TFTP y verifique el estado del demonio tftp emitiendo la siguiente serie de comandos:

systemctl enable tftpd-hpa
systemctl start tftpd-hpa
systemctl status tftpd-hpa

También debe ejecutar netstat o ss comando para enumerar todos los sockets de red abiertos en estado de escucha en su sistema. Los siguientes puertos UDP requeridos por los servidores DHCP y TFTP deben abrirse en su pila de red:67 y 69. Debe abrir estos puertos en su firewall emitiendo los siguientes comandos:

ufw allow 67/udp
ufw allow 69/udp

Si está utilizando iptables reglas sin procesar para administrar la política de firewall en su servidor Debian, agregue las siguientes reglas para permitir que el tráfico entrante UDP de los puertos 67 y 69 pase el firewall para que los clientes puedan acceder a los servidores DHCP y TFTP.

apt-get install iptables-persistent
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p udp --dport 69 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

En el siguiente paso, instalaremos las utilidades del cargador de arranque de Syslinux emitiendo el siguiente comando.

apt install syslinux-utils syslinux

Implementar archivos de Debian 9 Netboot

A continuación, vaya a la página web de Debian netinstall en la siguiente dirección https://www.debian.org/distrib/netinst y descargue la última versión de Debian netboot archive tarball utilizando la utilidad de línea de comandos wget.

wget http://ftp.nl.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/netboot.tar.gz

Después de que se haya descargado el tarball de Debian netinstall, extraiga el contenido del archivo directamente a la ruta raíz de TFTP ejecutando el siguiente comando.

tar xfz netboot.tar.gz -C /srv/tftp/

También copie el archivo memdisk proporcionado por el paquete Syslinux en la ruta raíz de TFTP y enumere el contenido del directorio TFTP emitiendo los siguientes comandos. El directorio /srv/tftp debe tener el contenido que se muestra en la siguiente captura de pantalla.

cp /usr/lib/syslinux/memdisk /srv/tftp/
ls /srv/tftp/

A continuación, cree un enlace simbólico para el archivo del gestor de arranque UEFI proporcionado por el paquete Debian netinstall a la ruta raíz de TFTP emitiendo el siguiente comando. Además, haga una lista larga del directorio TFTP para ver si el enlace suave apunta correctamente al archivo de arranque de red UEFI.

ln -s /srv/tftp/debian-installer/amd64/bootnetx64.efi /srv/tftp/
ls -l /srv/tftp/

El servidor PXE lee y ejecuta archivos de configuración ubicados en pxelinux.cfg directorio desde la ruta raíz de TFTP en este orden:archivos GUID, archivos MAC y archivo predeterminado. El directorio pxelinux.cfg ya se creó y se completó con el archivo de configuración predeterminado PXE requerido porque anteriormente extrajimos los archivos netboot requeridos del archivo netinstall de Debian a la carpeta /srv/tftp. No es necesario modificar más el archivo de configuración predeterminado de PXE del directorio pxelinux.cfg. Sin embargo, el archivo que realmente controla el menú de arranque inicial de Debian se llama txt.cfg y se encuentra en /srv/tftp/debian-installer/amd64/boot-screens/ directorio. El archivo de configuración pxe predeterminado de pxelinux.cfg El directorio es en realidad un enlace suave que apunta al archivo txt.cfg. Para cambiar o agregar otras opciones para pasar al kernel durante el proceso de inicio de red o agregar otras entradas o iniciar otras distribuciones de Linux a través del servidor PXE, debe abrir el archivo de configuración PXE txt.cfg predeterminado con el siguiente comando y hacer los cambios apropiados.

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

t xt.cfg extracto del archivo:

label install
menu label ^Install
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz --- quiet

En caso de que desee utilizar el modo de rescate de Debian a través de PXE, agregue una entrada a este archivo con las siguientes configuraciones.

label rescue
menu label ^Rescue mode
kernel debian-installer/amd64/linux
append vga=788 initrd=debian-installer/amd64/initrd.gz rescue/enable=true --- quiet

Para agregar las entradas requeridas para iniciar Debian a través de la red en modo experto o usar el modo de instalación automática, agregue las configuraciones adicionales al archivo txt.cfg como se muestra en los extractos a continuación.

Instalación experta:

label expert
menu label ^Expert install
kernel debian-installer/amd64/linux
append priority=low vga=788 initrd=debian-installer/amd64/initrd.gz ---
include debian-installer/amd64/boot-screens/rqtxt.cfg

Instalación automatizada:

label auto
menu label ^Automated install
kernel debian-installer/amd64/linux
append auto=true priority=critical vga=788 initrd=debian-installer/amd64/initrd.gz --- quiet

Además, al inspeccionar el contenido de este archivo, verá que el kernel y initrd.gz Las imágenes, que se cargan en la memoria RAM del cliente a través del protocolo de red TFTP, después del menú PXE inicial, se encuentran en /srv/tftp/debian-installer/amd64/ directorio. Puede cambiar solo estos dos archivos para futuras actualizaciones del kernel de Debian e initrd.gz.

¡Eso es todo! Ahora tiene la posibilidad de iniciar una máquina cliente a través de la red, use todas las entradas que normalmente se muestran al iniciar Debian a través de la imagen del DVD y comience a instalar Debian 9 a través de un servidor PXE.

Para ver los mensajes de registro de DHCP que se intercambian entre los clientes y el servidor en tiempo real, use tail comando contra el archivo syslog del sistema. El servidor DHCP descarta todos sus mensajes de registro en el archivo syslog. Los mensajes de registro del servidor TFTP se pueden observar a través del archivo daemon.log. Las siguientes capturas de pantalla ilustran un extracto de los mensajes de registro emitidos por los servidores DHCP y TFTP.

tailf /var/log/syslog
tailf /var/log/daemon.log

También puede ejecutar el siguiente comando para ver los mensajes de registro generados por el servidor TFTP.

journalctl -fu tftpd-hpa

Para revelar información ampliada sobre las concesiones otorgadas por el servidor DHCP a sus clientes, muestre el contenido de dhcpd.leases archivo usando el comando cat, como se ilustra en el siguiente ejemplo.

cat /var/lib/dhcp/dhcpd.leases

¡Eso es todo! Ha implementado con éxito un servidor PXE en su red. Ahora puede comenzar a instalar Debian a través de la red instruyendo a la máquina cliente para que arranque a través de PXE. Puede arrancar en red una máquina cliente presionando una tecla de función especial durante la inicialización POST de la máquina. Consulte la documentación del proveedor de la placa base de su máquina para averiguar la clave de arranque de red adecuada.

El proceso de instalación de Debian a través de la red es muy similar (solo con algunas pequeñas diferencias) con el proceso de instalación del sistema a través de una imagen ISO de DVD o usando una unidad flash USB de arranque.


Debian
  1. Cómo instalar un servidor LAMP en Debian 9 Stretch Linux

  2. Cómo instalar el servidor de la comunidad MySQL en Debian 9 Stretch Linux

  3. Cómo instalar el servidor Redis en Debian 11

  4. Instalar Cockpit en Debian 9

  5. Cómo instalar la red social Elgg en Debian 9

Cómo instalar el servidor proxy Shadowsocks-Libev en Debian 9 Stretch VPS

Cómo instalar VestaCP en Debian 9 Stretch

Cómo instalar el servidor de Minecraft en Debian 9 Stretch

Cómo instalar Plex Media Server en Debian 9 Stretch

Cómo instalar Go en Debian 9 Stretch

Cómo instalar Jetty en Debian 9 Stretch