¿Cómo configurar Cobbler con PXE si no puede cambiar el servidor dhcp?

16

En el pasado, configuré un servidor PXE varias veces haciendo que el servidor dhcp normal devolviera todo lo necesario para el arranque de la red: tanto la configuración de IP normal como la información de arranque en una sola configuración de dhcp. De esa manera es fácil de hacer .

De acuerdo con la documentación que lo he leído ( wikipedia tiene un buen resumen ) debería ser posible tener un servidor dhcp no modificado (por ejemplo, si el administrador en su ubicación niega el acceso) y un servidor separado que SOLAMENTE devuelve la información de arranque. Esto generalmente se llama el "servidor PXE" o el servidor "Proxy DHCP". En el pasado, he visto (no usado) este servidor pxe (la última versión fue hace 5 años).

Ayer instalé Cobbler para ver qué hace realmente. Ahora me gustaría usarlo (me encanta la facilidad de uso), pero modificar el servidor dhcpd 'principal' para obtener PXE no es una opción.

No he podido encontrar ninguna documentación sobre cómo puedo hacer que cobbler se ejecute usando un servidor PXE real (== proxy dhcp).

¿Se puede hacer esto con zapatero?

¿Puedo configurar el servidor isc dhcp para que se comporte como un servidor PXE (es decir, NO hay información de IP, solo información de arranque)?

¿O debería optar por un enfoque completamente diferente (si es así, cuál es su sugerencia)?

Gracias


Nuevo descubrimiento que acabo de hacer: El registro de cambios para dnsmasq versión 2.4.8 dice:

"Proxy-DHCP, donde dnsmasq solo proporciona la información PXE y otro servidor DHCP se ocupa de la asignación, también está permitido".

MUY INTERESANTE. Especialmente porque el zapatero ya puede controlar dnsmasq.


Actualizar:

dnsmasq 2.51 admitirá esta configuración que hace completamente el truco que quería.

Mi /etc/cobbler/dnsmasq.template ahora se ve así:

# Cobbler generated configuration file for dnsmasq
# $date
#

# resolve.conf .. ?
#no-poll
#enable-dbus
read-ethers
addn-hosts = /var/lib/cobbler/cobbler_hosts

# Be a proxyDHCP server
dhcp-range=10.10.0.0,proxy

# Only respond to clients that are known (i.e present in /etc/ethers)
dhcp-ignore=#known

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
expand-hosts
domain=test.basjes.nl,10.10.15.0

# Loads <tftp-root>/pxelinux.0 from dnsmasq TFTP server.
pxe-service=x86PC, "Boot PXELinux (=Cobbler controlled)", pxelinux ,$next_server

$insert_cobbler_system_definitions

Actualizar: 2012-04-30

Hace unos meses recibí un correo electrónico de alguien que decía que no podía hacer funcionar lo anterior. Resulta que había arreglado y cambiado mi zapatero que había olvidado. Así que proporcioné la solución crucial para el zapatero de la línea principal que acaba de convertirse en parte del tronco. También creé documentación de respaldo adicional .

Niels Basjes
fuente
1
A juzgar por su sitio web, sospecho que Cobbler tiene una implementación de DHCP incluida. Probablemente haría una instalación USB si estoy trabajando en una red restringida. :)
Lester Cheung
no, pero puede ayudarte a administrar uno.
monomyth

Respuestas:

3

Lo que hacemos es montar un archivo ISO que creamos, arrancar un núcleo e initrd desde eso y hacer que cargue un arranque rápido desde una ubicación central. Este archivo kickstart luego apunta a un repositorio con archivos RPM, que podría ser su servidor de cobbler.

No tengo mucha experiencia con Cobbler (tristemente), pero ¿tal vez esta sea una opción para ti?

wzzrd
fuente
Hice la instalación usando un CDROM (¡imagen iso generada por Cobbler!) Como sugirió y funcionó bastante bien. Ahora tengo la configuración en un área casi aislada donde puedo desconectarla de la LAN, habilitar DHCP, implementar a través de PXE, deshabilitar DHCP y volver a enchufar. Dado el hecho de que este es un entorno de prueba / experimento, tendrá que hacerlo por ahora. También he visto otras opciones de "proxydhcp", pero ninguna parecía tener código más allá de 2004 ... es decir, código muerto sin mantenimiento. Gracias por la respuesta.
Niels Basjes
5

La ROM PXE necesita una directiva del "siguiente servidor" del servidor DHCP para encontrar y cargar el gestor de arranque (ya sea grub, pxelinux o cualquier otro gestor de arranque). Si no se proporciona un "próximo servidor", corresponde a la ROM PXE decidir qué hacer. Tendrá que mirar la configuración de la BIOS de su tarjeta de red y ver si hay una opción para especificar el servidor manualmente.

Como se señaló en la respuesta anterior, usar una memoria ISO o USB personalizada para arrancar la máquina, con toda la información ya suministrada en la línea de comando del núcleo, es probablemente la mejor manera de hacerlo. Si no tiene acceso a la configuración del servidor DHCP.

katriel
fuente
1

si solo desea ejecutar algunas pruebas, puede tener varios servidores dhcp en la misma red. puede hacer que cobbler cree una configuración dhcpd que le dirá a un servidor que solo responda cuando un MAC en particular esté haciendo una solicitud ARP. y si simplemente comenta / deshabilita cualquier rango en ese servidor (y estoy hablando de isc-dhcpd aquí) no será intrusivo. Es posible que algunas cajas de Windows se quejen (en transmisiones) de que este servidor dhcp no tiene autoridad si está utilizando AD y tal, pero aparte de eso, no creo que haya mucho peligro.

Pero la mejor manera es tener cobbler / dhcp y los servidores que está tratando de aprovisionar en una VLAN separada del resto de su red. De esta forma, limita su dominio de transmisión y ningún otro cuadro verá sus anuncios de dhcp.

monomito
fuente