JanelasMacSoftwareConfiguraçõesSegurançaProdutividadeLinuxAndroidDesempenhoConfiguraçãoApple Tudo

Como configurar um servidor de boot PXE no Linux

Editado 1 dia atrás por ExtremeHow Equipe Editorial

Inicialização de RedePXEConfiguração do ServidorImplantaçãoConfiguraçãoSysAdminTFTPLinha de comandoInstalaçãoImagem

Como configurar um servidor de boot PXE no Linux

Tradução atualizada 1 dia atrás

Neste guia, aprenderemos como configurar um servidor de boot PXE (Preboot Execution Environment) em uma máquina Linux. Este processo permite que um computador inicialize usando uma imagem fornecida pela rede em vez do armazenamento local. O PXE é útil para administradores de sistemas que precisam implantar sistemas operacionais ou software em várias máquinas em uma rede.

1. Introdução ao boot PXE

PXE, que significa Preboot Execution Environment, permite que um computador inicialize através de uma interface de rede, independentemente do dispositivo de armazenamento de dados disponível ou do sistema operacional instalado. É uma grande ajuda na automação da implantação de servidores e pode ser usado para instalação em rede de SO Linux e outros sistemas operacionais.

Essencialmente, o PXE consiste em dois componentes principais:

Com um servidor de boot PXE, você pode instalar sistemas operacionais em várias máquinas de forma rápida e eficiente a partir de um local centralizado.

2. Requisitos

Para configurar um servidor de boot PXE no Linux, você precisará dos seguintes componentes:

3. Configurando um servidor DHCP

O servidor DHCP atribui um endereço IP aos clientes PXE e informa qual é o próximo servidor a ser contatado para o processo de boot.

Instale o servidor DHCP usando o gerenciador de pacotes. Se você estiver usando uma distribuição como Ubuntu ou Debian, o comando será assim:

sudo apt-get install isc-dhcp-server

Após a instalação, comece editando o arquivo de configuração do servidor DHCP, que geralmente está localizado em /etc/dhcp/dhcpd.conf. Você precisará configurá-lo para especificar o endereço IP do cliente PXE, máscara de sub-rede e detalhes do arquivo de carregador de boot.

Abaixo está um trecho básico de configuração:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.100;
    option routers 192.168.1.1;
    filename "pxelinux.0";
    next-server 192.168.1.5; # Endereço IP do seu Servidor PXE
    option broadcast-address 192.168.1.255;
}

Uma vez configurado, reinicie o serviço DHCP para aplicar as alterações:

sudo systemctl restart isc-dhcp-server

Certifique-se de que o servidor DHCP inicie na inicialização:

sudo systemctl enable isc-dhcp-server

4. Instalando o servidor TFTP

O servidor TFTP (Trivial File Transfer Protocol) entrega o carregador de boot para o cliente PXE. Instale-o usando o seguinte comando:

sudo apt-get install tftpd-hpa

Edite o arquivo de configuração do TFTP em /etc/default/tftpd-hpa para garantir que esteja configurado corretamente para servir seus arquivos de boot:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Certifique-se de que o diretório especificado (por padrão /var/lib/tftpboot) seja criado e possa ser acessado. Reinicie e habilite o serviço TFTP:

sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa

5. Configurando o carregador de boot

SYSLINUX fornece um carregador de boot PXE chamado pxelinux. Primeiro, instale o syslinux se ainda não estiver instalado:

sudo apt-get install syslinux-common

Copie os arquivos necessários para o diretório tftpboot:

sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg

Para fornecer um menu de boot, você deve criar um arquivo de configuração em /var/lib/tftpboot/pxelinux.cfg. Crie um arquivo chamado default:

DEFAULT menu.c32
PROMPT 0
TIMEOUT 50
ONTIMEOUT local
LABEL linux
    MENU LABEL ^Instalar Linux
    KERNEL vmlinuz
    APPEND initrd=initrd.img

Esta configuração oferece um menu de boot para selecionar uma imagem inicializável em rede, como Linux.

6. Preparar o kernel de boot e initrd

Copie os arquivos de kernel e initrd da sua mídia de instalação Linux para o diretório /var/lib/tftpboot:

sudo cp /path-to-linux-iso/vmlinuz /var/lib/tftpboot/
sudo cp /path-to-linux-iso/initrd.img /var/lib/tftpboot/

Certifique-se de que as permissões estão corretas:

sudo chmod 644 /var/lib/tftpboot/*

7. Configurando NFS ou HTTP

Você deve hospedar os arquivos de instalação reais usando NFS ou HTTP. Cada método é apropriado dependendo dos requisitos da sua rede.

Para NFS:

Instale o servidor NFS:

sudo apt-get install nfs-kernel-server

Edite o arquivo de exportação /etc/exports para incluir o diretório que contém seus arquivos de instalação:

/path-to-your-linux-files 192.168.1.0/24(ro,sync,no_root_squash)

Reinicie os serviços NFS:

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Para HTTP:

Instale um servidor HTTP como o Apache:

sudo apt-get install apache2

Vincule sua mídia de instalação a um diretório acessível via web:

sudo ln -s /path-to-your-linux-files /var/www/html/linux

Reinicie o Apache:

sudo systemctl restart apache2

Certifique-se de que seu firewall permite portas NFS/HTTP:

sudo ufw allow 2049
sudo ufw allow 80

8. Inicializar seus clientes PXE

Por fim, configure seu cliente para inicializar a partir da rede. Você geralmente define isso nas configurações de firmware BIOS ou UEFI. Uma vez que o cliente PXE inicializa, ele se conectará à sua rede e obterá um IP do servidor DHCP. Em seguida, ele carrega o arquivo do carregador de boot do seu servidor TFTP e inicia o processo de instalação usando os arquivos fornecidos por NFS/HTTP.

Seguindo os passos acima, você terá configurado com sucesso um servidor de boot PXE que suas máquinas na rede podem usar para carregar sistemas operacionais via rede.

Se você encontrar algo errado com o conteúdo do artigo, você pode


Comentários