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


  • Developer

    @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?!


Log in to reply
 

486
Online

38916
Users

10687
Topics

101371
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.