Instalación e Configuración dun Servidor PXE: Diferenzas entre revisións

De Wiki do Ciclo ASIR do IES de Rodeira
Saltar á navegación Saltar á procura
Liña 183: Liña 183:
<TABLE ALIGN="RIGHT" BORDER CELLSPACING="0" CELLPADDING="0">
<TABLE ALIGN="RIGHT" BORDER CELLSPACING="0" CELLPADDING="0">
<TR ALIGN="CENTER">
<TR ALIGN="CENTER">
<TD>[[File:comprobamos1.png|center]]</TD>
<TD>[[File:comprobamos1.png|center|upright=0.5]]</TD>
<TD>[[File:comprobamos2.png|center]]</TD>
<TD>[[File:comprobamos2.png|center|upright=0.5]]</TD>
</TR>
</TR>
<TR ALIGN="CENTER">
<TR ALIGN="CENTER">

Revisión como estaba o 14 de marzo de 2016 ás 21:23

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

  1. No equipo cliente escollemos arrancar por PXE
  2. O Cliente PXE busca un servidor DHCP na rede
  3. Unha vez localizado, o servidor asignalle á máquina cliente unha IP, netmask, gw
  4. Mediante o protocolo TFTP o servidor envía á máquina cliente o SO
  5. 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

Pxe1.png
  1. O cliente envía por broadcast unha menaxe DHCPDISCOVER
  2. O Servidor DHCP responde coa IP, next-server, filename
  3. O Cliente solicita unha petición TFTP a next-server solicitando filename.
  4. 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
  • Está conectada a rede NAT
  • IP: 10.0.2.15
  • Netmask:255.255.255.0
  • GW:10.0.2.2
  • Está conectada a rede interna (intnet)
  • IP: 172.20.4.100
  • Netmask:255.255.0.0
  • 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.

Port forwarding1.png
Port forwarding2.png

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
Comprobamos1.png
Comprobamos2.png

Como deixamos host IP baleiro, calquera máquina que se conecte o porto 2222 da nosa máquina comunicarase coa MV