Subject: Re: dhclient and backgrounding
To: Zafer Aydogan <zafer@aydogan.de>
From: Alexandre Almeida <ale.almeida@mail.telepac.pt>
List: tech-net
Date: 11/27/2006 12:48:34
Zafer Aydogan escreveu:
> I just wanted to pick up this subject again, because it doesn't seem
> to work. (at least for me.)
> retry and reboot options in etc/dhclient.conf seems to be ignored.
>
> Meanwhile I found out that FreeBSD switched from ISC dhclient to
> OpenBSD's dhclient implementation since 6.0. Anybody know why ?
>
> Anyway, I just wanted to express that the current state of dhclient is
> unsatisfying.
> There seems to be no way to obtain an IP Adress, after you missed the
> initial dhclient discover process. :/
> Grrr.....
>
>
> 2006/11/15, Zafer Aydogan <zafer@aydogan.de>:
>> Hello Steven,
>>
>> it would be great if the dhclient.conf manpage would contain the
>> default location for itself (for the file dhclient.conf). I guess it's
>> /etc/dhclient.conf but it isn't mentioned anywhere.
>> And the unit of time in the retry statement "retry [time]" would be
>> great. It says the default is 5 minutes, but the example at the bottom
>> says "retry 60;", so I guess it's seconds.
>>
>> Least but not last. It doesn't matter what I enter for retry, it is 
>> ignored.
>>
>> Cheers, Zafer.
>>
>>
>>
>> 2006/11/15, Steven M. Bellovin <smb@cs.columbia.edu>:
>> > On Wed, 15 Nov 2006 17:32:42 +0100, "Zafer Aydogan" <zafer@aydogan.de>
>> > wrote:
>> >
>> > > 2006/11/15, Steven M. Bellovin <smb@cs.columbia.edu>:
>> >
>> > > > See the dhclient.conf man page -- you can change 'retry' (and 
>> some other
>> > > > timer-related options) to change that behavior.
>> > > >
>> > > >                 --Steven M. Bellovin, 
>> http://www.cs.columbia.edu/~smb
>> > > >
>> > > I did. It looks promising. But it didn't work.
>> > > I run tcpdump and kept an eye on it.
>> > > The man page says the default retry time is 5 minutes.
>> > > I waited 18 Minutes and nothing happened. The interface is up and
>> > > active but has still no IP.
>> > >
>> > >
>> > > and Hubert's quote doesn't work either.
>> > > "from dhclient(8): ``Old leases are kept around in case the DHCP 
>> server is
>> > > unavailable when dhclient is first invoked (generally during the 
>> initial
>> > > system boot process).  In that event, old leases from the 
>> dhclient.leases
>> > > file which have not yet expired are tested, and if they are 
>> determined to
>> > > be valid, they are used until either they expire or the DHCP server
>> > > becomes available.''
>> > >
>> > > I see the message "using old lease 192.168.0.203", but the interface
>> > > doesn't get configured.
>> > >
>> > >
>> > > Anything else I can do ?
>> > > I'm running current from 8th Nov. and my ethernet interface is fxp0.
>> > > (It's running very well.)
>> > > Is this maybe a dhclient bug ?
>> > > Zafer.
>> > >
>> > I'll reply in more detail later -- I have a feeling something more 
>> complex
>> > is going on.
>> >
>> >                 --Steven M. Bellovin, http://www.cs.columbia.edu/~smb
>> >
>>
Hello ...
I'm using dhclient, and my experience is being quite satisfactory (with 
some "bugs"...).

I'm using this configuration:
/etc/dhclient.conf
timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;
#reject 192.33.137.209;

interface "tlp1" {
send host-name "maneofhost";
#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 360;
#supersede domain-name "fugue.com rc.vix.com home.vix.com";
#prepend domain-name-servers 127.0.0.1;
#request subnet-mask, broadcast-address, time-offset, routers, 
domain-name, doma
in-name-servers, host-name;
#require subnet-mask, domain-name-servers;
#script "CLIENTBINDIR/dhclient-script";
#media "media 10baseT/UTP", "media 10base2/BNC";
}

#alias {
#interface "tlp1";
#fixed-address 192.168.1.101;
#option subnet-mask 255.255.255.0;
#}


/etc/ifconfig.ex0
up
!dhclient $int
inet 192.168.1.101 netmask 255.255.255.0 alias
!route add default 192.168.1.254

some results on tcpdump

# tcpdump -n port 67
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tlp0, link-type EN10MB (Ethernet), capture size 96 bytes
13:11:30.008996 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:00:f8:09:85:be, length: 300
13:11:45.010281 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:00:f8:09:85:be, length: 300
13:11:55.006929 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:00:f8:09:85:be, length: 300
13:13:09.039705 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:00:f8:09:85:be, length: 300
13:13:11.001987 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request 
from 00:00:f8:09:85:be, length: 300

and process

# ps -x
  PID TTY   STAT    TIME COMMAND
    0 ?     DKs  0:00.22 [swapper]
    1 ?     Is   0:00.06 init
    2 ?     DK   0:00.00 [cryptoret]
    3 ?     DK   0:00.00 [scsibus0]
    4 ?     DK   0:00.00 [pms0]
    5 ?     DK   0:00.00 [pagedaemon]
    6 ?     DK   7:34.61 [ioflush]
    7 ?     DK   0:00.30 [aiodoned]
  149 ?     Ss   0:05.76 /usr/sbin/syslogd -s
  269 ?     Is   0:21.26 /usr/sbin/sshd
  361 ?     Ss   0:15.85 sendmail: accepting connections
  378 ?     Is   0:00.01 /usr/sbin/inetd -l
  381 ?     Is   0:01.97 /usr/sbin/cron
  404 ?     Is   0:00.19 sshd: rty [priv]
  426 ?     Is   0:00.19 sshd: rty [priv]
 2970 ?     Ss   0:06.30 dhclient
 2981 ?     Is   0:00.20 sshd: rty [priv]
 6609 ?     Is   0:00.21 sshd: rty [priv]
   40 ttyp1 S    0:00.67 ksh
28296 ttyp1 R+   0:00.00 ps -x
 9714 ttyp2 I+   0:00.09 ksh
 7068 ttyp3 I+   0:00.09 ksh
  403 ttyE0 Is   0:00.06 login
  406 ttyE0 I+   0:00.03 -ksh


Alexandre Almeida