dhcpsd: PXE options only to PXE clients - Aix

This is a discussion on dhcpsd: PXE options only to PXE clients - Aix ; Hello World, I'm knocking my head against this one. In my ongoing attempts to build the ultimate network infrastructure server, I want to support NIM clients as well as PXE clients. What I specifically *don't* want to do is specify ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: dhcpsd: PXE options only to PXE clients

  1. dhcpsd: PXE options only to PXE clients

    Hello World,

    I'm knocking my head against this one. In my ongoing attempts to build
    the ultimate network infrastructure server, I want to support NIM
    clients as well as PXE clients. What I specifically *don't* want to do
    is specify mac addresses for PXE clients (specifying them for NIM
    clients is OK - NIM does that automatically).

    So what I need dhcpsd to do, is to figure out that the client is a PXE
    client, and *only* then to supply options sa, 66 and 67. If the client
    is *not* a PXE client, it should *not* supply those options because
    LPARs don't like to boot pxelinux.0.

    Given the config file below, dhcpsd passes the 67 option to the LPAR
    (lautrec) I'm net-booting. It contains pxelinux.0, causing the boot of
    the LPAR to fail. I have also tried creating a "pc" class, but I can't
    seem to get all machines in a given range to go into it. I've tried
    excluding the IP address of the LPARS, which didn't work either.

    I have tried the "vendor pxe" container, but that apparently needs a
    special PXE server, which I don't have and don't want either.

    Is there a way to specify in the dhcpsd.cnf that you want to pass
    options sa, 67 and 66 to PXE clients only?

    This is my /etc/dhcpsd.cnf:
    =======================================
    #----------------------------------------------------------------------
    # DHCP DATABASE SOURCE FILE
    #----------------------------------------------------------------------

    numLogFiles 4
    logFileSize 100
    logFileName /var/dhcp/dhcpsd.log

    logitem ACTION
    logitem INFO

    leaseTimeDefault 2 weeks
    leaseExpireInterval 1 day
    supportBOOTP yes
    supportUnlistedClients yes
    clientrecorddb /var/dhcp/dhcp.cr

    ## DHCP options for booting from Vermeer...
    # option sa 172.16.1.5
    # option 67 pxelinux.0 # Boot file
    # option 66 master

    network 172.16.1.0 255.255.255.0 {
    option 1 255.255.255.0 # Netmask
    option 3 172.16.1.1 # Default gateway
    option 6 172.16.1.1 # Name server
    option 4 172.16.1.1 # Time server
    option 7 172.16.1.1 # Log server
    option 15 utopia.com # Domain name

    # Only PCs use dynamic DHCP. Hence, they all get pxeboot as bootfile
    subnet 172.16.1.0 172.16.1.101-172.16.1.105
    {
    option sa 172.16.1.5
    option 67 pxelinux.0 # Boot file
    option 66 master
    }

    }

    ## Fixed IP addresses with no special options

    client 1 0001023a9cea 172.16.1.9
    {
    option 12 rembrandt
    }

    ### AUTOMATED NIM SCRIPT PLAYGROUND STARTS HERE ###

    # BOOTP CLIENT: lautrec.utopia.johnguest.com
    client 1 0ec280008004 172.16.1.20
    {
    option 1 255.255.255.0
    option sa 172.16.1.5
    option bf "/tftpboot/lautrec.utopia.com"
    }
    =======================================


    Thanks in advance,

    Menno


  2. Re: dhcpsd: PXE options only to PXE clients

    Hello World,

    Got it! To specify that some options are only to be given to PCs and
    not to LPARs, you use the "inoption" container definition, as
    illustrated below. As it happens, every DHCP client MUST(rfc2119)
    include option 93 in its client request. This indicates the client's
    architecture. For your basic Intelloid, this is 0x0000, and for an
    LPAR, it isn't. The list of architectures is in rfc4578.

    In dhcpsd.cnf, you can specify the "inoption" container to pass
    architecture specific options:

    inoption 93 0x0000
    {
    ... options for PCs ...
    }

    Request to IBM... Please make your dhcpsd documentation a bit clearer
    - Like a document "the dhcpsd.cnf file" with ALL the options in. Oh
    what am I saying?

    Here's the dhcpsd.cnf that will boot PCs as well as LPARs. Add fixed
    IP address clients and/or NIM clients to taste:

    ==[dhcpsd.cnf]================================
    #----------------------------------------------------------------------
    # UTOPIA DHCP DATABASE SOURCE FILE
    #----------------------------------------------------------------------

    numLogFiles 4
    logFileSize 100
    logFileName /var/dhcp/dhcpsd.log

    logitem ACTION
    logitem INFO

    leaseTimeDefault 2 weeks
    leaseExpireInterval 1 day
    supportBOOTP yes
    supportUnlistedClients yes
    clientrecorddb /var/dhcp/dhcp.cr

    ## DHCP options for booting from Vermeer...
    # option sa 172.16.1.5
    # option 67 pxelinux.0 # Boot file
    # option 66 master

    network 172.16.1.0 255.255.255.0 {
    option 1 255.255.255.0 # Netmask
    option 3 172.16.1.1 # Default gateway
    option 6 172.16.1.1 # Name server
    option 4 172.16.1.1 # Time server
    option 7 172.16.1.1 # Log server
    option 15 utopia.com # Domain name

    # Only PCs use dynamic DHCP. Hence, they all get pxeboot as bootfile
    subnet 172.16.1.0 255.255.255.0 172.16.1.101-172.16.1.105

    inoption 93 0x0000
    {
    option sa 172.16.1.5
    option 67 pxelinux.0 # Boot file
    option 66 master
    }

    }
    ==============================================

    Cheers,
    Menno


  3. Re: dhcpsd: PXE options only to PXE clients

    Hello World,

    I got it! To distribute the appropriate boot parameters to PCs inly,
    you use the "inoption" conainer in dhcpsd.cnf. Option 93 MUST be
    included by any DHCP client (though not necessarily every bootp
    client). Option 93 gives the architecture type. For your basic
    Intelloid, this is 0x0000. So this is what you include in your
    dhcpsd.cnf file:

    inoption 93 0x0000
    {
    option sa 172.16.1.5 # Boot server
    option 67 pxelinux.0 # Boot file
    }

    This will cause these options to be specified only to PCs. The list of
    architecture numbers is in RFC4578.

    A network-booted laptop is installing Ubuntu while we speak, and at
    the same time an LPAR is installing AIX 5.3. Now on to the FUN parts!

    Cheers,
    Menno


+ Reply to Thread