misc/80054: dns-servers are started to late if not named

Thomas Schweikle tps at vr-web.de
Mon Apr 18 01:30:30 PDT 2005


>Number:         80054
>Category:       misc
>Synopsis:       dns-servers are started to late if not named
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 18 08:30:28 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Thomas Schweikle
>Release:        FreeBSD 5.4-STABLE
>Organization:
>Environment:
FreeBSD hazel.tps 5.4-STABLE FreeBSD 5.4-STABLE #32: Wed Apr 13 12:49:28 CEST 2005     screen at hazel.tps:/usr/obj/usr/src/sys/HAZEL  i386
>Description:
      if an other dns server than named is used, like dnsmasq, this server is started after other daemons requiring dns services, like ntpdate and ntpd.
>How-To-Repeat:
      In /etc/rc.conf set:
| dnsmasq_enable="YES"
| named_enable="NO"

Configure dnsmasq in /usr/local/etc/dnsmasq.conf:
| domain-needed
| bogus-priv
| filterwin2k
| resolv-file=/etc/resolv.dnsmasq
| local=/invalid/
| expand-hosts
| domain=invalid
| dhcp-range=192.168.1.100,192.168.1.199,255.255.255.0,192.168.1.255,48h
| dhcp-option=3,192.168.1.1
| dhcp-authoritative
| cache-size=150
| no-negcache

Configure /etc/resolv.dnsmasq:
| search invalid
| nameserver 217.237.150.141
| nameserver 217.237.150.97

Configure /etc/resolv.conf:
| search invalid
| nameserver 127.0.0.1
| nameserver 192.168.1.11

Restart.
ntpdate will now be started before dnsmasq is running. Thus ntpdate will never find configured servers. This makes the system start extremly slow, since it waits for ntpdates dns query to time out. Second: time is never set by ntpdate, in tune ntpd does not sync if the local clocks displacement is to large.
>Fix:
      Any dns server selected has to start before and daemon using dns services. This makes daemon starting global. It can't matter a daemon being "Local" or "System". It maters what it provides.

The error is within the start procedure first starting all "System" daemons, then local ones. We can't do it this way. We have to intermix both, then find what has to be started first, regardless of "Local" or "System".
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list