Hm, making pdns implement the $named virtual facility do not seem to be enough. The server is not accepting DNS requests when the init.d script exits, causing dhcpd to fail to start even if its init.d script depend on $named. This syslog snipped show the issue. Notice how the LDAP server is operational first, pdns starts, dhcpd starts and then pdns report that it is listening to DNS requests on TCP and UDP:
Jun 16 13:32:23 tjener slapd[2341]: slapd starting Jun 16 13:32:24 tjener pdns[2358]: Listening on controlsocket in '/var/run/pdns.controlsocket' Jun 16 13:32:24 tjener pdns[2363]: Guardian is launching an instance Jun 16 13:32:24 tjener pdns[2363]: Reading random entropy from '/dev/urandom' Jun 16 13:32:24 tjener dhcpd: Connecting to LDAP server ldap:389 Jun 16 13:32:24 tjener dhcpd: Successfully logged into LDAP server ldap Jun 16 13:32:24 tjener dhcpd: Cannot find host LDAP entry dhcp (&(objectClass=dhcpServer)(cn=dhcp)) Jun 16 13:32:24 tjener dhcpd: Configuration file errors encountered -- exiting Jun 16 13:32:24 tjener dhcpd: Internet Systems Consortium DHCP Server V3.1.3 Jun 16 13:32:24 tjener dhcpd: Copyright 2004-2009 Internet Systems Consortium. Jun 16 13:32:24 tjener dhcpd: All rights reserved. Jun 16 13:32:24 tjener dhcpd: For info, please visit https://www.isc.org/software/dhcp/ Jun 16 13:32:24 tjener dhcpd: Connecting to LDAP server ldap:389 Jun 16 13:32:24 tjener dhcpd: Successfully logged into LDAP server ldap Jun 16 13:32:24 tjener dhcpd: Cannot find host LDAP entry dhcp (&(objectClass=dhcpServer)(cn=dhcp)) Jun 16 13:32:24 tjener dhcpd: Configuration file errors encountered -- exiting Jun 16 13:32:24 tjener pdns[2363]: This is a guarded instance of pdns Jun 16 13:32:24 tjener pdns[2363]: It is advised to bind to explicit addresses with the --local-address option Jun 16 13:32:24 tjener pdns[2363]: UDP server bound to 0.0.0.0:53 Jun 16 13:32:24 tjener pdns[2363]: TCP server bound to 0.0.0.0:53 Jun 16 13:32:24 tjener pdns[2363]: PowerDNS 2.9.22 (C) 2001-2009 PowerDNS.COM BV (May 23 2010, 12:35:32, gcc 4.4.4) starting up Jun 16 13:32:24 tjener pdns[2363]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2. Jun 16 13:32:24 tjener pdns[2363]: DNS Proxy launched, local port 15935, remote 127.0.0.1:1553 Jun 16 13:32:24 tjener pdns[2363]: Creating backend connection for TCP Jun 16 13:32:24 tjener pdns[2363]: About to create 3 backend threads for UDP Jun 16 13:32:24 tjener pdns[2363]: Done launching threads, ready to distribute questions I tried adding 'sleep 2' at the end of the 'start' block in init.d/pdns, and this changed the ordering to this: Jun 16 13:41:57 tjener slapd[2155]: slapd starting Jun 16 13:41:57 tjener pdns[2184]: Listening on controlsocket in '/var/run/pdns.controlsocket' Jun 16 13:41:57 tjener pdns[2187]: Guardian is launching an instance Jun 16 13:41:57 tjener pdns[2187]: Reading random entropy from '/dev/urandom' Jun 16 13:41:58 tjener pdns[2187]: This is a guarded instance of pdns Jun 16 13:41:58 tjener pdns[2187]: UDP server bound to 127.0.0.1:53 Jun 16 13:41:58 tjener pdns[2187]: UDP server bound to 10.0.2.2:53 Jun 16 13:41:58 tjener pdns[2187]: TCP server bound to 127.0.0.1:53 Jun 16 13:41:58 tjener pdns[2187]: TCP server bound to 10.0.2.2:53 Jun 16 13:41:58 tjener pdns[2187]: PowerDNS 2.9.22 (C) 2001-2009 PowerDNS.COM BV (May 23 2010, 12:35:32, gcc 4.4.4) starting up Jun 16 13:41:58 tjener pdns[2187]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2. Jun 16 13:41:58 tjener pdns[2187]: DNS Proxy launched, local port 30607, remote 127.0.0.1:1553 Jun 16 13:41:58 tjener pdns[2187]: Creating backend connection for TCP Jun 16 13:41:58 tjener pdns[2187]: About to create 3 backend threads for UDP Jun 16 13:41:58 tjener pdns[2187]: Done launching threads, ready to distribute questions Jun 16 13:41:58 tjener kdm: :0[1961]: ignoring low-UID user (0 < 1000) Jun 16 13:41:59 tjener dhcpd: Connecting to LDAP server ldap:389 Jun 16 13:41:59 tjener dhcpd: Successfully logged into LDAP server ldap Jun 16 13:41:59 tjener dhcpd: Found dhcpServer LDAP entry 'cn=dhcp,dc=skole,dc=skolelinux,dc=no' Jun 16 13:41:59 tjener dhcpd: LDAP: Parsing dhcpServer options 'cn=dhcp,dc=skole,dc=skolelinux,dc=no' ... This time the LDAP server starts, pdns starts and is ready to handle DNS requests before dhcpd starts, and the DHCP server is able to get going at boot. Can the pdns init.d script or the pdns source be changed to make sure pdns is operational when the init.d script exits? Happy hacking, -- Petter Reinholdtsen -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org