Mostrar mensagens com a etiqueta pxe. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta pxe. Mostrar todas as mensagens

domingo, 23 de junho de 2013

PXE Boot Server

Criar um servidor de imagens PXE com Debian Wheezy

Iniciando com uma máquina Debian já instalada é preciso:

  1. Instalar o TFTP e DHCP
  2. Configurar o TFTP e DHCP
  3. Criar uma imagem PXE
O servidor DHCP escolhido é o isc-dhcp-server e o servidor TFTP é o tftpd-hpa.
A interface onde vai funcionar o servidor DHCP tem de estar já configurada e ter um IP estático (não pode haver dois servidores DHCP no mesmo segmento de rede).

1. Instalar o TFTP e DHCP


Como de costume com Debian, a instalação é muito simples, a configuração é que é complicada.

aptitude install isc-dhcp-server tftpd-hpa

2. Configurar o TFTP e o DHCP


nano /etc/default/tftpd-hpa


TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

nano /etc/default/isc-dhcp-server

INTERFACES="eth1"

nano /etc/dhcp/dhcpd.conf

allow booting;
allow bootp;
authoritative;
subnet 10.0.0.0 netmask 255.255.255.0 {
        range dynamic-bootp 10.0.0.20 10.0.0.100;
        option routers 10.0.0.254;
        option broadcast-address 10.0.0.255;
        option domain-name-servers 208.67.222.222;
        allow unknown-clients;
        next-server 10.0.0.254;
        filename "pxelinux.0";
}

Reiniciar os serviços:

service tftpd-hpa restart
service isc-dhcp-server restart

3. Criar uma imagem PXE

aptitude install debootstrap nfs-kernel-server
mkdir /srv/tftp/pxeroot
debootstrap wheezy /srv/tftp/pxeroot
cd /srv/tftp/pxeroot
nano etc/network/interfaces
auto loiface lo inet loopbackauto eth0iface eth0 inet dhcp
nano etc/fstab
/dev/ram0  /       ext2   defaults    0   0proc       /proc      proc   defaults    0   1tmpfs      /tmp       tmpfs  defaults    0   1
chroot /srv/tftp/pxeroot

aptitude install linux-image-486
aptitude install partimage
aptitude install locales
dpkg-reconfigure locales
adduser root
adduser user
aptitude install xorg icewm slim
exit

cd /srv/tftp
wget http://ftp.debian.org/debian/dists/wheezy/main/installer-i386/current/images/netboot/pxelinux.0
cp pxeroot/vmlinuz ./
cp pxeroot/initrd.img ./
mkdir pxelinux.cfg
nano pxelinux.cfg/default

default menu.c32prompt 0timeout 300ONTIMEOUT local
MENU TITLE Welcome to PXE
LABEL Debian Wheezy x86 MENU LABEL Debian Wheezy x86 KERNEL images/deb-installer/linux APPEND initrd=images/deb-installer/initrd.gz
LABEL linux    kernel pxeroot/vmlinuz    append vga=normal initrd=pxeroot/boot/initrd.img-3.2.0-4-486 ramdisk_size=14332 root=/dev/nfs nfsroot=10.0.0.254:/srv/tftp/pxeroot rw --
nano /etc/exports
/srv/tftp/pxeroot    10.0.0.0/255.255.255.0(rw,sync,no_root_squash,no_subtree_check)
service nfs-kernel-server restart

sexta-feira, 27 de julho de 2012

Instalar o Debian por PXE

Instalar o Debian por PXE

A documentação do Debian, mas por vezes está um pouco desatualizada, como é o caso, por isso aqui fica um guião para instalar o Debian 6 por PXE.
Para instalar por PXE é preciso:


  1. Que o cliente esteja definido para arrancar por rede
  2. Um servidor de PXE com:
    1. Servidor DHCP corretamente configurado
    2. Servidor TFTP corretamente configurado
    3. Os ficheiro de arranque do Debian colocados no sítio certo.


1. Definir o arranque por rede

É preciso aceder à configuração da BIOS e definir o arranque por rede (ou PXE, ou LAN, ou ...). às vezes é mais complicado que que parece. Em algumas motherboards é preciso ativar a placa de rede e ou o arranque por PXE e depois reiniciar e voltar a entrar nas configurações da BIOS e só então aparece o arranque por LAN como opção de arranque. Caso o equipamento não suporte mesmo  arranque por LAN, ainda assim é possível criar uma disquete com o http://rom-o-matic.net/ (o guião fica para outro dia).


2. Servidor PXE

Para fazer o arranque por PXE é necessário configurar os serviços de DHCP e TFTP (há outras opções, usando BOOTP ou RARP, mas DHCP+TFTP é o mais simples e eficaz). Não é necessário que os dois serviços estejam na mesma máquina, nem que sejam linux, mas é mais fácil se estiverem. Aqui vou usar o próprio Debian 6 para fazer um servidor de PXE.

2.1. Instalar e configurar o DHCP

O pacote recomendado é o isc-dhcp-server:
apt-get install isc-dhcp-server
A configuração é feita no ficheiro /etc/dhcp/dhcpd.conf.
Coloquei o seguinte conteúdo:

ddns-update-style none;


option domain-name "lan";
option domain-name-servers 208.67.222.222, 208.67.220.220;
option subnet-mask 255.255.255.0;
default-lease-time 600;
max-lease-time 7200;
server-name "pxeserver";
allow booting;
allow bootp;
authoritative;



subnet 192.168.13.0 netmask 255.255.255.0 {
  range 192.168.13.20 192.168.13.100;
  option routers 192.168.13.254;
  option broadcast-address 192.168.13.255;
  option domain-name-servers 208.67.222.222;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
}

group {
  host tftpclient {
    hardware ethernet 08:00:27:FA:3B:A2;
    filename "/pxelinux.0";
  }
}

2.2. Servidor TFTP corretamente configurado

O servidor de TFTP é o tftpd-hpa, embora haja outros.
apt-get install tftpd-hpa
E em princípio não é preciso mais nada. O TFTP deve ficar instalado e a funcionar. A diretoria que vai usar é a /srv/tftp. Portanto os ficheiros deve ser aí colocados.

2.3. Colocar os ficheiro de arranque do Debian

O CD de arranque do Debian contém um ficheiro netboot/netboot.tar.gz. Apenas é preciso descompactar este ficheiro na diretoria do TFTP (/srv/tftp).
Referências
http://www.debian.org/releases/stable/i386/ch04s05.html.pt
http://wiki.debian.org/DHCP_Server
http://http.us.debian.org/debian/dists/squeeze/main/installer-i386/current/images/netboot/