Конфигурация DJBDNS DNSCache, svscan не запускается

Последние несколько дней я ломал голову, пытаясь настроить DJBDNS на моем сервере. Мне не слишком повезло. Я следовал руководству, предоставленному создателем DJBDNS: 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/data записей:

..: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

Крошечные днс могут распознать множество записей:

[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-адресов в системе. Что мне здесь не хватает?

1 ответ

TinyDNS и DNScache полностью независимы. Просто убедитесь, что вы не пытаетесь связать их по одному и тому же адресу, поскольку им обоим нужен порт UDP 53.

Обычно вы запускаете dnscache на 127.0.0.1:53 и tinydns на общедоступных:53. Проверьте это в соответствующих файлах env/IP обеих служб.

Вот процедура устранения неполадок служб, не запускающихся. Предположим, вы начали с tinydns.

  1. Снеси тиниды:

    svc -d /service/tinydns
    
  2. убедитесь, что другие экземпляры tinydns не запущены:

    ps ax | grep tinydns ; killall tinydns
    
  3. войдите в каталог сервиса и запустите сервис в интерактивном режиме:

    cd /service/tinydns
    ./run
    

Если это работает, решите это на уровне daemontools. Уберите их из вашего скрипта запуска и запустите вручную:

svscan /service

Если это работает, проблема в сценариях, которые вы используете для запуска самого daemontools. В Linux это часто /etc/inittab или же /etc/init/svscan.conf, На FreeBSD /usr/local/etc/rc.d/svscan,

Другие вопросы по тегам