PXE Server

O blog está passando por uma reformulação geral nesse mês de dezembro de 2015 e hoje foi a vez desse post aqui, escrito originalmente em 30 de maio de 2013. Apos revisar e alterar alguns detalhes gravei um video indicando como tudo foi configurado em detalhes e disponibilizei no canal do youtube.

PXE(Preboot eXecution Environment) é um padrão de boot remoto desenvolvido pela intel que em resumo permite a placa de rede carregar todo software que for necessário a partir de um servidor previamente configurado na mesma rede. Foi através do PXE que estações sem disco rígido ou cd-rom tiveram seu devido espaço alguns anos atrás.

Esse post tem o intuito de demonstrar como fazer uma instalação do Ubuntu remotamente ou se preferir, pode usar qualquer outra distribuição. Vamos precisar de um DHCP Server e um TFTP Server. O DHCP garante que vamos entregar o endereço IP junto a um indicativo de quem é o PXE Server da rede local. Caso já tenha um DHCP Server na sua rede e consiga indicar o servidor TFTP como PXE Server também está valendo.


Configurando o DHCP Server:

Edite o arquivo /etc/dhcp/dhcpd.conf e acrescente na configuração: filename "pxelinux.0"
subnet 10.0.2.0 netmask 255.255.255.0 {
option domain-name-server 8.8.8.8;
option routers 10.0.2.4;
range 10.0.2.5 10.0.2.10;

filename "pxelinux.0";
}
Apos alterar o arquivo dhcpd.conf reinicie o serviço.
sudo /etc/init.d/isc-dhcp-server restart


Instalando e configurando o TFTP Server:

Para instalar o TFTPD execute o comando conforme indicado abaixo,
sudo apt-get install inetutils-inetd tftpd-hpa
Após instalar é necessario editar o arquivo de configuração
sudo vim /etc/default/tftpd-hpa
e adicionar
RUN_DAEMON="yes" 
feito esse rápido ajuste, reinicie o serviço
sudo /etc/init.d/tftpd-hpa restart

Para testar o nosso recem configurado PXE Server, utilizei uma ISO do Ubuntu de nome mini.iso, que pode ser baixado através da url: http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/

Copie todo conteúdo da ISO para dentro da pasta /var/lib/tftpboot/. Feito isso baixe também o arquivo chamado pxelinux.0. Quando todos esses arquivos estiverem dentro da pasta do tftpboot então crie o arquivo base configuração do PXE.
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
Escreva dentro do arquivo default o seguinte: 
include menu.cfg
default vesamenu.c32
prompt 0
timeout 0
Feito isso, reinicie outra vez o TFTPD Server

sudo /etc/init.d/tftpd-hpa restart
Ok, vá até a maquina cliente PXE e dê boot nela. Tão logo ela iniciar vai encontrar seu DHCP Server que vai então indicar o PXE Server e a instalação vai começar. Acompanhe todo esse processo no video que está no canal do youtube.

Imagem meramente ilustrativa

Imagem meramente ilustrativa

Imagem meramente ilustrativa

Da tela do idioma em diante a instalação é idêntica, como se estivéssemos fazendo via mídia ou pendrive.

Obs: Caso opte por uma instalação offline dos serviços DHCP e TFTP, vai precisar dos pacotes descritos na imagem abaixo. Com exceção aos pacotes do VIM, porque correspondem a um editor de texto de minha preferencia. Lembro também que esta imagem é original do post, ou seja é uma imagem do dia 30/05/13, é possível ter essa noção pelos belos ícones do OSX daquela época, hoje francamente.


2 comentários:

  1. Valeu Pedro pelo compartilhamento do seu conhecimento... Obrigado!
    att. Laerson Lima/ctba
    p.s.: é vou ter que instalar o ubunto aqui... o LInux é demais!!!

    ResponderExcluir
  2. Obrigado Laerson! Fico feliz em conseguir ajudar.

    ResponderExcluir