DCHPD working for PXE but not sending OFFER for ipconfig

Discussion in 'Linux Networking' started by undercoveridiot, Feb 28, 2012.

  1. I have an isolated subnet I am setting up for a compute cluster. They
    are diskless Debian Squeeze nodes and I am configuring an isc dhcp
    server. So far the only machines on the network are the dhcpd/tftpd/
    nfs/nis/ntp server and a single node I am testing with. I have
    plugged a laptop in to run wireshark and it gets an address from the
    dhcp server fine. When the cluster node starts up and does the PXE
    boot, the client receives its IP and loads the pxelinux.0 and kernel
    image just fine over tftpd. When the kernel starts to boot and it
    brings up networking, the client sends the DISCOVER but never receives
    the OFFER even though the dhcpd server says it sent one and it just
    worked fine for PXE on the same machine. There is no firewall on this
    subnet, and since its working fine for both the laptop and PXE I am
    lost as to why its not working for ipconfig. Here is the contents of
    the dhcpd.conf file:

    <code>
    ddns-update-style none;
    option domain-name "testing.com";
    option domain-name-servers 192.28.1.11, 192.28.0.4;

    default-lease-time 600;
    max-lease-time 7200;

    log-facility local7;

    subnet 192.28.7.0 netmask 255.255.255.0 {
    }


    host node1 {
    hardware ethernet 00:1e:c9:db:d3:b4;
    fixed-address 192.28.7.114;
    option host-name "node1";
    option nis-domain "testing.com";
    option nis-servers 192.28.7.3;
    option ntp-servers 192.28.7.3;
    option routers 192.28.7.1;
    filename "pxelinux.0";
    option root-path "/lustre/tmpboot/nodeimg";
    }

    host sniffer-laptop {
    hardware ethernet 00:21:70:6c:36:fe;
    fixed-address 192.28.7.10;
    }
    </code>

    Here is the contents of syslog on the server:

    Laptop connects fine...

    <code>
    Feb 28 11:35:38 gimmehservice-0 dhcpd: DHCPDISCOVER from 00:21:70:6c:
    36:fe via eth0
    Feb 28 11:35:38 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.10 to
    00:21:70:6c:36:fe via eth0
    Feb 28 11:35:38 gimmehservice-0 dhcpd: DHCPREQUEST for 192.28.7.10
    (192.28.7.3) from 00:21:70:6c:36:fe via eth0
    Feb 28 11:35:38 gimmehservice-0 dhcpd: DHCPACK on 192.28.7.10 to
    00:21:70:6c:36:fe via eth0
    Feb 28 11:39:49 gimmehservice-0 dhcpd: DHCPREQUEST for 192.28.7.10
    from 00:21:70:6c:36:fe via eth0
    Feb 28 11:39:49 gimmehservice-0 dhcpd: DHCPACK on 192.28.7.10 to
    00:21:70:6c:36:fe via eth0
    Feb 28 11:44:31 gimmehservice-0 dhcpd: DHCPREQUEST for 192.28.7.10
    from 00:21:70:6c:36:fe via eth0
    Feb 28 11:44:31 gimmehservice-0 dhcpd: DHCPACK on 192.28.7.10 to
    00:21:70:6c:36:fe via eth0
    </code>

    PXE client connects fine and loads the kernel image...

    <code>
    Feb 28 11:44:37 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:44:37 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:44:41 gimmehservice-0 dhcpd: DHCPREQUEST for 192.28.7.114
    (192.28.7.3) from 00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:44:41 gimmehservice-0 dhcpd: DHCPACK on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: sent /ha/tftp/
    pxelinux.0 to 192.28.7.114
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: error 0 TFTP
    Aborted received from 192.28.7.114
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: failed sending /ha/
    tftp/pxelinux.0 to 192.28.7.114
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: sent /ha/tftp/
    pxelinux.0 to 192.28.7.114
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: file /ha/tftp/
    pxelinux.cfg/44454c4c-4d00-1042-8051-b1c04f544731 not found
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: file /ha/tftp/
    pxelinux.cfg/01-00-1e-c9-db-d3-b4 not found
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: file /ha/tftp/
    pxelinux.cfg/AC1C0772 not found
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: file /ha/tftp/
    pxelinux.cfg/AC1C077 not found
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: sent /ha/tftp/
    pxelinux.cfg/AC1C07 to 192.28.7.114
    Feb 28 11:44:41 gimmehservice-0 dnsmasq-tftp[1182]: sent /ha/tftp/
    diskless/amd64/vmlinuz-2.6.32-5-amd64 to 192.28.7.114
    Feb 28 11:44:42 gimmehservice-0 dnsmasq-tftp[1182]: sent /ha/tftp/
    diskless/amd64/initrd.img.netboot to 192.28.7.114
    </code>

    From here the kernel boots, brings up networking and tries to get an
    address and the server says its sending one:

    <code>
    Feb 28 11:45:11 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:11 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:12 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:12 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:13 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:13 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:14 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:14 gimmehservice-0 dhcpd: DHCPOFFER on 192.28.7.114 to
    00:1e:c9:db:d3:b4 via eth0
    Feb 28 11:45:15 gimmehservice-0 dhcpd: DHCPDISCOVER from
    00:1e:c9:db:d3:b4 via eth0
    </code>

    This continues until the client gives up and errors out. But in
    wireshark on the laptop, no DHCPOFFER packets are actually being sent
    from the server, I only see the DISCOVER packets from the client. Any
    reason why this would be happening?
     
    undercoveridiot, Feb 28, 2012
    #1
    1. Advertisements

  2. undercoveridiot

    ein Guest

    You mean timeout? What is exactly client displaying?
     
    ein, Feb 29, 2012
    #2
    1. Advertisements


  3. Client displays a timeout since it is not getting any reply over the network. Then it keeps retrying at longer intervals until it errors out and the kernel dumps because it could not load anything over NFS.
     
    undercoveridiot, Feb 29, 2012
    #3
  4. So I figured out part of the issue. Trying different settings I set
    the always-broadcast flag to on and now the server DHCPOFFER replies
    are showing up in wireshark. I am guessing that it was sending them
    directly to the client before so I was not seeing them. So the server
    is actually sending the DHCPOFFER packets correctly, but the kernel
    bootp client is not seeing or accepting them because it is still keeps
    timing out and saying no reply. So I am guessing that the client is
    looking for a parameter that is not being set correctly or at all and
    just dropping the DHCPOFFER reply?
     
    undercoveridiot, Feb 29, 2012
    #4
  5. It turned out the bnx2 module was not getting loaded by the kernel
    image so it was defaulting to whatever generic driver it had. It
    could send apparently, but wasn't receiving correctly.
     
    undercoveridiot, Mar 1, 2012
    #5
  6. undercoveridiot

    ein Guest

    Congrats. :)
     
    ein, Mar 1, 2012
    #6
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.