Skip to main content

Hey everyone,



I'm trying to sort out setting up NetBoot (NetBoot/SUS Appliance) in a Windows and Cisco environment that is already using PXE booting.
My understanding is the two can co-exist, but will need some help from DHCP. I see a lot of reference to IP Helpers, but mostly in conversations regarding NetBooting across subnets. I also know some people use DHCP Options.



What I haven't been able to sort out is, if I need both and if I need to use DHCP Options, which ones. I know it may not be that simple regarding which options, but it sounds like the IP Helper address is pretty straightforward.



Anyway, hoping someone can share how they've approached/accomplished this.



Thanks!

I have both running in my environment.... PXE for SCCM and NetBoot for Mac's. Both machines are in the same subnet with an IP helper to our "imaging" subnet ( /24). The helper does not know Mac or PC, it simply forwards requests. We had to use the IP helper and found that DHCP options would not work for us.


I keep hunting for info on this and finding threads like this that say it works fine, but no info on HOW to set it up. Can anyone provide that info? In other words, what is the DHCP option for netboot? PXE boot uses option 66 and 67 (server and file) or the equivalent (Bluecat Proteus uses Next Server and File Name service options instead of those DHCP client options. Anyone know what client options or service options netboot needs to have set? It obviously can't be the same options as PXE as you can only set one value for those, and the seemingly great mystery is what are the magic options for netboot?


Similar setup as @sbroadd1 here. Running both PXE and BootP using IP helpers which were configured on our network infrastructure and it works very well. The configuration being used for the IP helpers on our Cisco hardware only specifies the IP address of the PXE or NetBoot servers and not the service for the IP.


But what is the option you use in DHCP for the netboot server IP? PXE server IP is under option 66, but I've still never found anyone who can say what the option is for Netboot...
To put another way, I'm not sure I understand your reply because the helper IPs in the network hardware point to the DHCP server. The DHCP server then has the client or service options that point to PXE, and presumably Netboot. We have PXE working fine, and can't find how to add Netboot to this environment.
Thanks for any assistance with the specifics you can provide!


In my environment, this is being specified completely independent of our DHCP servers. I'm not sure there is a DHCP option for BootP which is the protocol used by NetBoot. It sounds like a bootpd relay might be more along the lines of what you're looking for in your setting. This article might shed a bit more light on the matter. My recommendation would be to reach out to your JAMF Account Manager or your network hardware vendor to get the most relevant guidance for your environment.


@ebonweaver - You're almost there. You just need to add your NetBoot server itself to the IP helpers on your network hardware, along with the existing entry for the DHCP servers. You should find it "just works". NetBoot discovery is very similar to DHCP discovery.


Sorry for the double up, I missed OPs question..



@thedanielmatt - I'm not aware of any way to leverage DHCP options to point a client to a NetBoot server. You just need those discovery broadcasts forwarded (just like with the DHCP DORA process) to your NetBoot server, hence the IP helpers.



Bootpd relay does seems like the "ideal" solution, in the same way that RADIUS seems "ideal" for securing my home Wi-Fi... But IP helpers have always worked for me ;-)


Hi Daniel,



1) Yes NetBoot and PXE can coexist without any issues or special attention to make them coexist. So you can have your windows deployment system e.g. SCCM working in the same network as your mac deployment system using e.g. the OS X Server NetBoot Service or JAMF NetBoot/SUS on a VM.



2) If you have more than 1 subnet (as most people on here do) your switches will need to be configured with helper addresses. Ours are configured for the NetBoot and PXE servers.



3) If you are unlucky enough not to be able to use helper addresses you need to do other things to tell your client macs where the netboot server is. This can be done a couple of ways:
a) Using bless - see https://jamfnation.jamfsoftware.com/discussion.html?id=5716
b) Using a DHCP server to provide the info required to NetBoot in the options given to a machine when it asks for a DHCP assigned address. This doesn't mean that the mac's all netboot every time they boot - you still need to press the N key at power on to start the machine looking for a NetBoot server.



We used (b) above for a long time because our main firewall between the NetBoot server and the clients had a limit of 3 helper addresses and they were already taken by the PXE and DHCP servers.



We used this initially via a linux based DHCP server and then an Infoblox DHCP server. With the Infoblox server we were lucky to have a system admin who was right into NetBoot



Here is some good base info: http://techstaff-wiki.cs.uchicago.edu/index.php/OS_X_infrastructure



Here are the instructions for our Inflox setup



Infoblox UI.
Select Data Management -> DHCP -> IPv4 Filters
Add an IPv4 Option filter
Configure with the below settings and select Apply this filter as a global DHCP class



class "AppleNBI-i386" {
match if (substring(option vendor-class-identifier,0,14)="AAPLBSDPC/i386");
option root-path "nfs:YourNetBootServerIP:/Volumes/Data/Library/NetBoot/NetBootSP0:/DHCPdefault.nbi/NetBoot.dmg";
option vendor-encapsulated-options 08:04:81:00:00:67;
option dhcp-parameter-request-list 1,3,17,43,60;
option vendor-class-identifier "AAPLBSDPC/i386";
next-server YourNetBootServerIP;
filename "/private/tftpboot/NetBoot/NetBootSP0/DHCPdefault.nbi/i386/booter";
}



Note:




  • we had a DHCPdefault.nbi symbolic link on the NetBoot server pointing at the current image so we didn't have to keep changing the filter in the DHCP server whenever a new NetBoot image was added. Having a few different NetBoot images available is always good in case something doesn't work.


  • the root-path may be different for you. We had the Library/NetBoot/NetBootSP0 location on a separate volume (Data)




Regards,



David


to the OP regarding DHCP options:



First some clarification on what makes up a NetBoot Server.




  1. It is a DHCP server ( of sorts ) - listening on udp port 67

  2. It is a TFTP server ( For delivering the booter file to the client device ) - listening on udp port 69

  3. It is a HTTP server OR - tcp port 80

  4. It is a NFS server- tcp/udp port 2049
    Depending on how you deploy your NetBoot images ie over HTTP or NFS



When a client boots up with the N key for example it sends a broadcast looking for a server responding with the BSDP information (This is the DHCP options) this info contains the location of the booter file to be booted via tftp and the netboot image file to be booted via NFS or HTTP depending on your choice of how your delivering your netboot images.



If the client device is on a different subnet to the netboot server, then the netboot server will not receive this request from the client, just like how a dhcp server on a different subnet would not receive the request from a client, this is why we need the netboot server ip address put into the IP helper record on the router. This tells the router to allow the BSDP/DHCP information to traverse the subnets.



The DHCP server component of the NetBoot server, does not give out IP address, it simply responds to BSDP requests from client devices with netboot information (DHCP options)



Hope that helps :)



If you want a NetBoot server that isn't a Mac computer running Mac OS X server.



There are a couple alternatives;
1. BSDPy
2. NetSUS



I would recommend BSDPy, but it depends on your setup and how many netboot servers you need I guess


Yes they'll co-exist happily. Netboot service looks for a specific apple vendor ID in the initial traffic and won't respond unless it gets it. PXE can either operate via IP helpers set on the network switches or via DHCP options ... but you'll have to set an IP Helper to get to the DHCP server ;)



BTW as far as i'm aware using DHCP options to get PXE to work is not recommended by Microsoft. They prefer IP helpers.


I have been trying to get this to work for ages, used a NetSUS solution for a while with no luck. no just rolled out a BSDPy solution (yes i have ip helpers pointing to each server) and I have tested the .nbi files locally to prove they work, still no go.


@scharman
Can you provide more details on your setup and exactly what you are trying to do?



It sounds like you have a netboot server and a mac os x client device on different subnets.



I'll assume that your netboot server is on the same subnet as your other network servers like DHCP server, Mac Server, Windows Server etc etc etc



There will be a switch or router connecting the two subnets, this will have a place usually called ip_helper that allows you to place an IP address of a server that will accept broadcast traffic from the other subnet.



So in this example, your IP helper should contain the IP address of both your DHCP server and your netboot server.



thats pretty much it. theres not a lot of magic to it.



Curious how did you test the .nbi files "locally"?
How did you create the nbi ?


There is a switch directly connected to a core router connecting the two subnets here is the IP helper added in:



core1#show run int vl65
Building configuration...

Current configuration : 294 bytes
!
interface Vlan65
description Casper Test Workstations
ip address 10.xx.65.254 255.255.255.0
ip helper-address 10.xx.195.28
ip helper-address 10.xx.207.28
ip helper-address 10.xx.195.145
ip helper-address 10.xx.195.240
no ip redirects
no ip unreachables
no ip proxy-arp
end


I have crossed out some of the IP addresses for security, 10.xx.65.0 is the vlan i'm connecting from and 10.xx.195.240 is my netboot server. When I say I tested it locally I meant I spun up a local VM environment with VMware fusion on one of my workstations and was able to netboot between hosts(they were on the same subnet tho) I used AutoCasperNBI to build my nbi.


there seems to be communication between the two subnets:
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
06:23:39.089815 IP 10.xx.65.254.bootps > 10.59.195.240.bootps: BOOTP/DHCP, Request from ac:87:a3:37:f4:ca (oui Unknown), length 301
06:23:39.092325 IP 10.xx.195.240.bootps > 10.59.65.2.bootpc: BOOTP/DHCP, Reply, length 272
06:23:40.007987 IP 10.xx.65.254.bootps > 10.59.195.240.bootps: BOOTP/DHCP, Request from ac:87:a3:37:f4:ca (oui Unknown), length 301
06:23:40.010297 IP 10.xx.195.240.bootps > 10.59.65.2.bootpc: BOOTP/DHCP, Reply, length 272
06:23:42.008252 IP 10.xx.65.254.bootps > 10.59.195.240.bootps: BOOTP/DHCP, Request from ac:87:a3:37:f4:ca (oui Unknown), length 316
06:23:42.011137 IP 10.xx.195.240.bootps > 10.59.65.2.bootpc: BOOTP/DHCP, Reply, length 270
this is a tcpdump from the BSDPy server.


@calumhunter any ideas


whats in the bsdpy log?



netboot server isn't running under hyper -v is it?


na its running under docker



not seeing much in the logs /var/log/syslog
Dec 7 05:13:07 isp-osb-netboot1 kernel: [273153.493217] docker0: port 1(veth756 3c78) entered forwarding state
Dec 7 05:13:07 isp-osb-netboot1 kernel: [273153.493222] docker0: port 1(veth756 3c78) entered forwarding state
Dec 7 05:13:10 isp-osb-netboot1 ntpd[1870]: Listen normally on 8 veth7563c78 fe 80::98a2:5aff:fe77:a259 UDP 123
Dec 7 05:13:10 isp-osb-netboot1 ntpd[1870]: peers refreshed
Dec 7 05:13:10 isp-osb-netboot1 ntpd[1870]: new interface(s) found: waking up r esolver
Dec 7 05:13:22 isp-osb-netboot1 kernel: [273168.541472] docker0: port 1(veth756


heres a tcpdump with -v enabled



Client-IP 10.xx.65.1
Gateway-IP 10.xx.65.254
isp-osb-netboot1.bootps > 10.xx.65.1.bootpc: BOOTP/DHCP, Reply, length 270, Flags [none]
Client-IP 10.xx.65.1
10.xx.65.1.bootpc > isp-osb-netboot1.bootps: BOOTP/DHCP, Request from 40:6c:8f:10:74:e9 (oui Unknown), length 300, Flags [none]
Client-IP 10.xx.65.1
isp-osb-netboot1.bootps > 10.xx.65.1.bootpc: BOOTP/DHCP, Reply, length 272, Flags [none]
Client-IP 10.xx.65.1
10.xx.65.254.bootps > isp-osb-netboot1.bootps: BOOTP/DHCP, Request from 40:6c:8f:10:74:e9 (oui Unknown), length 315, hops 1, Flags [none]
Client-IP 10.xx.65.1
Gateway-IP 10.xx.65.254
isp-osb-netboot1.bootps > 10.59.65.1.bootpc: BOOTP/DHCP, Reply, length 270, Flags [none]
Client-IP 10.xx.65.1
10.xx.65.254.bootps > isp-osb-netboot1.bootps: BOOTP/DHCP, Request from 40:6c:8f:10:74:e9 (oui Unknown), length 300, hops 1, xid 0x74191c5b, Flags [none]
Gateway-IP 10.xx.65.254
Requested-IP Option 50, length 4: 10.xx.65.1


yeah but the VM that docker is running on what OS is it? is that running under hyper-v or vmware? or what?



you can get the logs from bsdpy under docker by running



docker logs <name_of_container>



you can also do



docker logs -f <name_of_container> its like doing a tail -f on a file


also can you post your entire docker run command


wow I can see so much more now



here is my docker logs output:
12/07/2015 07:58:54 AM - DEBUG: System ID "MacBookPro10,2" is disabled - skippin g "No description"
12/07/2015 07:58:54 AM - DEBUG: -=========================================-
12/07/2015 07:58:54 AM - DEBUG: Return ACK[list] to ac:87:a3:37:f4:ca - 10.59.65 .2 on port 68
12/07/2015 07:58:55 AM - DEBUG: -=========================================-
12/07/2015 07:58:55 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 07:58:55 AM - DEBUG: Using provided clientip 10.59.65.2
12/07/2015 07:58:55 AM - DEBUG: Determining image list for system ID MacBookPro1 0,2
12/07/2015 07:58:55 AM - DEBUG: System ID "MacBookPro10,2" is disabled - skippin g "No description"
12/07/2015 07:58:55 AM - DEBUG: -=========================================-
12/07/2015 07:58:55 AM - DEBUG: Return ACK[select] to ac:87:a3:37:f4:ca - 10.59. 65.2 on port 68
12/07/2015 07:58:55 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 07:58:55 AM - DEBUG: --> Boot Image URI:
12/07/2015 07:59:47 AM - DEBUG: -=========================================-
12/07/2015 07:59:47 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 07:59:47 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 07:59:47 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 07:59:47 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 07:59:47 AM - DEBUG: -=========================================-
12/07/2015 07:59:47 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 07:59:47 AM - DEBUG: -=========================================-
12/07/2015 07:59:47 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 07:59:47 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 07:59:47 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 07:59:47 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 07:59:47 AM - DEBUG: -=========================================-
12/07/2015 07:59:47 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 07:59:47 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 07:59:47 AM - DEBUG: --> Boot Image URI:
12/07/2015 07:59:49 AM - DEBUG: -=========================================-
12/07/2015 07:59:49 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 07:59:49 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 07:59:49 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 07:59:49 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 07:59:49 AM - DEBUG: -=========================================-
12/07/2015 07:59:49 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 07:59:50 AM - DEBUG: -=========================================-
12/07/2015 07:59:50 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 07:59:50 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 07:59:50 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 07:59:50 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 07:59:50 AM - DEBUG: -=========================================-
12/07/2015 07:59:50 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 07:59:50 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 07:59:50 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:06:02 AM - DEBUG: -=========================================-
12/07/2015 08:06:02 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:06:02 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:02 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:02 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:02 AM - DEBUG: -=========================================-
12/07/2015 08:06:02 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:06:03 AM - DEBUG: -=========================================-
12/07/2015 08:06:03 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:06:03 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:03 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:03 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:03 AM - DEBUG: -=========================================-
12/07/2015 08:06:03 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:06:03 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:06:03 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:06:05 AM - DEBUG: -=========================================-
12/07/2015 08:06:05 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:06:05 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:05 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:05 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:05 AM - DEBUG: -=========================================-
12/07/2015 08:06:05 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:06:06 AM - DEBUG: -=========================================-
12/07/2015 08:06:06 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:06:06 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:06 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:06 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:06 AM - DEBUG: -=========================================-
12/07/2015 08:06:06 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:06:06 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:06:06 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:06:08 AM - DEBUG: -=========================================-
12/07/2015 08:06:08 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:06:08 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:08 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:08 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:08 AM - DEBUG: -=========================================-
12/07/2015 08:06:08 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:06:09 AM - DEBUG: -=========================================-
12/07/2015 08:06:09 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:06:09 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:09 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:09 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:09 AM - DEBUG: -=========================================-
12/07/2015 08:06:09 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:06:09 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:06:09 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:06:11 AM - DEBUG: -=========================================-
12/07/2015 08:06:11 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:06:11 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:11 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:11 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:11 AM - DEBUG: -=========================================-
12/07/2015 08:06:11 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:06:12 AM - DEBUG: -=========================================-
12/07/2015 08:06:12 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:06:12 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:06:12 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:06:12 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:06:12 AM - DEBUG: -=========================================-
12/07/2015 08:06:12 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:06:12 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:06:12 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:13:34 AM - DEBUG: -=========================================-
12/07/2015 08:13:34 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:13:34 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:13:34 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:13:34 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:13:34 AM - DEBUG: -=========================================-
12/07/2015 08:13:34 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:13:35 AM - DEBUG: -=========================================-
12/07/2015 08:13:35 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:13:35 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:13:35 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:13:35 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:13:35 AM - DEBUG: -=========================================-
12/07/2015 08:13:35 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:13:35 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:13:35 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:13:37 AM - DEBUG: -=========================================-
12/07/2015 08:13:37 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:13:37 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:13:37 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:13:37 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:13:37 AM - DEBUG: -=========================================-
12/07/2015 08:13:37 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:13:38 AM - DEBUG: -=========================================-
12/07/2015 08:13:38 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:13:38 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:13:38 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:13:38 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:13:38 AM - DEBUG: -=========================================-
12/07/2015 08:13:38 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:13:38 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:13:38 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:16:03 AM - DEBUG: -=========================================-
12/07/2015 08:16:03 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:16:03 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:03 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:03 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:03 AM - DEBUG: -=========================================-
12/07/2015 08:16:03 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:16:04 AM - DEBUG: -=========================================-
12/07/2015 08:16:04 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:16:04 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:04 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:04 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:04 AM - DEBUG: -=========================================-
12/07/2015 08:16:04 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:16:04 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:16:04 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:16:36 AM - DEBUG: -=========================================-
12/07/2015 08:16:36 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:16:36 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:36 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:36 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:36 AM - DEBUG: -=========================================-
12/07/2015 08:16:36 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:16:37 AM - DEBUG: -=========================================-
12/07/2015 08:16:37 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:16:37 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:37 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:37 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:37 AM - DEBUG: -=========================================-
12/07/2015 08:16:37 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:16:37 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:16:37 AM - DEBUG: --> Boot Image URI:
12/07/2015 08:16:39 AM - DEBUG: -=========================================-
12/07/2015 08:16:39 AM - DEBUG: Got BSDP INFORM[list] packet:
12/07/2015 08:16:39 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:39 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:39 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:39 AM - DEBUG: -=========================================-
12/07/2015 08:16:39 AM - DEBUG: Return ACK[list] to 40:6c:8f:10:74:e9 - 10.59.65 .1 on port 68
12/07/2015 08:16:40 AM - DEBUG: -=========================================-
12/07/2015 08:16:40 AM - DEBUG: Got BSDP INFORM[select] packet:
12/07/2015 08:16:40 AM - DEBUG: Using provided clientip 10.59.65.1
12/07/2015 08:16:40 AM - DEBUG: Determining image list for system ID MacBookPro8 ,2
12/07/2015 08:16:40 AM - DEBUG: System ID "MacBookPro8,2" is disabled - skipping "No description"
12/07/2015 08:16:40 AM - DEBUG: -=========================================-
12/07/2015 08:16:40 AM - DEBUG: Return ACK[select] to 40:6c:8f:10:74:e9 - 10.59. 65.1 on port 68
12/07/2015 08:16:40 AM - DEBUG: --> TFTP URI: tftp://10.59.195.240
12/07/2015 08:16:40 AM - DEBUG: --> Boot Image URI:
root@isp-osb-netboot1:~#
There doesnt seem to be a boot Image url being provided and not sure why it is skipping those System IDs,
here is my docker run command:
docker run --restart=always -d -v /nbi:/nbi -p 67:67/udp -p 69:69/udp -p 80:80 -e BSDPY_IP=10.59.195.240 --name netboot_server hunty1/bsdpydocker


heh thats my docker container ;)



Looks like your NBI is not setup correctly. How did you make it? It looks like the nbimageinfo.plist is not setup corerctly, See where is saying skipping "no description" it should probably have a description. Make sure you don't have any spaces in the name of your NBI also



You'll need to pay attention to the nbimageinfo.plist
specifically around the enabled/disabled arrays



This is what i do on my nbimageinfo.plist i basically remove all the machines from the disabled array, and add only the really old machines i dont support



https://gist.github.com/hunty1/4b687e8a5103e4024f56#file-acnbi-script-L258-L295


heres my NBimageinfo.plist



<dict>
<key>Architectures</key>
<array>
<string>i386</string>
</array>
<key>BackwardCompatible</key>
<false/>
<key>BootFile</key>
<string>booter</string>
<key>Description</key>
<string>No description</string>
<key>DisabledSystemIdentifiers</key>
<array>
<string>MacBookAir6,1</string>
<string>MacBookAir5,2</string>
<string>MacBookAir7,2</string>
<string>MacBookAir2,1</string>
<string>MacBookAir5,1</string>
<string>MacBookAir4,2</string>
<string>MacBookAir4,1</string>
<string>MacBookAir6,2</string>
<string>MacBookAir7,1</string>
<string>MacBookAir3,2</string>
<string>MacBookAir3,1</string>
<string>MacBookPro5,2</string>
<string>MacBookPro9,1</string>
<string>MacBookPro6,2</string>
<string>MacBookPro6,1</string>
<string>MacBookPro8,3</string>
<string>MacBookPro11,3</string>
<string>MacBookPro7,1</string>
<string>MacBookPro11,2</string>
<string>MacBookPro10,1</string>
<string>MacBookPro12,1</string>
<string>MacBookPro11,4</string>
<string>MacBookPro11,5</string>
<string>MacBookPro3,1</string>
<string>MacBookPro4,1</string>
<string>MacBookPro8,1</string>
<string>MacBookPro10,2</string>
<string>MacBookPro5,3</string>
<string>MacBookPro5,5</string>
<string>MacBookPro5,4</string>
<string>MacBookPro5,1</string>
<string>MacBookPro9,2</string>
<string>MacBookPro11,1</string>
..



<string>iMac11,3</string>
<string>iMac13,2</string>
<string>iMac15,1</string>
<string>iMac12,2</string>
<string>iMac8,1</string>
<string>iMac10,1</string>
<string>iMac13,3</string>
<string>iMac16,1</string>
<string>iMac16,2</string>
<string>iMac14,1</string>
<string>iMac14,3</string>
<string>iMac13,1</string>
<string>iMac11,2</string>
<string>Macmini5,3</string>
<string>Macmini5,1</string>
<string>Macmini4,1</string>
<string>Macmini5,2</string>
<string>Macmini3,1</string>
<string>Macmini6,1</string>
<string>Macmini6,2</string>
<string>Macmini7,1</string>
<string>MacBook8,1</string>
<string>MacBook7,1</string>
<string>MacBook5,1</string>
<string>MacBook6,1</string>
<string>MacBook5,2</string>
<string>MacPro3,1</string>
<string>MacPro5,1</string>
<string>MacPro6,1</string>
<string>MacPro4,1</string>
<string>Xserve3,1</string>
</array>
<key>EnabledSystemIdentifiers</key>
<array/>
<key>ImageType</key>
<string>netboot</string>
<key>Index</key>
<integer>443</integer>
<key>IsDefault</key>
<false/>
<key>IsEnabled</key>
<true/>
<key>IsInstall</key>
<false/>
<key>Kind</key>
<integer>1</integer>
<key>Language</key>
<string>Default</string>
<key>Name</key>
<string>10.11.1AutoCasperNBI</string>
<key>RootPath</key>
<string>NetBoot.dmg</string>
<key>SupportsDiskless</key>
<true/>
<key>Type</key>
<string>NFS</string>
<key>osVersion</key>



I made the nbi using AutoCasperNBI tested it locally and it worked ok first time round, but that was in a vm environment.perhaps thats why?


Yep, the vm machine will show up as something like VMware7,1 which doesn't exist in the disabled array and so is allowed to boot



to allow everything simply make both enabled and disabled arrays empty then it should boot



ok so the no description thing is actually the string thats ok


ok did that, cant test until I'm on site tomorrow, weird how pretty much every type of make of Mac is in the disabled System identifiers array? why would it do that? is that something you can set on creation on the nbi?