web-dev-qa-db-ja.com

tinydnsの安定性?

Ubuntu 10.04 LTSにインストールされているように、dnscacheの背後にあるtinydnsを使用してLAN上のマシン名を解決しています。説明がない場合、ローカル名はネットワーク上のどのマシンでも解決できないことがよくあります。 tinydnsが応答しなくなったようです。サーバーを再起動すると役立つ場合がありますが、それは私がUnixサーバーを実行する方法ではありません。 tinydnsを殺すことも時々うまくいくようですが、いつもではありません。

ローカルDNSサーバーを実行しようとした私の全体的な経験は、resolv.confファイルを注意深く調整し、tinydnsがランダムに失敗したように見えるため、良くありませんでした。他の人がdjbdnsに問題がある場合は、私に知らせてください。 DNS診断のヒントも役立ちます。

更新:

ログを簡単にチェックすると、I/O障害に関する苦情が表示され、その後、指定されたアドレスに結合できないという苦情が表示されます。ログに何も報告されない場合があり、アプリは単に応答を停止します。

独自の問題があったセットアップについてのメモ。 dnscacheは1つのIPアドレスのeth0で実行され、tinydnsは最初は別のIPアドレスのeth0:0で実行されました。 (djbがそうすべきだと言っていても、127.0.0.1でtinydnsをセットアップすることはまったく機能しませんでした。)しかし、Ubuntuがeth0:0を自動的に開始するのに問題があるため、このセットアップ(eth0:0)は再起動時に機能しませんでした。エイリアスをeth0:1に変更すると、再起動時にインターフェイスが自動的に起動します。これは、一見単純なタスクで予想されるよりも多くの冒険です。

今のところ、私は完全に別のサーバーでtinydnsを試していますが、それが安定している場合は報告します。

1
casualcoder

これをデバッグするのは最も簡単ではありません。特にUDPとtinydns(ハードコードされたポート53)で開始します。

まず、基本構成が正しいことを確認します。

  1. dnscacheとtinydnsが2つの異なるIPアドレスで実行されていることを確認してください(お互いのソケットを盗まないように)
  2. 127.0.0.1:53が空いていることを確認してください。つまり、他のデーモンがシステムによってそこでリッスンしていないことを確認してください(netstat -n
  3. 127.0.0.1でtinydnsを実行し、Dig yr-authoritative-dom.com @127.0.0.1を使用して手動でクエリします。これは常に確実に機能する必要があります
  4. パブリックeth0IPアドレスでdnscacheを実行します。 root/servers /ディレクトリで、yr-authoritative-dom.comに127.0.0.1を指定します。 root/ipに192.168(またはクエリ元のアドレスプレフィックス)を入力します

これが機能しない場合は、次の可能性を検討してください。

  • リソースの枯渇にはいくつかの問題があります。 dnscacheロギングを一時的に完全に無効にして(「log/run」の名前を変更して)、問題が再び発生するかどうかを確認してください。
  • 他のプロセスは、IP:53ソケットをdnscacheから再バインドしています。
1
michele