Editado 1 dia atrás por ExtremeHow Equipe Editorial
Inicialização de RedePXEConfiguração do ServidorImplantaçãoConfiguraçãoSysAdminTFTPLinha de comandoInstalaçãoImagem
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.
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.
Para configurar um servidor de boot PXE no Linux, você precisará dos seguintes componentes:
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
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
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.
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/*
Você deve hospedar os arquivos de instalação reais usando NFS ou HTTP. Cada método é apropriado dependendo dos requisitos da sua rede.
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
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
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