MAC server DHCP / Linux FOG server
-
Hi, I have a mac DHCP server. (IP 10.0.1.2)
My fog server is installed on a ubuntu 12.04 (ip 10.0.1.3)
This is my mac bootp.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>NetBoot</key> <dict/> <key>Subnets</key> <array> <dict> <key>allocate</key> <true/> <key>dhcp_domain_name</key> <string>klimtoren.be</string> <key>dhcp_domain_name_server</key> <array> <string>10.0.1.2</string> </array> <key>dhcp_domain_search</key> <array> <string>klimtoren.be</string> </array> <key>dhcp_option_66</key> <data> CgABAw== </data> <key>dhcp_option_67</key> <data> dW5kaW9ubHkua3B4ZQA= </data> <key>dhcp_router</key> <string>10.0.1.1</string> <key>lease_max</key> <integer>3600</integer> <key>name</key> <string>Ethernet</string> <key>net_address</key> <string>10.0.0.0</string> <key>net_mask</key> <string>255.255.0.0</string> <key>net_range</key> <array> <string>10.0.1.10</string> <string>10.0.1.253</string> </array> <key>selected_port_name</key> <string>en0</string> <key>uuid</key> <string>1BA71D8C-FE83-448A-8C88-0CC70FA19E1B</string> </dict> </array> <key>allow</key> <array/> <key>bootp_enabled</key> <true/> <key>deny</key> <array/> <key>detect_other_dhcp_server</key> <false/> <key>dhcp_enabled</key> <array> <string>en0</string> </array> <key>netboot_disabled</key> <array> <string>en0</string> </array> <key>old_netboot_enabled</key> <false/> <key>relay_enabled</key> <false/> <key>relay_ip_list</key> <array/> <key>reply_threshold_seconds</key> <integer>0</integer> <key>timeServiceStarted</key> <string>2015-11-26 12:12:40 +0000</string> </dict> </plist>
When trying to boot clients, I get PXE-T01: File not found
So I capture bootp packages with Sharkwire.
This is the Bootp sequence in the package:Frame 1661: 590 bytes on wire (4720 bits), 590 bytes captured (4720 bits) on interface 0 Ethernet II, Src: Dell_c5:4c:18 (00:13:72:c5:4c:18), Dst: Broadcast (ff:ff:ff:ff:ff:ff) Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255 User Datagram Protocol, Src Port: 68 (68), Dst Port: 67 (67) Bootstrap Protocol (Request) Message type: Boot Request (1) Hardware type: Ethernet (0x01) Hardware address length: 6 Hops: 0 Transaction ID: 0x73c54c18 Seconds elapsed: 4 Bootp flags: 0x8000, Broadcast flag (Broadcast) Client IP address: 0.0.0.0 Your (client) IP address: 0.0.0.0 Next server IP address: 0.0.0.0 Relay agent IP address: 0.0.0.0 Client MAC address: Dell_c5:4c:18 (00:13:72:c5:4c:18) Client hardware address padding: 00000000000000000000 Server host name not given Boot file name not given Magic cookie: DHCP Option: (53) DHCP Message Type (Request) Option: (50) Requested IP Address Option: (55) Parameter Request List Option: (57) Maximum DHCP Message Size Option: (54) DHCP Server Identifier Option: (97) UUID/GUID-based Client Identifier Option: (93) Client System Architecture Option: (94) Client Network Device Interface Option: (60) Vendor class identifier Option: (255) End Padding: 000000000000000000000000000000000000000000000000...
As you can see there are no options 66 / 67. While they are in my dhcp server configuration.
What am I overlooking?
Karl
-
@bakgat As far as I can tell the options 66 and 67 in the bootp.plist are base64 encoded. Trying to decode (e.g. www.base64decode.org) I only get a sensible result for option 67 (‘undionly.kpxe’) but not for opt 66.
The other thing I notice is that the packet you posted is a request (‘Message type: Boot Request (1)’) from a client machine. You don’t see the options in a request only on replys. See if you can find the answer from the server. DHCP goes like this: Client-Discovery, Server-Offer, Client-Request, Server-Ack (https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Operation)
So you should actually see at least four DHCP packets! If you don’t see any reply DHCP packets from the server I am wondering if the bootp service is actually started?!