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 |
- Comeza o proceso de instalación de Debian correctamente
- Problema: Non temos acceso a Internet.
- Solución: Temos que facer que o servidor PXE enrute a eth1 a eth0 para que así a rede interna teña acceso a Internet.