GNU/Linux >> Tutoriales Linux >  >> Linux

HowTo:10 pasos para configurar el servidor tftpboot en UNIX / Linux (para instalar Linux desde la red usando PXE)

En este artículo, analicemos cómo configurar tftpboot, incluida la instalación de los paquetes necesarios y las configuraciones de tftpboot.

El servicio de arranque TFTP se usa principalmente para realizar la instalación del sistema operativo en una máquina remota a la que no tiene acceso físico. Para realizar la instalación del sistema operativo con éxito, debe haber una manera de reiniciar el servidor remoto, ya sea usando wakeonlan o alguien que lo reinicie manualmente o de alguna otra manera.

En esos escenarios, puede configurar los servicios tftpboot en consecuencia y la instalación del sistema operativo se puede realizar de forma remota (necesita tener el archivo de configuración de autoyast para automatizar los pasos de instalación del sistema operativo).

Se presenta el procedimiento paso a paso en este artículo para SLES10-SP3 en arquitectura de 64 bits. Sin embargo, estos pasos son bastante similares a los de cualquier otra distribución de Linux.

Paquetes requeridos

Los siguientes paquetes deben instalarse para la configuración de tftpboot.

  • paquetes de servicios de dhcp:dhcp-3.0.7-7.5.20.x86_64.rpm y dhcp-server-3.0.7-7.5.20.x86_64.rpm
  • paquete tftpboot:tftp-0.48-1.6.x86_64.rpm
  • paquete pxeboot:syslinux-3.11-20.14.26.x86_64.rpm

Instalación del paquete

Instale los paquetes para los servicios del servidor dhcp:

$ rpm -ivh dhcp-3.0.7-7.5.20.x86_64.rpm
Preparing...                ########################################### [100%]
   1:dhcp                   ########################################### [100%]

$ rpm -ivh dhcp-server-3.0.7-7.5.20.x86_64.rpm
Preparing...                ########################################### [100%]
   1:dhcp                   ########################################### [100%]

$ rpm -ivh tftp-0.48-1.6.x86_64.rpm

$ rpm -ivh syslinux-3.11-20.14.26.x86_64.rpm

Después de instalar el paquete syslinux, se creará el archivo pxelinux.0 en el directorio /usr/share/pxelinux/. Esto es necesario para cargar imágenes de initrd y kernel de instalación en la máquina cliente.

Verifique que los paquetes se hayan instalado correctamente.

$ rpm -qa | grep dhcp
$ rpm -qa | grep tftp

Descargue el tftpserver apropiado del repositorio de su respectiva distribución de Linux.

Pasos para configurar tftpboot

Paso 1:Crear el directorio /tftpboot

Cree el directorio tftpboot en el directorio raíz ( / ) como se muestra a continuación.

# mkdir /tftpboot/

Paso 2:copia la imagen de pxelinux

La imagen PXE Linux estará disponible una vez que haya instalado el paquete syslinux. Copie esto en la ruta /tftpboot como se muestra a continuación.

# cp /usr/share/syslinux/pxelinux.0 /tftpboot

Paso 3:Cree el punto de montaje para ISO y monte la imagen ISO

Supongamos que vamos a instalar la distribución Linux SLES10 SP3 en un servidor remoto. Si tiene el DVD SUSE10-SP3, insértelo en la unidad o monte la imagen ISO que tiene. Aquí, la imagen ISO se ha montado de la siguiente manera:

# mkdir /tftpboot/sles10_sp3

# mount -o loop SLES-10-SP3-DVD-x86_64.iso /tftpboot/sles10_sp3

Consulte nuestro artículo anterior sobre cómo montar y ver archivos ISO.

Paso 4:copie las imágenes de vmlinuz e initrd en /tftpboot

Copie el initrd al directorio tftpboot como se muestra a continuación.

# cd /tftpboot/sles10_sp3/boot/x86_64/loader

# cp initrd linux /tftpboot/

Paso 5:Cree el directorio pxelinux.cfg

Cree el directorio pxelinux.cfg en /tftpboot y defina las definiciones de arranque pxe para el cliente.

# mkdir /tftpboot/pxelinux.cfg

# cat >/tftpboot/pxelinux.cfg/default
default linux
label linux
kernel linux
append initrd=initrd showopts instmode=nfs install=nfs://192.168.1.101/tftpboot/sles10_sp3/

Las siguientes opciones se utilizan para,

  • kernel:especifica dónde encontrar el kernel de instalación de Linux en el servidor TFTP.
  • instalar:especifica los argumentos de arranque para pasar al kernel de instalación.

Según las entradas anteriores, el modo de instalación nfs se usa para servir archivos de configuración y RPM de instalación. Por lo tanto, tenga la configuración de nfs en esta máquina con el directorio /tftpboot en la lista exportada. Puede agregar la opción "autoyast" con el archivo de configuración de autoyast para automatizar los pasos de instalación del sistema operativo; de lo contrario, debe ejecutar los pasos de instalación manualmente.

Paso 6:cambie el propietario y el permiso para el directorio /tftpboot

Asignar none:nadie al directorio /tftpboot.

# chown nobody:nobody /tftpboot

# chmod 777 /tftpboot

Paso 7:Modificar /etc/dhcpd.conf

Modifique /etc/dhcpd.conf como se muestra a continuación.

# cat /etc/dhcpd.conf

ddns-update-style none;
default-lease-time 14400;
filename "pxelinux.0"; 

# IP address of the dhcp server nothing but this machine.
next-server 192.168.1.101;
subnet 192.168.1.0 netmask 255.255.255.0 {
  # ip distribution range between 192.168.1.1 to 192.168.1.100
  range 192.168.1.1 192.168.1.100;
  default-lease-time 10;
  max-lease-time 10;
}

Especifique la interfaz en /etc/syslinux/dhcpd para escuchar las solicitudes dhcp provenientes de los clientes.

# cat /etc/syslinux/dhcpd | grep DHCPD_INTERFACE
DHCPD_INTERFACE=”eth1”;

Aquí, esta máquina tiene la dirección IP de 192.168.1.101 en el dispositivo eth1. Entonces, especifique eth1 para DHCPD_INTERFACE como se muestra arriba.

En una nota relacionada, consulte nuestro artículo anterior sobre 7 ejemplos para configurar la interfaz de red usando ifconfig.

Paso 8:Modificar /etc/xinetd.d/tftp

Modifique el archivo /etc/xinetd.d/tftp para reflejar lo siguiente. De forma predeterminada, el valor para el parámetro de desactivación es "sí", asegúrese de modificarlo a "no" y debe cambiar la entrada server_args a -s /tftpboot.

# cat /etc/xinetd.d/tftp
	service tftp {
                       socket_type     = dgram
                       protocol          = udp
                       wait               = yes
                       user               = root
                       server            = /usr/sbin/in.tftpd
                       server_args     = -s /tftpboot
                       disable           = no
            }

Paso 9:Sin cambios en /etc/xinetd.conf

No es necesario modificar el archivo etc/xinetd.conf. Utilice los valores predeterminados especificados en el archivo xinetd.conf.

Paso 10:reiniciar los servicios xinetd, dhcpd y nfs

Reinicie estos servicios como se muestra a continuación.

# /etc/init.d/xinetd restart

# /etc/init.d/dhcpd restart

# /etc/init.d/nfsserver restart

Después de reiniciar los servicios nfs, puede ver la lista de directorios exportados (/tftpboot) con el siguiente comando,

# showmount -e

Finalmente, la configuración de tftpboot está lista y ahora la máquina cliente se puede iniciar después de cambiar el primer dispositivo de inicio como "red" en la configuración del BIOS.

Si encuentra algún error de tftp, puede solucionar el problema recuperando algunos archivos a través del servicio tftpd.

Recupere algún archivo del tftpserver para asegurarse de que el servicio tftp funcione correctamente con el cliente tftp. Supongamos que el archivo sample.txt está presente en el directorio /tftpboot.

 $ tftp -v 192.168.1.101 -c get sample.txt

Linux
  1. Desarrolle aplicaciones de red para ESP8266 usando Mongoose en Linux

  2. ¿Utiliza Tcpdump para registrar toda la actividad de la red que pasa por un servidor de enrutador?

  3. Uso de Checkmk para monitorear su infraestructura de servidor Linux

  4. Cómo configurar grupos de recursos para el servidor MySQL que se ejecuta en Linux

  5. ¿Cómo configuro Qt para la compilación cruzada de Linux a destino de Windows?

Uso de ifstat para estadísticas de red de Linux

Servidor de monitoreo Graylog en Ubuntu Linux para servidores/servicios de monitoreo

Cómo instalar y configurar el cortafuegos CSF para Linux

9 pasos para instalar y configurar PostgreSQL desde el origen en Linux

Tutorial de BlackBerry SSH:Conéctese a un servidor Unix usando MidpSSH para dispositivos móviles

4 sencillos pasos para instalar y configurar VMware Server 2 en Linux