LinuxParty
El servidor PXE (Preboot eXecution Environment) permite la instalación desatendida o automatizada del sistema operativo a través de la red. La principal ventaja 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 configurado el servidor PXE, 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 pxe boot.
A continuación se muestran los detalles de mi configuración:
- Servidor IP = 172.168.1.11
- Nombre de host = pxe.example.com
- OS = CentOS 7.x
- SELinux = habilitado
- Firewall = habilitado
Paso: 1 Instala los paquetes requeridos 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". Abre el terminal ejecuta debajo del comando:
[root@pxe ~]# yum install dhcp tftp tftp-server syslinux vsftpd xinetd
Paso: 2 Configurar el 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.
[root@pxe ~]# 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 de transferencia de archivos trivial) 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, tftp se utiliza para cargar bootstrap. 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.
[root@pxe ~]# 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 se colocarán en el directorio raíz tftp “/ var / lib / tftpboot ”
Ejecute los siguientes comandos para copiar los archivos de arranque de red necesarios en '/ var / lib / tftpboot /'
[root@pxe ~]# cp -v /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot [root@pxe ~]# cp -v /usr/share/syslinux/menu.c32 /var/lib/tftpboot [root@pxe ~]# cp -v /usr/share/syslinux/memdisk /var/lib/tftpboot [root@pxe ~]# cp -v /usr/share/syslinux/mboot.c32 /var/lib/tftpboot [root@pxe ~]# cp -v /usr/share/syslinux/chain.c32 /var/lib/tftpboot [root@pxe ~]# [root@pxe ~]# mkdir /var/lib/tftpboot/pxelinux.cfg [root@pxe ~]# mkdir /var/lib/tftpboot/networkboot root@pxe ~]#
Paso: 4 Monte el archivo ISO CentOS 7.x y copie su contenido al servidor ftp local
En mi caso, ya he descargado el archivo iso CentOS 7.x en mi servidor PXE. Ejecute los comandos siguientes para montar el archivo iso y luego copie su contenido en el directorio del servidor ftp ' / var / ftp / pub '
[root@pxe ~]# mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/ mount: /dev/loop0 is write-protected, mounting read-only [root@pxe ~]# cd /mnt/ [root@pxe mnt]# cp -av * /var/ftp/pub/
Copie el archivo Kernel (vmlimz) y el archivo initrd del archivo iso montado a ' / var / lib / tftpboot / networkboot / '
[root@pxe ~]# cp /mnt/images/pxeboot/vmlinuz /var/lib/tftpboot/networkboot/ [root@pxe ~]# cp /mnt/images/pxeboot/initrd.img /var/lib/tftpboot/networkboot/ [root@pxe ~]#
Ahora puede desmontar el archivo iso usando el comando 'umount'
[root@pxe ~]# umount /mnt/ [root@pxe ~]#
Paso: 5 Crea el archivo de menú kickStart & PXE.
Antes de crear el archivo kickstart, primero creemos la contraseña de root en una cadena cifrada porque usaremos esa cadena de contraseña cifrada en el archivo kickstart.
[root@pxe ~]# openssl passwd -1 Pxe@123# $1$e2wrcGGX$tZPQKPsXVhNmbiGg53MN41 [root@pxe ~]#
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 '
Copia el siguiente contenido en el nuevo archivo kickstart. Por favor modifique el archivo kickstart según sus necesidades.
[root@pxe ~]# 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.
[root@pxe ~]# 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 Inicia y habilita los servicios xinetd, dhcp y vsftpd.
Use los siguientes comandos para iniciar y habilitar xinetd, dhcp y vsftpd.
[root@pxe ~]# systemctl start xinetd [root@pxe ~]# systemctl enable xinetd [root@pxe ~]# systemctl start dhcpd.service [root@pxe ~]# systemctl enable dhcpd.service Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service. [root@pxe ~]# [root@pxe ~]# systemctl start vsftpd [root@pxe ~]# systemctl enable vsftpd Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service. [root@pxe ~]#
En caso de que SELinux esté habilitado, configure la siguiente regla de selinux para el servidor ftp.
[root@pxe ~]# setsebool -P allow_ftpd_full_access 1 [root@pxe ~]#
Abra los puertos en el firewall del sistema operativo usando los siguientes comandos firewall-cmd
[root@pxe ~]# firewall-cmd --add-service=ftp --permanent success [root@pxe ~]# firewall-cmd --add-service=dhcp --permanent success [root@pxe ~]# firewall-cmd --add-port=69/tcp --permanent success [root@pxe ~]# firewall-cmd --add-port=69/udp --permanent success [root@pxe ~]# firewall-cmd --add-port=4011/udp --permanent success [root@pxe ~]# firewall-cmd --reload success [root@pxe ~]#
Hasta este punto, la instalación y configuración del servidor PXE se ha completado ahora.
Paso: 7 Arranca los clientes con la opción de arranque pxe.
Como se puede ver arriba, la instalación se ha iniciado con cualquier interacción humana. Espero que disfrutes de la instalación y configuración del servidor PXE. Por favor comparta sus comentarios y comentarios
-
Internet
- La muerte lenta del hipervínculo
- Cómo cambiar dirección IP (modo gráfico), por qué querría hacerlo y cuándo no debería hacerlo
- 10 comandos "IP" útiles para configurar interfaces de red
- Cómo configurar conexiones IP de red usando 'nmcli' en Linux
- Configuración de una IP Estática en una Tarjeta de Red en Linux.
- ¿Migrar a la nube? Marque esta lista de verificación
- Nuevo estándar de Internet L4S: el plan silencioso para hacer que Internet se sienta más rápido
- Nextcloud y Roundcube se Fusionan para Impulsar la Descentralización en la Productividad en la Nube
- Los 10 mejores servidores proxy inversos de código abierto para Linux
- Una guía para principiantes para crear conexiones (Bonding) y puentes de red (Bridging) en Linux
- Conectar dos redes Locales alejadas creando de un Puente Transparente
- Crear un puente de red transparente "bridge" para conectar dos redes locales remotas
- Crear un Puente de Red o Bridge
- La propuesta de la ICANN / Verisign permitiría a cualquier gobierno confiscar nombres de dominio
- Listado errores HTTP, estados de respuesta del servidor