GNU/Linux >> Tutoriales Linux >  >> Cent OS

Configure el servidor de instalación PXE (arranque de red) en CentOS 7.x

El servidor PXE (Preboot eXecution Environment) permite la instalación automática o desatendida del sistema operativo a través de la red. El principal beneficio de pxe es que no necesitamos ninguna unidad de arranque para iniciar el sistema operativo (sistema operativo) y no necesitamos grabar ningún archivo ISO en DVD o dispositivo USB.

Una vez que el servidor PXE está configurado, podemos instalar cientos de sistemas al mismo tiempo a través de la red. Como funciona en la arquitectura Cliente-Servidor, para obtener la instalación del sistema operativo en los clientes, inicie los clientes a través de la opción PXE.

En este artículo, voy a configurar el servidor PXE en CentOS 7.x y luego intentaré instalar el sistema operativo en el cliente usando el arranque pxe.

A continuación se muestran los detalles de mi configuración:

  • IP del servidor =172.168.1.11
  • Nombre de host =pxe.example.com
  • SO =CentOS 7.x
  • SELinux =habilitado
  • Cortafuegos =activado

Paso:1 Instale los paquetes necesarios para la configuración de PXE

Para instalar y configurar el servidor pxe en centos 7.x, necesitamos los siguientes paquetes "dhcp, tftp-server, ftp server (vsftpd), xinted". Abra la terminal y ejecute debajo del comando:

[[email protected] ~]# yum install dhcp tftp tftp-server syslinux vsftpd xinetd

Paso:2 Configurar servidor DHCP para PXE

Cuando instalamos el paquete dhcp, se crea un archivo de configuración de muestra del servidor dhcp en “/usr/share/doc/dhcp*/dhcpd.conf.example “, aunque el archivo de configuración de dhcp está en ‘/etc/dhcp/dhcpd.conf '.

Copie las siguientes líneas en el archivo '/etc/dhcp/dhcpd.conf', reemplace la subred IP y otros detalles según su entorno.

[[email protected] ~]# vi /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.

ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;

# internal subnet for my DHCP Server
subnet 172.168.1.0 netmask 255.255.255.0 {
range 172.168.1.21 172.168.1.151;
option domain-name-servers 172.168.1.11;
option domain-name "pxe.example.com";
option routers 172.168.1.11;
option broadcast-address 172.168.1.255;
default-lease-time 600;
max-lease-time 7200;

# IP of PXE Server
next-server 172.168.1.11;
filename "pxelinux.0";
}

Paso:3 Editar y configurar el servidor tftp (/etc/xinetd.d/tftp)

TFTP (Protocolo Trivial de Transferencia de Archivos) se utiliza para transferir archivos desde el servidor de datos a sus clientes sin ningún tipo de autenticación. En el caso de la configuración del servidor PXE, se utiliza tftp para la carga de arranque. Para configurar el servidor tftp, edite su archivo de configuración ' /etc/xinetd.d/tftp ', cambie el parámetro 'disable =yes' a 'disable =no' y deje los demás parámetros como están.

[[email protected] ~]# vi /etc/xinetd.d/tftp
service tftp
{
 socket_type = dgram
 protocol    = udp
 wait        = yes
 user        = root
 server      = /usr/sbin/in.tftpd
 server_args = -s /var/lib/tftpboot
 disable     = no
 per_source  = 11
 cps         = 100 2
 flags       = IPv4
}

Todos los archivos relacionados con el arranque de red deben colocarse en el directorio raíz de tftp “/var/lib/tftpboot

Ejecute los siguientes comandos para copiar los archivos de arranque de red necesarios en ‘/var/lib/tftpboot/’

[[email protected] ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot
[[email protected] ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot
[[email protected] ~]#
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# mkdir /var/lib/tftpboot/networkboot
[email protected] ~]#

Paso:4 Monte el archivo ISO de CentOS 7.x y copie su contenido en el servidor ftp local

En mi caso, ya he descargado el archivo iso CentOS 7.x en mi servidor PXE. Ejecute los siguientes comandos para montar el archivo iso y luego copie su contenido en el directorio del servidor ftp '/var/ftp/pub '

[[email protected] ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only
[[email protected] ~]# cd /mnt/
[[email protected] mnt]# cp -av * /var/ftp/pub/

Copie el archivo Kernel (vmlimz) y el archivo initrd del archivo iso montado a '/var/lib/tftpboot/networkboot/ '

[[email protected] ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/
[[email protected] ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/
[[email protected] ~]#

Ahora puede desmontar el archivo iso usando el comando 'desmontar'

[[email protected] ~]# umount /mnt/
[[email protected] ~]#

Paso:5 Crear archivo de menú kickStart y PXE.

Antes de crear el archivo kickstart, primero creemos la contraseña raíz en una cadena cifrada porque usaremos esa cadena de contraseña cifrada en el archivo kickstart.

[[email protected] ~]# openssl passwd -1 [email protected]#
$1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
[[email protected] ~]#

El archivo kickstart predeterminado del sistema se coloca en /root con el nombre 'anaconda-ks.cfg '. Crearemos un nuevo kickstart en la carpeta /var/ftp/pub con el nombre 'centos7.cfg '

Copie el siguiente contenido en el nuevo archivo kickstart. Modifique el archivo kickstart según sus necesidades.

[[email protected] ~]# vi /var/ftp/pub/centos7.cfg

#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use FTP installation media
url --url="ftp://172.168.1.11/pub/"
# Root password
rootpw --iscrypted $1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41
# System authorization information
auth useshadow passalgo=sha512
# Use graphical install
graphical
firstboot disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux disabled
# Installation logging level
logging level=info
# System timezone
timezone Europe/Amsterdam
# System bootloader configuration
bootloader location=mbr
clearpart --all --initlabel
part swap --asprimary --fstype="swap" --size=1024
part /boot --fstype xfs --size=300
part pv.01 --size=1 --grow
volgroup root_vg01 pv.01
logvol / --fstype xfs --name=lv_01 --vgname=root_vg01 --size=1 --grow
%packages
@^minimal
@core
%end
%addon com_redhat_kdump --disable --reserve-mb='auto'
%end

Cree un archivo de menú PXE (/var/lib/tftpboot/pxelinux.cfg/default ), copie los siguientes contenidos en el archivo de menú pxe.

[[email protected] ~]# vi /var/lib/tftpboot/pxelinux.cfg/default

default menu.c32
prompt 0
timeout 30
MENU TITLE LinuxTechi.com PXE Menu
LABEL centos7_x64
MENU LABEL CentOS 7_X64
KERNEL /networkboot/vmlinuz
APPEND initrd=/networkboot/initrd.img inst.repo=ftp://172.168.1.11/pub ks=ftp://172.168.1.11/pub/centos7.cfg

Paso:6 Iniciar y habilitar el servicio xinetd, dhcp y vsftpd.

Utilice los siguientes comandos para iniciar y habilitar xinetd, dhcp y vsftpd.

[[email protected] ~]# systemctl start xinetd
[[email protected] ~]# systemctl enable xinetd
[[email protected] ~]# systemctl start dhcpd.service
[[email protected] ~]# systemctl enable dhcpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.
[[email protected] ~]# 
[[email protected] ~]# systemctl start vsftpd
[[email protected] ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[[email protected] ~]#

En caso de que SELinux esté habilitado, configure la siguiente regla de selinux para el servidor ftp.

[[email protected] ~]# setsebool -P allow_ftpd_full_access 1
[[email protected] ~]#

Abra los puertos en el firewall del sistema operativo usando los siguientes comandos firewall-cmd

[[email protected] ~]# firewall-cmd --add-service=ftp --permanent
success
[[email protected] ~]# firewall-cmd --add-service=dhcp --permanent
success
[[email protected] ~]# firewall-cmd --add-port=69/tcp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=69/udp --permanent 
success
[[email protected] ~]# firewall-cmd --add-port=4011/udp --permanent
success
[[email protected] ~]# firewall-cmd --reload
success
[[email protected] ~]#

Hasta este punto, la instalación y configuración del servidor PXE se completa ahora.

Paso:7 Inicie los clientes con la opción de inicio pxe.

Como se puede ver arriba, esa instalación se ha iniciado con cualquier interacción humana. Espero que disfrute de la instalación y configuración del servidor PXE. Comparta sus opiniones y comentarios.


Cent OS
  1. Cómo configurar los ajustes de red de CentOS

  2. Pasos de instalación de OpenCart 2.0 en CentOS 7

  3. ¿Cómo Arrancar Ubuntu Server 14.04 en Red con Pxe Usando Nfs?

  4. Configurar el servidor MariaDB en CentOS

  5. Centos 7:configurar el servidor DNS

Cómo instalar y configurar OTRS (herramienta de emisión de boletos) en CentOS 7 / RHEL 7

Cómo instalar y configurar el servidor VNC en Centos 8 / RHEL 8

Cómo instalar un servidor mínimo CentOS 7.2

¡Error del Servidor!

Instale el servidor PXE y configure el cliente PXE en CentOS 7

Centos 7:configurar el servidor NTP