From owner-freebsd-current@FreeBSD.ORG Thu Apr 24 15:09:28 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C0EB1106566B for ; Thu, 24 Apr 2008 15:09:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id BAB508FC1D for ; Thu, 24 Apr 2008 15:09:28 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unknown [208.65.91.234]) by elvis.mu.org (Postfix) with ESMTP id 3393A1A4D80; Thu, 24 Apr 2008 08:09:27 -0700 (PDT) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.2/8.14.2) with ESMTP id m3OF9CVO041986; Thu, 24 Apr 2008 11:09:13 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Eygene Ryabinkin Date: Thu, 24 Apr 2008 11:09:12 -0400 User-Agent: KMail/1.9.7 References: <200804240821.40601.jhb@freebsd.org> In-Reply-To: <200804240821.40601.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200804241109.12493.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Thu, 24 Apr 2008 11:09:14 -0400 (EDT) X-Virus-Scanned: ClamAV 0.91.2/6924/Thu Apr 24 06:04:50 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Poul-Henning Kamp , freebsd-current@freebsd.org Subject: Re: [RFC] Automated generation of /etc/resolv.conf from the rc.d script X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 24 Apr 2008 15:09:29 -0000 On Thursday 24 April 2008 08:21:40 am John Baldwin wrote: > On Monday 14 April 2008 11:44:13 am Eygene Ryabinkin wrote: > > Poul-Henning, good day. > > > > Fri, Dec 14, 2007 at 02:07:00PM +0300, Eygene Ryabinkin wrote: > > > Fri, Dec 14, 2007 at 10:57:38AM +0000, Poul-Henning Kamp wrote: > > > > In message , > Eygene Ryabinkin writes: > > > > >> It should be possible to run a local named even when we run DHCP, > > > > >> and it shuld be an option, to have it automatically forward to the > > > > >> DNS servers we learn from DHCP. > > > > > > > > > >This can be achieved with the script /etc/dhclient-exit-hooks that > > > > >will create the file with named 'forwarders' clause [...] > > > > > > > > Yes, I know that, but I would like to see it controllable from rc.conf > > > > like the rest of our network configuration. > > > > > > OK, since running local DNS instance is a neat idea, I will try to > > > draft the modifications for the dhclient-exit-hooks, as I described > > > in the previous mail. > > > > At last, I did the needed modifications: patches against 7.0 from > > yesterday, April 13th, are attached. The first one enables the > > creation of /etc/resolv.conf from rc.conf variables and the second > > brings the named forwarders rewriting using values obtained via > > DHCP. I had touched dhclient-script, but it was really needed, > > because it is not good to have simular functionality in /etc/rc.d/resolv > > and in the dhclient-script. > > > > I decided not to cope with modifications of /etc/namedb/named.conf, > > but rather to create other file, /etc/namedb/named.forwarders.conf, > > that should be included from the main configuration. > > > > I am living for two days with this configuration (DHCP + local named > > instance) and no problems were spotted yet. > > > > Testing and feedback are more than welcome. > > You can already override the domain name and DNS servers (including either > overriding, providing a default, or prepending or appending to the list) via > setings in /etc/dhclient.conf, so I don't think new rc.conf variables for > that would be warranted. Updating named.conf to forward is a neat idea. > Howver, on my laptop on HEAD I've ended up just running nscd instead of a > local DNS server and doing a 'nscd -I hosts' when I get a new lease to flush > the host cache. When I get to my laptop I'll post my bits of > dhclient-exit-hooks and dhclient.conf to make this work. On my laptop now so here are the relevant bits: In /etc/rc.conf: nscd_enable="YES" In /etc/nsswitch.conf: hosts: cache files dns In /etc/dhclient.conf: append domain-name " yahoo.com freebsd.org baldwin.cx"; (This adds more domains to the 'search' line in /etc/resolv.conf.) And my /etc/dhclient-exit-hooks (you can ignore the ntp bits): if [ "$exit_status" -eq 0 ]; then case $reason in BOUND|REBOOT|TIMEOUT) # If we have an NTP server, run ntpdate if [ -n "$new_ntp_servers" ]; then $LOGGER "New NTP Servers ($interface): $new_ntp_servers" ntpdate -s $new_ntp_servers fi # Flush host cache since DNS may have changed nscd -I hosts ;; esac fi This will all work on 7.0 as well since it has nscd. This is also good bit simpler than running a local DNS server if all you want to do is cache DNS lookups. -- John Baldwin