DJBDNS DNSCacheconfiguration,svscan不会启动

最近几天试图在我的服务器上设置DJBDNS的过程中,我一直在绞尽脑汁。 我没有太多运气。 我一直在遵循DJBDNS的创build者提供的指南: http ://cr.yp.to/djbdns/run-server.html

这里是我所处的地方:

这两个服务都起来了:

[root@Happycat tinydns]$ svstat /service/tinydns/ /service/tinydns/: up (pid 18224) 74454 seconds [root@Happycat tinydns]$ svstat /service/dnscache/ /service/dnscache/: up (pid 2733) 2184 seconds 

我的/etc/resolv.conf文件:

 nameserver 127.0.0.1 

我的$PATH

 [root@Happycat ~]$ echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/sbin:/usr/sbin:/var/qmail/bin/:/usr/nexkit/bin:/root/bin 

我的tinydns/root/datalogging:

 ..:69.160.56.65:a:259200 .ns1.benwilk.com:69.160.56.65:a:259200 .ns2.benwilk.com:69.160.56.65:a:259200 .56.160.69.in-addr.arpa:69.160.56.65:a:259200 .56.160.69.in-addr.arpa:69.160.56.65:b:259200 =benwilk.com:69.160.56.65:86400 =openbarrel.net:69.160.56.65:86400 +www.openbarrel.net:69.160.56.65:86400 +www.benwilk.com:69.160.56.65:86400 

微小的DNS可以识别logging集:

 [root@Happycat root]$ tinydns-get a benwilk.com 1 benwilk.com: 78 bytes, 1+1+1+1 records, response, authoritative, noerror query: 1 benwilk.com answer: benwilk.com 86400 A 69.160.56.65 authority: . 259200 NS a.ns additional: a.ns 259200 A 69.160.56.65 

但接下来呢就是停顿一下:

 svscan /service/tinydns/ supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to acquire log/supervise/lock: temporary failure supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist supervise: fatal: unable to acquire log/supervise/lock: temporary failure supervise: fatal: unable to start env/run: file does not exist supervise: fatal: unable to start supervise/run: file does not exist supervise: fatal: unable to start root/run: file does not exist 

我假设我必须设置DNScache,说实话,它有点混乱。 我不确定是否将其IP地址设置为127.0.0.1或系统上的其他IP地址之一。 我从这里错过了什么?

TinyDNS和DNScache是​​完全独立的。 只要确保你没有试图绑定他们在相同的地址,因为他们都需要UDP端口53。

通常在127.0.0.1:53上运行dnscache,在public:53上运行。 在两个服务的相应env / IP文件中进行validation。

以下是对服务进行故障排除的步骤。 假设你从tinydns开始。

  1. 取下铁皮:

     svc -d /service/tinydns 
  2. 检查是否没有其他的tinydns运行实例:

     ps ax | grep tinydns ; killall tinydns 
  3. 进入服务目录并交互式运行服务:

     cd /service/tinydns ./run 

如果这样做,在守护进程级别上进行。 从启动脚本中取下它们并手动运行它们:

 svscan /service 

如果这样做,问题在于你用来启动daemontools本身的脚本。 在Linux上通常是/etc/inittab/etc/init/svscan.conf 。 在FreeBSD上/usr/local/etc/rc.d/svscan