Configuración de máquinas con s.o. Linux con arranque de
red mediante protocolo bootp.
Para poder configurar un ordenador en red usando bootp, es necesario
haber comunicado en debida forma el número "hardware" de la placa
Ethernet al Servicio de Informática y que el ordenador este debidamente
registrado.
La configuración del protocolo bootp en ordenadores con
sistema operativo Linux, requiere la instalación de:
-
El programa de cliente bootp: bootpc
-
El script de shell necesario para el arranque: rc.bootp
Estas configuraciones funcionan correctamente en las distribuciones con
kernel de linux 2.0.0 o superior y con alguna modificación en las
anteriores. Se puede averiguar la versión del sistema con el comando
uname
-r
El programa bootpc
El programa bootpc puede ya estar instalado en el sistema dependiendo de
la distribución de Linux que se este utilizando. Para saber si ya
esta disponible, basta ejecutar, como root, el comando which
bootpc que nos devolverá la ubicación en el sistema
de ficheros del programa o nos indicará que no lo encuentra. En
este último caso, será necesaria su instalación. El
programa puede obtenerse de los modos siguientes:
Para probar el funcionamiento del bootp, ejecutar:
bootpc --dev eth0 --server 255.255.255.255
(bootpc --dev eth0 --server 145.156.1.1 para versiones de kernel anteriores
a la 2.0.0)
(bootpc --dev eth0 --serverbcast para versiones de kernel superiores
a la 2.1.0 y con bootpc versión 0.64 o superior)
Este comando debe devolver distintas variables:
SERVER='xxx.xxx.xxx.xxx'
IPADDR='yyy.yyy.yyy.yyy'
BOOTFILE=''
NETMASK='255.255.zzz.zzz'
NETWORK='147.156.0.0'
BROADCAST='147.156.aaa.aaa'
GATEWAYS_1='147.156.bbb.bbb'
GATEWAYS='147.156.bbb.bbb'
DNSSRVS_1='147.156.1.1'
DNSSRVS_2='147.156.1.3'
DNSSRVS_3='147.156.122.64'
DNSSRVS='147.156.1.1 147.156.1.3 147.156.122.64'
TIMESRVS_1='147.156.1.3'
TIMESRVS='147.156.1.3'
HOSTNAME='cccccccc'
DOMAIN='uv.es'
SEARCH='uv.es'
dónde es importante fijarse que yyy.yyy.yyy.yyy debe corresponder
a la dirección IP del ordenador y cccccccc debe ser el nombre del
mismo.
Una vez obtenido el bootpc y probado, conviene copiarlo o instalarlo
en /usr/local/etc y darle los permisos de ejecución necesarios (chmod
755 /usr/local/etc/bootpc por ejemplo).
El script rc.bootp
El script de shell rc.bootp es el que va a llamar al programa bootpc
para obtener los parámetros de configuración de la red y
pasarlos a los programas necesarios para el arranque de la red. Se puede
obtener una copia del script en:
ftp://ftp.uv.es/pub/unix/BOOTPC_LINUX/rc.bootp
o en la distribución de las fuentes del bootpc. Existen pocas
modificaciones a realizar en el script. Sólo recordar que las variables
que apuntan a los ejecutables esten correctamente definidas: BOOTPC,
IFCONFIG,
ROUTE, BINHOST y recordar que es conveniente definir FORCEFQDN='n'.
Si se ejecuta en un ordenador con un kernel superior al 2.1.0, recordad
añadir la opción --serverbcast en la llamada al bootpc.
Sólo en el caso de versiones de kernel de Linux anteriores a
la 2.0 conviene definir la variable ASKSERVER="147.156.1.1". En
los demás casos dejarla con ASKSERVER="255.255.255.255"
La ubicación de rc.bootp y el nombre depende de la distribución
de Linux que se tenga instalada.
En Slackware:
-
Renombrar /etc/rc.d/rc.inet1 a /etc/rc.d/rc.inet1.org
-
Copiar rc.bootp como /etc/rc.d/rc.inet1
-
Rearrancar el sistema y comprobar que la red funciona correctamente.
En Debian:
-
Renombrar /etc/init.d/network a /etc/init.d/network.org
-
Copiar rc.bootp como /etc/init.d/network
-
Rearrancar el sistema y comprobar que la red funciona correctamente.
En RedHat 6.1 o Mandrake 7.x:
-
En estas revisiones existe un problema que provoca que el proceso "pump"
que gestiona el bootp/dhcp se quede rodando y pregunte sin parar
al servidor. Es necesario parar el "pump" al final del arranque.
-
Para ello, editar /etc/rc.d/rc.local y añadir killall -9
pump al final.
En portatiles con PCMCIA:
-
El script que se ejecuta para configurar la red se encuentra en el directorio
de gestión de la PCMCIA (usualmente /etc/pcmcia/network). Si se
trata de un kernel igual o superior a la 2.1.0, recordad añadir
la opción --serverbcast
Para cualquier aclaración o problema, por favor, contactar con hostmaster@uv.es