Parece que algo en la red está bloqueando el tráfico DHCP no estándar, incluyendo las peticiones que un cliente NetBoot utiliza para encontrar el servidor o servidores. Cuando arranca un Mac con las teclas Option o N pulsadas, primero hará una transacción DHCP normal para obtener una dirección IP, y luego enviará una petición especial "BSDP" (Boot Service Discovery Protocol), que es realmente una petición DHCP Inform con algunas opciones especiales configuradas. Esto es lo que parece con sudo tcpdump -nv -s0 port bootps
:
16:19:35.656369 IP (tos 0x0, ttl 64, id 10411, offset 0, flags [DF], proto UDP (17), length 328)
10.0.0.215.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 68:5b:35:xx:xx:xx, length 300, Flags [none]
Client-IP 10.0.0.215
Client-Ethernet-Address 68:5b:35:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
Vendor-Option Option 43, length 7: 1.1.1.2.2.1.1
DHCP-Message Option 53, length 1: Inform
Parameter-Request Option 55, length 2:
Vendor-Option, Vendor-Class
MSZ Option 57, length 2: 1500
Vendor-Class Option 60, length 28: "AAPLBSDPC/i386/MacBookPro9,2"
Client-ID Option 61, length 7: ether 68:5b:35:xx:xx:xx
Ten en cuenta que la dirección de origen es una dirección unicast, no 0.0.0.0 como tendría una petición DHCP normal; tu firewall puede pensar que eso es sospechoso y bloquearlo. O puede que lo bloquee por alguna otra razón. De todos modos, si el servidor NetBoot recibe esto, debería responder con algo como esto:
16:19:35.656756 IP (tos 0x0, ttl 64, id 59742, offset 0, flags [none], proto UDP (17), length 369, bad cksum 0 (->7b45)!)
10.0.0.2.67 > 10.0.0.215.68: BOOTP/DHCP, Reply, length 341, Flags [none]
Client-IP 10.0.0.215
Client-Ethernet-Address 68:5b:35:xx:xx:xx
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 10.0.0.2
Vendor-Class Option 60, length 9: "AAPLBSDPC"
Vendor-Option Option 43, length 78: 1.1.1.4.2.127.255. [trimmed...]
16:19:35.657252 IP (tos 0x0, ttl 64, id 33486, offset 0, flags [none], proto UDP (17), length 328, bad cksum 0 (->e1fe)!)
10.0.0.2.67 > 10.0.0.215.68: BOOTP/DHCP, Reply, length 300, Flags [none]
Client-IP 10.0.0.215
Server-IP 10.0.0.2
Client-Ethernet-Address 68:5b:35:xx:xx:xx
sname "mainserver.pretendco.com"
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 10.0.0.2
...y si el cliente recibe eso, usará la información que contiene para obtener el booter y el kernel a través de TFTP, y luego montará la imagen a través de HTTP o NFS y arrancará desde ella.
Por cierto, esto tiende a ser un dolor para solucionar problemas porque tienes que arrancar el cliente una y otra vez para conseguir que envíe las solicitudes. Pero hay un truco: arrancar un cliente normalmente, luego abrir Preferencias del Sistema -> Disco de Inicio, y buscará imágenes de NetBoot usando las mismas consultas BSDP/DHCP. Mucho más fácil, además de que puedes ejecutar capturas de paquetes en el cliente mientras lo haces. Lo único complicado es que para que vuelva a escanear, tienes que salir completamente de Preferencias del Sistema, no sólo salir y volver a entrar en el panel de Disco de Inicio.