web-dev-qa-db-ja.com

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

小さなDNSは、レコードセットを認識できます。

[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つに設定するのかわかりません。ここから何が欠けていますか?

2
SecurityGate

TinyDNSとDNScacheは完全に独立しています。どちらもUDPポート53が必要なため、同じアドレスにバインドしようとしていないことを確認してください。

通常、dnscacheは127.0.0.1:53で実行し、tinydnsはpublic:53で実行します。両方のサービスのそれぞれのenv/IPファイルでこれを確認してください。

サービスが開始されない場合のトラブルシューティングの手順は次のとおりです。 tinydnsから始めると仮定します。

  1. Tinydnsを削除します。

    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

1
michele