Instalación e Configuración dun Servidor PXE
Introducción
Un Servidor PXE (Preboot eXecution Environment), permite a un equipo cliente arrancar un SO a travé da rede. Isto pode ser útil nos seguintes casos:
- O equipo cliente non ten unidade de CD e queremos arrancar dende un CD-Live.
 - O equipo cliente non ten disco duro e queremos que colla o SO dende a rede
 - Ter diferentes utilidades, como memtest ou antivirus, preparadas para ser executadas sobre un equipo independentemente do que teña instalado.
 
Funcionamento
- No equipo cliente escollemos arrancar por PXE
 - O Cliente PXE busca un servidor DHCP na rede
 - Unha vez localizado, o servidor asignalle á máquina cliente unha IP, netmask, gw
 - Mediante o protocolo TFTP o servidor envía á máquina cliente o SO
 - O cliente co que lle manda o servidor é capaz de arrancar un minisistema na RAM.
 
Para instalar un Servidor PXE precisamos instalar:
- Servidor DHCP
 - Servidor TFTP
 
Proceso de arranque do Servidor PXE en Detalle
- O cliente envía por broadcast unha menaxe DHCPDISCOVER
 - O Servidor DHCP responde coa IP, next-server, filename
 - O Cliente solicita unha petición TFTP a next-server solicitando filename.
 - O Servidor TFTP responde e envía o filename o cliente.
 
Configuracións de Rede Iniciais
- Empregaremos Virtualbox para simular ambos equipos.
 - O Servidor terá instalado un sistema Debian Jessie actualizado
 - O Servidor terá dúas tarxetas de rede, A configuración da rede do servidor será
 
| Conexión de Área Local 1 | Conexión de Área Local 2 | 
  | 
  
  | 
- A rede interna intnet, non proporciona DHCP.
 - Se arrancamos unha 2º MV conectada a intnet co SystemRescueCd e lle asignamos unha ip compatible
 
ifconfig enp0s3 172.20.4.1 netmask 255.255.0.0
- Veremos que ten rede co servidor
 
ping 172.20.4.100
Acceso dende o equipo real á MV con NAT
A 1º tarxeta de rede da MV está configurada por NAT, polo que non podemos comunicar o equipo real coa MV.
Para facelo podemos empregar redireccionamento de portos (port forwarding). Redireccionaremos o porto TCP/2222 da máquina real o porto TCP/22 (SSH) da máquina virtual.
| 
 Como deixamos host IP baleiro, calquera máquina que se conecte o porto 2222 da nosa máquina comunicarase coa MV  | 
Na máquina real comprobamos que temos o porto aberto
root@debianRojas:/home/rojas# netstat -nap | grep 2222 
tcp        0      0 0.0.0.0:2222            0.0.0.0:*               LISTEN      9967/VirtualBox
Para que a configuración sexa efectiva é preciso apagar a máquina e o virtualbox. Logo reiniciamos a máquina.
Na nosa máquina temos que instalar un servidor ssh
apt-get install ssh
E permitir o acceso ssh do root
/etc/ssh/sshd_config 
PermitRootLogin yes
Conectámonos dende o equipo real
ssh -p 2222 root@127.0.0.1
Instalación do Servidor PXE
Instalamos un servidor dhcp
- Instalamos o paquete necesario
 
apt-get install isc-dhcp-server
- Modificamos os arquivos de configuración correspondentes
 
/etc/default/isc-dhcp-server
INTERFACES=”eth1”
/etc/dhcp/dhcpd.conf
# Ocomentamos para que non espere un timeout
#option domain-name "example.org"; 
#option domain-name-servers ns1.example.org, ns2.example.org;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;    # O descomentamos
# Definimos un rango de direccións a asignar entre 10 e 20.
subnet 172.20.0.0 netmask 255.255.0.0 {
        range 172.20.2.10 172.20.2.20;
	 # Servidor PXE
	 next-server 172.20.4.100;
	 filename “pxelinux.0”;
        }
- Iniciamos o Servicio DHCP
 
	
	/etc/init.d/isc-dhcp-server restart
- Arrancamos o cliente co SRCD e colle a IP 172.20.2.10
 
Instalando o servidor tftp
	
apt-get install tfptd-hpa
- O seu arquivo de configuración é
 
	
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
- Iniciamos o servidor
 
	
/etc/init.d/tftpd-hpa start
- Os directorio onde serviremos as imaxes de arranque é /srv/tfp
 - Descargamos a imaxe de instalación de Debian strecth 64 bits para arrancar pola rede
 
	
cd /srv/tftp
wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar xzf netboot.tar.gz
- Aparecen as seguines carpetas e arquivos
 
	
debian-installer  ldlinux.c32  pxelinux.0  pxelinux.cfg  version.info
- O seu significado é o seguinte:
- debian-installer: Contén o núcleo do sistema
 - pxelinux.0: É o cargador de arranque a través da rede, forma parte do proxecto syslinux
 - pxelinux.cfg/default: É o arquivo de configuración de pxelinux, onde lle indica que kernel arrancar. Posteriormente empregaremos este arquivo para crear menús.
 
 
Comprobamos
- Iniciamos a máquina cliente coa súa tarxeta configurada na rede interna e arrancamos
 
| 
 Como deixamos host IP baleiro, calquera máquina que se conecte o porto 2222 da nosa máquina comunicarase coa MV  | 




