Sembra che qualcosa nella rete stia bloccando il traffico DHCP non standard, incluse le richieste che un client NetBoot utilizza per trovare i server. Quando si avvia un Mac con i tasti Opzione o N premuti, si esegue prima una normale transazione DHCP per ottenere un indirizzo IP, quindi si invia una richiesta speciale "BSDP" (Boot Service Discovery Protocol), che è in realtà un DHCP Inform richiesta con alcune opzioni speciali impostate. Ecco come appare 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
Si noti che l'indirizzo di origine è un indirizzo unicast, non 0.0.0.0 come una normale richiesta DHCP avrebbe; il tuo firewall potrebbe pensare che sia orribile e bloccarlo. O potrebbe bloccarlo per qualche altra ragione. Ad ogni modo, se il server NetBoot lo riceve, dovrebbe rispondere con qualcosa del tipo:
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
... e se il client lo riceve, usa le informazioni al suo interno per recuperare booster e kernel su TFTP, quindi montare l'immagine su HTTP o NFS e avviare effettivamente da esso.
BTW, questo tende a essere difficile da risolvere perché devi avviare il client su & oltre per farlo inviare le richieste. Ma c'è un trucco: avviare un client normalmente, quindi aprire Preferenze di Sistema - > Disco di avvio ed eseguirà la scansione delle immagini NetBoot utilizzando le stesse query BSDP / DHCP. Molto più facile, in più puoi eseguire catture di pacchetti sul client mentre lo fai. L'unica cosa complicata è che per farlo rieseguire, devi chiudere completamente le Preferenze di Sistema, non solo lasciare & reinserire il riquadro Disco di avvio.