From owner-freebsd-questions@FreeBSD.ORG Sun Aug 14 07:35:22 2011 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 58F2F1065675 for ; Sun, 14 Aug 2011 07:35:22 +0000 (UTC) (envelope-from s.dave.jones@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 14BCD8FC14 for ; Sun, 14 Aug 2011 07:35:21 +0000 (UTC) Received: by vws18 with SMTP id 18so4427018vws.13 for ; Sun, 14 Aug 2011 00:35:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=O56UBcxNp0snP4abXhQEEiH1ERdZtnhtQcKG4Rl0xmc=; b=lGz1PM4pgGM11KWEojjpKPob+NM0kSKbVXlC3wGeRqlzpa1Xrc9YQ/rnV4GqHF9jdc 4YvnoMg5V0LAuVnnrQe8uCNHtCEwKFfH80wpSClHvJAcnJYPkgZXtTAv//3afiyygZij o/JlrF60mXEACYdPjwLnqrJP7W1vLyO5/atpE= MIME-Version: 1.0 Received: by 10.52.88.200 with SMTP id bi8mr2453531vdb.212.1313307321208; Sun, 14 Aug 2011 00:35:21 -0700 (PDT) Received: by 10.52.109.72 with HTTP; Sun, 14 Aug 2011 00:35:21 -0700 (PDT) In-Reply-To: <20110812203204.931270c4.cjr@cruwe.de> References: <20110727223034.0c0f0c8d@dijkstra> <20110812203204.931270c4.cjr@cruwe.de> Date: Sun, 14 Aug 2011 15:35:21 +0800 Message-ID: From: dave jones To: "Christopher J. Ruwe" Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-questions@freebsd.org" Subject: Re: How to get ip address automatically from different dhcp server X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Aug 2011 07:35:22 -0000 On Sat, Aug 13, 2011 at 2:32 AM, Christopher J. Ruwe wrote: > 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 =A0wrote: >>> 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. >>>> _______________________________________________ >>>> freebsd-questions@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-questions >>>> To unsubscribe, send any mail to >>>> "freebsd-questions-unsubscribe@freebsd.org" >>> >>> 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 exit= s >>> # 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 ; ifconf= ig $subsystem inet 0.0.0.0"; >>> }; >>> >>> 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 = unless >> 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 r= unning, but an external DHCP-server is not. Your computer tries to get an I= P 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 a= nd out to get an IP? Right. I'm sorry for the confusion. > Assuming I understand correctly, that is exactly what should happen. You = see, normally DHCP-servers don't flood the network with "Hello all dhclient= s, I am dhcp-server, please tell me if you need an IP", usually the opposit= e direction is in order as in "hello dhcp-server, I am dhclient, I need an = IP, please give me one". > You now have two options: 1) You coerce a manual request be running dhcli= ent. 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= an absurldly low threshold, so you are saved doing the dhcp-discover-proce= dure manually. It is, however, dubious, whether you want to do so. It might= be a smarter way to fix that DHCP-server of yours. Thank you for the clear explanation. I will add "retry 10" in dhclient.conf and give it a try. I'm wondering if net/ifstated will work in this case. I'll give it a shot as well. Thanks again! > Hope to have been of some help here, > cheers > -- > Christopher J. Ruwe > TZ GMT + 2 > Regards, Dave.