gutsy and regular PCs on edubuntu lan

Bill Moseley moseley at hank.org
Fri Nov 2 14:40:00 GMT 2007


On Fri, Nov 02, 2007 at 08:36:01AM -0500, Jim Kronebusch wrote:
> 
> By default dhcp will only listen on your internal interface for requests.  This can be
> modified in /etc/default/dhcp3-server.  Here you list the interfaces you want the dhcp
> server to listen on.

Oh.  That's was the missing link.  It's been (clearly) a while since I
setup my dhcpd server and forgot about that.

Indeed I have my LAN's dhcpd server (192.168.1.1) machine listening on
INTERFACES="eth1".

But, I do not have that on the LTSP DHCPD server.  Plus, LSTP DHCPD is
"authoritative".

I suspect that's a broke configuration (i.e. both dhcpd servers will
respond to requests on the LAN), but, oddly, I'm not seeing that.

My config is:

   [ internet ]
        |
        |
        V
    +----------------------------------
    |  eth0                           |
    | NAT / Firewall/ dhcpd machine   |
    |  eth1 192.168.1.1               |
    +---------------------------------+
         |
         |
         |  192.168.1.x
         |
    [ switch ]----[ desktop ]
        /\
       /  \
           \
            \
            +----------------------------------
            |  eth1 192.168.1.49              |
            |  LTSP Server running dhcpd      |
            |  eth0  192.168.0.1              |
            +---------------------------------+
                             |
                             |  192.168.0.x
                             |
                         [ switch ]
                            /|\
                           / | \
                      [ thin clients ]

So my LTSP dhcpd is *not* setup to listen to a specific interface.
Plus it is also authoritative:

    authoritative;

    subnet 192.168.0.0 netmask 255.255.255.0 {
        range 192.168.0.20 192.168.0.250;
        option domain-name "example.com";
        option domain-name-servers 192.168.0.1;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.1;
    #    next-server 192.168.0.254;
    #    get-lease-hostnames true;
        option subnet-mask 255.255.255.0;
        option root-path "/opt/ltsp/i386";
        if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
            filename "/ltsp/i386/pxelinux.0";
        } else {
            filename "/ltsp/i386/nbi.img";
        }
    }


Here's where I'm confused:

    man dhcpd.conf

    For every subnet which will be served, and for every subnet to
    which the  dhcp  server  is *connected*,  there  must be one subnet
    declaration, which tells dhcpd how to recognize that an address is
    on that subnet.  A subnet declaration is required for each subnet
    even if no addresses will be dynamically allocated on that subnet.

And since LTSP's dhcpd.conf has "authoritative" and since there's no
entry for the 192.168.1.x network I'd expect a dhcpd request from,
say, "desktop" at 192.168.1.18 to get DHCPNAK.

That is, dhcpd is authoritative, and it's getting a request for a
network it doesn't know about so DHCPNAK.

BUT, running wireshark on the LTSP server I do see the "DHCP Request"
from "desktop" but the LTSP server is not ACK'ing.

Running wireshare on "desktop" I see its DHCP Request and the DHCP ACK
from 192.168.1.1 (the LAN's dhcpd).  The LSTP dhcpd is not replying.



More information about the edubuntu-users mailing list