[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

dhclient & switching networks



When I connect to my network at home through the lan (wired) connection of a
Linksys WRT54G router, I get an address in the 192.168.1.* range, assigned
by the DHCP server in the router.  Next morning when I connect at work,
dhclient immediately gives me the same IP.


Sep  8 08:44:18 othello dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
port 67 interval 4
Sep  8 08:44:18 othello dhclient: DHCPOFFER from 192.168.1.1
Sep  8 08:44:18 othello dhclient: DHCPREQUEST on eth0 to 255.255.255.255
port 67
Sep  8 08:44:18 othello dhclient: DHCPACK from 192.168.1.1


What I should be getting is:

Sep  8 08:46:12 othello dhclient: DHCPDISCOVER on eth0 to 255.255.255.255
port 67 interval 3
Sep  8 08:46:12 othello dhclient: DHCPOFFER from 142.2.5.254
Sep  8 08:46:12 othello dhclient: DHCPREQUEST on eth0 to 255.255.255.255
port 67
Sep  8 08:46:12 othello dhclient: DHCPACK from 142.2.5.254

It would seem somebody's got a rogue DHCP server on our network, but what
confuses me is that if I simply delete the /var/run/dhclient.eth0.leases
file (which _only_ contains the address from the home DHCP server, nothing
from previous connections to this subnet), the next time I run dhclient it
finds the right DHCP server and assigns the right address.

Another confusing thing is that this only happens if my address was assigned
by the router.  When I connect at home through a machine with Win98SE
Internet Connection Sharing, and get an address in the 192.168.0.* range,
no problem - but I am guessing this is somehow connected to the fact that
the rogue server on this net isn't handing out 192.168.0.* addresses.

My questions are:
Am I right that there is really a server on 192.168.1.1 (I can't ping it)? 
How could I find out?

Or is it simply reusing the lease without really calling the DHCP server -
if so, why would it _say_ it sent the DHCPDISCOVER?  (this just doesn't
seem at all likely to me).

How can I prevent getting assigned the 192.168.1.* address at work (I'm
currently using dhcp3-client, ifupdown, ifplugd & whereami).  The really
simple solution is to delete the lease file before booting, but it seems so
inelegant! (Not to mention that it loses the whole point of having a lease
file).

One final question, why wasn't there a lease from 142.2.*.* (there's at
least two different DHCP servers there) in my lease file already, from
yesterday?  They give lease times of one month.  Am I just using the wrong
DHCP client (so many choices, so little time :-))
-- 
derek



Reply to: