Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Aug 2011 20:32:04 +0200
From:      "Christopher J. Ruwe" <>
To:        dave jones <>
Cc:        "" <>
Subject:   Re: How to get ip address automatically from different dhcp server
Message-ID:  <>
In-Reply-To: <>
References:  <> <20110727223034.0c0f0c8d@dijkstra> <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
On Fri, 12 Aug 2011 11:46:34 +0800
dave jones <> wrote:

I rearrange your mail and post bottom to enable others to have a look.

>On Thu, Jul 28, 2011 at 4:30 AM, Christopher J. Ruwe  wrote:
>> On Wed, 27 Jul 2011 10:49:42 +0800
>> dave jones <> wrote:
>>> Hi,
>>> I cat get an IP address from dhcp server by adding the line
>>> in /etc/rc.conf:
>>> ifconfig_em0=3D"DHCP"
>>> If I move my laptop to another place, I have to manually run
>>> "dhclient em0" to get an IP. Otherwise, it won't get an IP
>>> automatically.
>>> My question is it's possible to get ip address automatically from
>>> different dhcp server? thanks.
>>> Regards,
>>> Dave.
>>> _______________________________________________
>>> mailing list
>>> To unsubscribe, send any mail to
>>> ""
>> Have a look at /etc/devd.conf. Mine include a portion
>> #
>> # Try to start dhclient on Ethernet like interfaces when the link comes
>> # up. =A0Only devices that are configured to support DHCP will actually
>> # run it. =A0No link down rule exists because dhclient automaticly exits
>> # when the link goes down.
>> #
>> notify 0 {
>> =A0 =A0 =A0 =A0match "system" =A0 =A0 =A0 =A0 =A0"IFNET";
>> =A0 =A0 =A0 =A0match "type" =A0 =A0 =A0 =A0 =A0 =A0"LINK_UP";
>> =A0 =A0 =A0 =A0media-type =A0 =A0 =A0 =A0 =A0 =A0 =A0"ethernet";
>> =A0 =A0 =A0 =A0action "/etc/rc.d/dhclient quietstart $subsystem";
>> };
>> #
>> notify 0 {
>> =A0 =A0 =A0 =A0match "system" =A0 =A0 =A0 =A0 =A0"IFNET";
>> =A0 =A0 =A0 =A0match "type" =A0 =A0 =A0 =A0 =A0 =A0"LINK_DOWN";
>> =A0 =A0 =A0 =A0media-type =A0 =A0 =A0 =A0 =A0 =A0 =A0"ethernet";
>> =A0 =A0 =A0 =A0action "/etc/rc.d/dhclient quietstop $subsystem ; ifconfi=
g $subsystem inet";
>> };
>> I am under the impression that this rule does what you want to do.
>> Cheers,
>> --
>> Christopher J. Ruwe
>> TZ GMT + 2

> Hi Christopher,
> Thanks for your solution. It does help a lot, but there's one problem.
> For example, DHCP server is not started for some reason and my computer's
> ethernet cable is plugged. Once dhcp server started, I can't get the IP u=
> I unplug and then plug the ethernet cable. Do you know how to solve
> this issue? Thank you.
> Regards,
> Dave.

Ok. To check whether I understand what you are saying: Your computer is run=
ning, but an external DHCP-server is not. Your computer tries to get an IP =
from the external DHCP server, which is down, so dhclient is unsuccessful. =
You then kick the DHCP-server back to live and then you have to plug in and=
 out to get an IP?

Assuming I understand correctly, that is exactly what should happen. You se=
e, normally DHCP-servers don't flood the network with "Hello all dhclients,=
 I am dhcp-server, please tell me if you need an IP", usually the opposite =
direction is in order as in "hello dhcp-server, I am dhclient, I need an IP=
, please give me one".=20
You now have two options: 1) You coerce a manual request be running dhclien=
t. 2) You plug in and out, which runs dhclient as you have configured to do=
 so in your devd.conf.
Of course you can set the retry-time for dhclient (see `man dhclient`) to a=
n absurldly low threshold, so you are saved doing the dhcp-discover-procedu=
re manually. It is, however, dubious, whether you want to do so. It might b=
e a smarter way to fix that DHCP-server of yours.

Hope to have been of some help here,=20
Christopher J. Ruwe
TZ GMT + 2

Want to link to this message? Use this URL: <>