RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"
Ahora arrancamos el servicio tftp con:
sudo /etc/init.d/tftpd-hpa start
Comprobamos que está funcionando con:
netstat -lu
Que debe mostrar, entre otras, una línea como:
udp 0 0 *:tftp *:*
cat /etc/default/isc-dhcp-server
# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
# This is a POSIX shell fragment
#
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES=""
< >
root@servidor:/etc# cat /etc/dhcp/dhcpd.conf
ldap-server "ldap";
ldap-port 389;
ldap-base-dn "dc=instituto,dc=extremadura,dc=es";
ldap-dhcp-server-cn "ldap";
ldap-method dynamic;
ddns-update-style none;
Como vemos, la configuracion de dhcpd.conf apunta a un servidor ldap, ya que la tengo allí guardada siguiendo las directrices de DebianEdu.
En el servidor ldap hay que indicarle los parámetros necesarios para los arranques PXE, mediante phpldapadmin vamos al nodo DHCPConfig->Internal->group1 y añadimos estos atributos:
dhcpStatements
next-server <ip-o-nombre-servidor-tftp>
filename "pxelinux.0"
He aquí una captura de pantalla de como queda el nodo:
Nota: tal donde está definido en la imagen anterior, el servicio TFTP sólo funcionará con equipos cuya configuración de red esté definida en la rama DHCPConfig->Internal->group1 (en nuestro caso, equipos que tienen IP fija en la red del centro). Si queremos que afecte a otro grupo de equipos habría que crear el atributo en la correspondiente rama.
# TFPT server for PXE boot
next-server <ip-o-nombre-servidor-tftp>;
filename "pxelinux.0";
que quedaría, por ejemplo, así:
option domain-name-servers 62.31.64.39, 62.31.112.39;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.70 192.168.1.100;
filename "pxelinux.0";
next-server 192.168.1.50;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
}
3. Configuración del entorno PXE. En /var/lib/tftpboot (si no existe, lo creamos previamente) pondremos los ficheros y directorios necesarios para el arranque por PXE. Los mínimos son:
├── bg.png
├── chain.c32
├── disks
│ └── memdisk
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│ └── default
└── vesamenu.c32
De estos ficheros, chain.c32, menu.c32, vesamenu.c32, memdisk y pxelinux.0 se obtienen del paquete syslinux-common, concretamente del directorio /usr/lib/syslinux/ creado durante su instalación. Todos estos ficheros contienen los programas básicos para mostrar un menú y arrancar diversos sistemas operativos por red. El fichero bg.png es simplemente un fondo para el menú de arranque de 640x480 pixels, podemos usar cualquiera que queramos.
El fichero pxelinux.cfg/default es la definición menú de arranque en si mismo. Por tanto, creamos los directorios, ponemos cada fichero en su sitio y creamos el fichero pxelinux.cfg/default con este contenido:
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 100
TOTALTIMEOUT 3000
ONTIMEOUT bootfromdisk
#MENU HIDDEN Solo muestra la cuenta atrás, si se pulsa una tecla aparece el menú.
# Menu Configuration
MENU WIDTH 80
MENU MARGIN 10
MENU PASSWORDMARGIN 3
MENU ROWS 15
MENU TABMSGROW 20
MENU CMDLINEROW 20
MENU ENDROW 24
MENU PASSWORDROW 20
MENU TIMEOUTROW 24
MENU TITLE Menu de Arranque de Sistema
MENU MASTER PASSWD $1$14DzWOrr$SPjIdHevOHioR7MQ7IzAj/
MENU PASSPROMPT Introduzca Password:
MENU BACKGROUND bg.png
MENU COLOR TITLE 1;36;44 #c00090f0 #00000000 std
NOESCAPE 1
ALLOWOPTIONS 0
LABEL bootfromdisk
MENU DEFAULT
MENU LABEL Arranque desde Disco duro
localboot 0
MENU BEGIN
MENU TITLE Herramientas Sysadmin
MENU PASSWD
LABEL freedos
MENU LABEL Freedos (con memtest)
kernel disks/memdisk
append initrd=disks/freedos.img floppy keeppxe
LABEL anterior
MENU LABEL Volver
MENU EXIT
MENU END
El fichero tiene el aspecto de un menú syslinux.cfg que se usa frecuentemente en los disquetes y CD de arranque de Linux, donde se define la estética del menú, el timeout para seleccionar una opción, la opción por defecto, una contraseña para acceder a determinadas opciones de acceso restringido(generada con /usr/bin/md5pass, programa que se instala con el paquete syslinux) y las opciones en si mismas.
Nuestro menú quedará:
├── Arranque desde disco duro
└── Herramientas Sysadmin (protegido el acceso con contraseña)
├── Freedos (con memtest)
└── Volver
Una vez definido el menú, para probar si todo funciona simplemente arrancamos un cliente que tenga activo el PXE y tras la carga del sistema debería aparecer con las opciones descritas:
- Continuar el arranque con el sistema operativo contenido en el disco duro.
- Herramientas sysadmin (hay que entrar una contraseña para acceder) :
- Ejecutar el disco de Freedos con Memtest, que carga un entorno MS-DOS desde donde podemos hacer chequeo de los módulos de memoria RAM del PC. Esto es simplemente por poner algo que sirva para probar que funciona bien el sistema.
- Volver al menú anterior.
No hay comentarios:
Publicar un comentario