802.11 project of mine

ME dugan at passwall.com
Sat Nov 3 05:13:55 PST 2001


On Sat, 3 Nov 2001, Jake wrote:
> > > However dhcpd dies all the time for some reason.
> > post your /etc/dhcpd.conf here. Are you using isc's dhcpd server? v2,
> > v3? a package or you compile it on your own?
> 
> I am using dhcp-2.0pl5-8 (installed from rpm :) Its the isc dhcpd.

You might want to try v3 to see if it works better for you. I have found
it to work better in a few cases. (Would not tryu this first though...)

You may want to investigate adding "allow bootp" as an extra feature...

> # /etc/dhcpd.conf
> #
> default-lease-time 600;
> max-lease-time 7200;
> option subnet-mask 255.255.255.0;
> option broadcast-address 10.0.0.255;
> option routers 10.0.0.1;
> option domain-name-servers 208.201.224.11, 208.201.224.33;
> option domain-name "lostinthenoise.net";
> 
> subnet 10.0.0.0 netmask 255.255.255.0 {
>         range 10.0.0.24 10.0.0.250;
> 
> host eris {
>         hardware ethernet (not telling :) but i assure you its valid );
>         fixed-address 10.0.0.23;
> }
> }
> subnet 192.168.254.0 netmask 255.255.255.0 {
>         range 192.168.254.24 192.168.254.250;
-
No local listins for bcat, router, snm, etc.. (?)
-
> 
> host error {
>         hardware ethernet 00-C0-FF-EE-E6-BC;
>         fixed-address 192.168.254.23;
> }
> }
> 
> but I have been working on a new one: (any idea how to bind dhcp to only
> certian interfaces from within the conf file? Or do I have to pass it the -i
> eth1 eth2 options?)

passing it limited interfaces is common way. Another is to have an entry
for each interface that is empty - aside from not authoritative; so it
does not send a NACK to a lease request is sees.

> # /etc/dhcpd.conf
> #
> #
> # We need to find a way to bind dhcpd to only eth1 and eth2 and NOT eth0
> #
> 
> option domain-name-servers 208.201.224.11, 208.201.224.33;
> 
> subnet 10.0.0.0 netmask 255.255.255.0 {
>   range 10.0.0.50 10.0.0.250;
>   default-lease-time 600 max-lease-time 7200;
>   option subnet-mask 255.255.255.0;
>   option broadcast-address 10.0.0.255;
>   option routers 10.0.0.1;
>   option domain-name "dhcpd-on-the-802.11-network-works";
^^^^^^^^^^^^^^^
if not defined you can inheirit your global domain name
> 
>    host eris {
>     hardware ethernet 00:02:2d:27:2f:07;
>     fixed-address 10.0.0.23;
>    }
>   }
> 
> subnet 192.168.254.0 netmask 255.255.255.0 {
>   range 192.168.254.24 192.168.254.250;
>   default-lease-time 600 max-lease-time 7200;
>   option subnet-mask 255.255.255.0;
>   option broadcast-address 192.168.254.255;
>   option routers 192.168.254.3;
>   option domain-name "dhcpd-on-the-switched-network-works";
> 
>    host error {
>     hardware ethernet 00-C0-F0-48-E6-BC;
>     fixed-address 192.168.254.23;
>    }
>   }
> 
> and as for logs:
> 
> it logs to /var/log/messages
> and the last line i pulled out was this:
> Nov  3 08:49:33 invictus dhcpd: Internet Software Consortium DHCP Server
> 2.0pl5
> Nov  3 08:49:33 invictus dhcpd: Copyright 1995, 1996, 1997, 1998, 1999 The
> Internet Software Consortium.
> Nov  3 08:49:33 invictus dhcpd: All rights reserved.
> Nov  3 08:49:33 invictus dhcpd:
> Nov  3 08:49:33 invictus dhcpd: Please contribute if you find this software
> useful.
> Nov  3 08:49:33 invictus dhcpd: For info, please visit
> http://www.isc.org/dhcp-contrib.html
> Nov  3 08:49:33 invictus dhcpd:
> Nov  3 08:49:33 invictus dhcpd: Bogus number: 00-C0-F0-48-E6-BC.
> Nov  3 08:49:33 invictus dhcpd: Multiple interfaces match the same subnet:
> eth0 eth1
> Nov  3 08:49:33 invictus dhcpd: Multiple interfaces match the same shared
> network: eth0 eth1
> Nov  3 08:49:33 invictus dhcpd: Listening on Socket/eth2/10.0.0.0
> Nov  3 08:49:33 invictus dhcpd: Sending on   Socket/eth2/10.0.0.0



Well, the above looks normal for startup. I do not see the dhcpd exit
message? Does it barf out without any logged data? Is the process still
running, but no longer responding to dhcp client requests?



> but I am also getting this error over and over again (perhaps its why dhcp
> is failing?)
> 
> Nov  3 11:39:35 invictus kernel: NETDEV WATCHDOG: eth2: transmit timed out
> Nov  3 11:39:35 invictus kernel: wvlan_cs: eth2 Tx timed out! Resetting card
> Nov  3 11:39:35 invictus kernel: wvlan_cs: MAC address on eth2 is 00 02 2d
> 21 95 61
> Nov  3 11:39:35 invictus kernel: wvlan_cs: Found firmware 0x60010 (vendor
> 1) - Firmware capabilities : 1-2-1-1-1
> Nov  3 11:39:35 invictus kernel: wvlan_cs: Valid channels: 1 2 3 4 5 6 7 8 9
> 10 11
> Nov  3 11:46:07 invictus kernel: NETDEV WATCHDOG: eth2: transmit timed out
> Nov  3 11:46:07 invictus kernel: wvlan_cs: eth2 Tx timed out! Resetting card
> Nov  3 11:46:07 invictus kernel: wvlan_cs: MAC address on eth2 is 00 02 2d
> 21 95 61
> Nov  3 11:46:07 invictus kernel: wvlan_cs: Found firmware 0x60010 (vendor
> 1) - Firmware capabilities : 1-2-1-1-1
> Nov  3 11:46:07 invictus kernel: wvlan_cs: Valid channels: 1 2 3 4 5 6 7 8 9
> 10 11
> 
> Any ideas?

A few...

(Just so you know, I frequently post more detail in answers than the
indivudal needs in their response so those that may choose to follow can
understand the reasoning too. Please dont think that I dont think you dont 
know the foundations re-created. :-)

There are problems in the v2 dhcpd server when attempting to package too
much data into the outgoing response and exceed the protocol specs. Exceed
the max allowed buffer, and data is dropped. This is proably not the case
with what you are doing, but why not shorten the domain name for the
802.11 network? Make it something that can be resolved. After all, clients
will append that to their DNS lookup (most will do this) when another
lookup fails.

it is much like the "search" directive's arguement in /etc/resolv.conf or
the "search domains" option in M$ windows. Otherwise your DNS lookups will
look weird, and you may exceed the max name-size for long hosts that are
typos. (Say enter in: www.there-can-be-only-one.commm and the NS lookup
fails, then your host will try:
www.there-can-be-only-one.commm.dhcpd-on-the-802.11-network-work
which exceeds the max name length for hostname lookups (63). This should
not cause dhcpd to fail. A lack of ability to resolve the domain may cause
other problems though. Mentioned partly as a side note.

You place these two items on the same line:
  default-lease-time 600 max-lease-time 7200;
Why not change to:
  default-lease-time 600;
  max-lease-time 7200;
(looks happier)


You show the log of the card going up and down, and seem to have made an
excellent guess as to the cause of your dhcp woes. If your interface is
actually brought down, and the dhcp server is still running without
exiting, it may loose its context with the the interface even if the
interface is brought back up.  Have you determined that the dhcpd service
is lost at the time after the interface goes down? is the dhcpd process
still running? Verify tis is the correlation and you have properly
diagnosed your dhcp problems. (I did not see anything glaring at me from
your config files other than what I stated above.)

Way back in time, I seem to recall there were problems with old linux
kernels and old dhcp servers and a need to include a broadcast address in
a configuration for windows machines. Is dhcp not working for just one
machine, or all of the machines? If just one machine, is it ruynning
windows?

I'd need to get more information, but from what you have shown, it does
not look to me like it is directly a dhcp problem, but the loss of dhcp is
a symptom to another problem.

Try running dhcp in foreground mode (-f) so you can see what it
reports. Another thing? try this:
bash# date ; dhcpd -f -d (your other args here) ; date
so you can see when exactly (datestamp) it failed and compare that time
with the time in your logfile for the card going down - esp useful if dhcp
is exiting without any logging of reason for failure.

Also, what version kernel? Any "extra patches" to the kernel? What version
of card services?

Mmmm... more data is good.

-ME

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/CM$/IT$/LS$/S/O$ !d--(++) !s !a+++(-----) C++$(++++) U++++$(+$) P+$>+++ 
L+++$(++) E W+++$(+) N+ o K w+$>++>+++ O-@ M+$ V-$>- !PS !PE Y+ !PGP
t at -(++) 5+@ X@ R- tv- b++ DI+++ D+ G--@ e+>++>++++ h(++)>+ r*>? z?
------END GEEK CODE BLOCK------
decode: http://www.ebb.org/ungeek/ about: http://www.geekcode.com/geek.html



More information about the talk mailing list