英語フランス語スペイン語

Ad


OnWorksファビコン

デッドウッド - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーでデッドウッドを実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド deadwood です。

プログラム:

NAME


deadwood - 完全に再帰的なキャッシング DNS リゾルバー

DESCRIPTION


Deadwood は、完全に再帰的な DNS キャッシュです。 これは、次の機能を持つ DNS サーバーです。

* DNS 再帰と DNS 転送キャッシュの両方を完全にサポート

*組み込みシステムに適した小さなサイズとメモリフットプリント

* シンプルでクリーンなコードベース

* 安心設計

* スプーフィング保護: クエリ ID と送信元ポートを決定するために使用される強力な暗号化

*キャッシュをファイルに読み書きする機能

* 最近使用されていないエントリを削除する動的キャッシュ

* アップストリームに接続できない場合に、キャッシュ内の期限切れのエントリを使用する機能
DNSサーバー。

* 必要に応じて IPv6 サポートをコンパイルできます

* DNS-over-UDP と DNS-over-TCP の両方が同じデーモンによって処理されます

*組み込みのdnswall機能

COMMAND LINE 議論


Deadwood には、オプションのコマンド ライン引数が XNUMX つあります。
Deadwood が使用するファイル。「-f」フラグで指定します。 これが定義されていない場合、Deadwood
構成ファイルとしてファイル「/etc/maradns/deadwood/dwood3rc」を使用します。

つまり、Deadwood を次のように呼び出します。 枯れた木 デッドウッドが使用するようになります
/etc/maradns/deadwood/dwood3rc を設定ファイルとして。 デッドウッドを次のように呼び出す 枯れた木 -f
foob​​ar Deadwood が現在の作業ディレクトリ (
ディレクトリ XNUMX は、Deadwood の起動時に存在します) を構成ファイルとして使用します。

CONFIGURATION FILE FORMAT


Deadwood 構成ファイルは、Python 2 の構文をモデルにしています。 有効なデッドウッド
構成ファイルも、Python 2.4.3 と Python 2.6.6 の両方で正しく解析する必要があります。 もしも
どの構成ファイルも Deadwood では正しく解析されますが、Deadwood では構文エラーが発生します。
Python、これは修正すべきバグです。

これを念頭に置いて、空白は重要です。 Deadwood パラメータは一番左にある必要があります
先頭に空白がない列。 これは有効な行です (スペースがない限り)
その左):

recursive_acl = "127.0.0.1/16"

ただし、次の行では解析エラーが発生します。

recursive_acl = "127.0.0.1/16"

誤ってフォーマットされた「recusive_acl」文字列の左側のスペースを確認します。
ライン。

パラメータ TYPES


Deadwood には XNUMX つの異なるパラメーター タイプがあります。

* 数値パラメーター。 数値パラメータは、次のように引用符で囲んではいけません
例:

フィルター_rfc1918 = 0

数値パラメータが引用符で囲まれている場合、エラー メッセージ "Unknown dwood3rc
文字列パラメータ」が表示されます。

* 文字列パラメーター。 文字列パラメーターは、このように引用符で囲む必要があります
例:

bind_address = "127.0.0.1"

* 辞書パラメーター。 すべてのディクショナリ パラメータは、使用前に初期化する必要があります。
辞書パラメーターには、辞書インデックスとそのインデックスの値の両方が必要です
次の例のように、引用符で囲みます。

アップストリーム サーバー = {}
アップストリーム_サーバー["."]="8.8.8.8、8.8.4.4"

すべての dwood3rc パラメータ 以下は除く 以下は数値パラメータです。

* bind_address (文字列)

* cache_file (文字列)

* chroot_dir (文字列)

* ip_blacklist (文字列)

* ipv4_bind_addresses (文字列)

* random_seed_file (文字列)

* recursive_acl (文字列)

* root_servers (辞書)

* アップストリーム_サーバー (ディクショナリ)

サポートされている パラメーター


Deadwood 構成ファイルは、次のパラメーターをサポートしています。

バインドアドレス

これは、バインド先の IP (または場合によっては IPv6) アドレスです。

キャッシュファイル

これは、キャッシュをディスクに読み書きするために使用されるファイルのファイル名です。 これ
文字列には、小文字、「-」記号、「_」記号、および「/」記号を含めることができます (
キャッシュをサブディレクトリに置く)。 他のすべての記号は「_」記号になります。

このファイルは、Deadwood が実行されているユーザーとして読み書きされます。

chroot_dir

これは、プログラムが実行されるディレクトリです。

配達_すべて

これは Deadwood 2.3 の動作に影響しますが、Deadwood 3 には影響しません。この変数は
Deadwood 2 の rc ファイルを Deadwood 3 で実行できるようにするため、ここでのみ使用します。

dns_port

これは、Deadwood がバインドし、着信接続をリッスンするポートです。 デフォルト
これの値は、標準の DNS ポートです: ポート 53

フィルター_rfc1918

この値が 1 の場合、多くの異なる IP 範囲が DNS A に存在することは許可されません
返信:

* 192.168.xx

* 172.[16-31].xx

* 10.xxx

* 127.xxx

* 169.254.xx

* 224.xxx

* 0.0.xx

上記の IP のいずれかが DNS 応答で検出され、filter_rfc1918 の値が 1 の場合、
Deadwood は合成の「このホストは応答しません」という応答を返します (
A レコードの代わりに NS セクション)。

これの理由は、ユーザーをある種の脅威から保護する「dnswall」を提供するためです。
で説明されているように、攻撃 http://crypto.stanford.edu/dns/

Deadwood は IPv4 の「dnswall」機能のみを提供し、役に立たないことに注意してください。
IPv6 回答から保護します。 特定の IPv6 AAAA レコードに対する保護が必要な場合、
reject_aaaa の値を 1 に設定してすべての AAAA 回答を無効にするか、
望ましくない IPv4 応答をフィルタリングするための外部プログラム (dnswall プログラムなど)。

これのデフォルト値は 1 です

handle_noreply

これが 0 に設定されている場合、Deadwood はクライアントに応答を返しません (クライアントが
UDP クエリがアップストリームに送信され、
アップストリーム DNS は応答を送信しません。

これが 1 に設定されている場合、UDP クエリが実行されたときに Deadwood はクライアントに SERVER FAIL を返します。
アップストリームに送信され、アップストリーム DNS は応答を送信しません。

これのデフォルト値は 1 です

ハンドルオーバーロード

この値が 0 の場合、UDP クエリが送信されたときに Deadwood は応答を送信せず、
サーバーが過負荷になっています (保留中の接続が多すぎます)。 値が 1 の場合、
Deadwood は、SERVER FAIL パケットを UDP クエリの送信者に送り返します。 デフォルト値
これは 1 です。

ハッシュマジックナンバー

これは、Deadwood の内部ハッシュ ジェネレーターがハッシュ ジェネレーターを保持するために使用されていました。
ややランダムで、特定の種類の攻撃に耐性があります。 Deadwood 3.0 では、
ハッシュ関数は、/dev/urandom (Windows では secret.txt) の内容を調べることで作成されます
マシン) と現在のタイムスタンプ。 このパラメータはここだけなので古い設定です
ファイルは Deadwood 3.0 で壊れません。

ip_ブラックリスト

これは、DNS 要求への応答に含めることを許可しない IP のリストです。 の
この理由は、一部の ISP が「このサイトを変換する」慣行に対抗するためです。
存在しません」という DNS 応答が、ISP によって制御されているページに送信されます。この結果、
セキュリティの問題。

このパラメーターは個々の IP のみを受け入れ、ネットマスクは使用しません。

maradns_uid

ユーザー ID Deadwood は次のように実行されます。 10 から 65535 までの任意の数値を指定できます。 デフォルト
値は 99 です (RedHat 由来の Linux ディストリビューションには誰もいません)。 この値は使用されません
Windows システム。

maradns_gid

グループ ID Deadwood は次のように実行されます。 10 から 65535 までの任意の数値を指定できます。 デフォルト
値は 99 です。この値は Windows システムでは使用されません。

max_ar_chain

リソース レコードのローテーションが有効かどうか。 この値が 1 の場合、リソース レコード
それ以外の場合、リソース レコードのローテーションは無効になります。

通常、リソース レコードのローテーションは望ましいものです。
ロードバランサー。 ただし、負荷の高いシステムでは、これを無効にすることが望ましい場合があります。
CPU 使用率を減らします。

この変数の珍しい名前の理由は、MaraDNS との互換性を維持するためです。
mararc ファイル。

デフォルト値は 1: リソース レコードのローテーションが有効です。

max_inflights

同じクエリに対して同時に処理する同時クライアントの最大数。

たとえば、「example.com.」のクエリを処理しているときに、別の DNS クライアントが
処理する新しいクエリを作成する代わりに、example.com のデッドウッド別のクエリ
example.com の場合、Deadwood は新しいクライアントを、既に「in」にある同じクエリにアタッチします。
フライト」と入力し、example.com への回答が得られたら、両方のクライアントに返信を送信します。

これは、特定のクエリが持つことができる同時クライアントの数です。 もしこの制限が
超えると、同じクエリを持つ後続のクライアントは、回答が見つかるまで拒否されます。 もしも
この値は 1 です。同じクエリに対する複数のリクエストをマージするのではなく、それぞれに
独自の接続を要求します。

デフォルト値は8です。

max_ttl

エントリをキャッシュに保持する最大時間 (秒単位) (別名:
「最大 TTL」)。

これは、エントリをキャッシュに保持する最長時間です。 このパラメータのデフォルト値は
86400 (300 日); 最小値は 5 (XNUMX 分) で、これが持つことができる最大値は
7776000 (90 日) です。

このパラメータがここにある理由は、Deadwood を悪用する攻撃から保護するためです。
「Ghost Domain Names」攻撃など、キャッシュに古いデータが存在する。

最大キャッシュ要素

キャッシュに許可される要素の最大数。 これは32の間の数字です
そして16,777,216; このデフォルト値は 1024 です。
ディスクまたはディスクからキャッシュを読み取る場合、この値が高いほどキャッシュが遅くなります
読み書き。

各キャッシュ エントリが使用するメモリの量は、オペレーティング システムによって異なります。
使用され、割り当てられたメモリ割り当てページのサイズ。 たとえば、Windows XP では、それぞれ
entry は約 XNUMX キロバイトのメモリを使用し、Deadwood のオーバーヘッドは
約 512 キロバイト。 したがって、キャッシュ要素が 512 個ある場合、Deadwood は次を使用します。
約 2.5 メガバイトのメモリ。1024 個のキャッシュ要素がある場合、Deadwood は
約 4.5 メガバイトのメモリ。 繰り返しますが、これらの数値は Windows XP およびその他のものです。
オペレーティング システムによって、異なるメモリ割り当て番号が割り当てられます。

各 root_servers およびupstream_servers エントリは、Deadwood のスペースを占有することに注意してください。
大量のキャッシュを格納するには maximum_cache_elements を増やす必要があります。
これらのエントリ。

maxprocs

これは、Deadwood が保持できる保留中のリモート UDP 接続の最大数です。 の
このデフォルト値は 1024 です。

max_tcp_procs

これは、許可されている開いている TCP 接続の数です。 デフォルト値: 8

num_retries

あきらめる前にクエリをアップストリームに送信することを再試行する回数。 これが 0 の場合、
一度だけ試してください。 これが 1 の場合、32 回試行し、以下同様に最大 XNUMX 回まで試行します。 それぞれに注意してください
retry は、再試行する前に timeout_seconds 秒かかります。 デフォルト値: 5

ns_glueless_type

グルーレス レコードを解決するために送信する RR タイプ。 主に使用する場合は1(A)にしてください。
レコードを解決するための IPv4。 グルーレス NS レコードに AAAA レコードはあるが A レコードはなく、IPv6 が
有効にするには、これに 255 (ANY) の値を与えることが理にかなっている場合があります。 もしIPv4が使えなくなったら
大規模に使用すると、最終的にこれを 28 の値にすることが可能になるかもしれません
(AAAA)。

デフォルト値は 1: A (IPv4 IP) レコードです。 このパラメータには テスト済み; で使用
あなた自身のリスク。

ランダムシードファイル

これは、乱数を含むファイルであり、
暗号的に強力な乱数ジェネレーター。 Deadwood は 256 バイトを読み取ろうとします。
このファイルから (RNG Deadwood が使用するものは、任意の長さのストリームを受け入れることができます)。

ハッシュ圧縮関数は、解析する前にエントロピーの一部を取得することに注意してください。
mararc ファイルであり、/dev/urandom (Windows では secret.txt) からエントロピーを取得するようにハードコーディングされています
システム)。 Deadwood が使用する他のほとんどのエントロピーは、
ランダムシードファイル。

recurse_min_bind_port

Deadwood がバインドできる最も小さい番号のポート。 これは使用されるランダムなポート番号です
発信クエリの送信元ポート用であり、53 ではありません (上記の dns_port を参照)。 これは
番号は 1025 から 32767 の間で、デフォルト値は 15000 です。これは DNS を作成するために使用されます。
スプーフィング攻撃はより困難になります。

recurse_number_ports

Deadwood が発信接続の送信元ポートにバインドするポートの数。 これ
は 2 から 256 の間の 32768 のべき乗です。これは、DNS スプーフィング攻撃をより強力にするために使用されます。
難しい。 デフォルト値は 4096 です。

再帰的_acl

これは、"ip/mask" で、Deadwood を使用して DNS 再帰を実行できるユーザーのリストです。
フォーマット。 マスクは 0 から 32 までの数値でなければなりません (IPv6 の場合は 0 から 128 まで)。 例えば、
「127.0.0.1/8」はローカル接続を許可します。

拒否_aaaa

この値が 1 の場合、AAAA クエリが送信されるたびに、偽の SOA "not there" 応答が送信されます。
デッドウッドに送られる。 つまり、プログラムが Deadwood に IPv6 IP を要求するたびに、
アドレス、リクエストを処理しようとする代わりに、これが 1 に設定されている場合、Deadwood
問題のホスト名に IPv6 アドレスがないふりをします。

これは、IPv6 を使用していないが、アプリケーション (通常は *NIX コマンド
「telnet」などのアプリケーションのように)、IPv6 アドレスを見つけようとするのが遅くなります。

デフォルト値は 0 です。つまり、AAAA クエリは通常どおり処理されます。
これが設定されています。

リジェクトMX

デフォルト値が 1 の場合、MX クエリは IP とともにサイレントにドロップされます
ログに記録されます。 MX クエリは、マシンが独自のクエリを実行する場合にのみ実行されるクエリです。
インターネット上のマシンにメールを送信するメール サーバー。 これは平均的なデスクトップのクエリです
マシン (Outlook または別のメール ユーザー エージェントを使用して読み取りと送信を行うマシンを含む)
メール)は絶対にしません。

ほとんどの場合、マシンが MX クエリを作成しようとしている場合、マシンはによって制御されています。
望ましくない「スパム」メールを送信するリモート ソース。 これを念頭に置いて、デッドウッドは許可しません
reject_mx が明示的に値 0 に設定されていない限り、MX クエリが実行されます。

これを無効にする前に、Deadwood は Web 用に最適化されていることに注意してください。
メールハブのDNSサーバーとしてではなく、ネットサーフィン。 特に、MX レコードの IP は
Deadwood の応答から削除され、Deadwood は追加の DNS クエリを実行する必要があります。
MX レコードに対応する IP を取得し、Deadwood のテストはより Web に適しています
サーフィン (ほぼ 100% A レコード ルックアップ) であり、メール配信用ではありません (広範な MX レコード
見上げる)。

拒否_ptr

この値が 1 の場合、PTR クエリが送信されるたびに、偽の SOA "not there" 応答が送信されます。
デッドウッドに送られる。 つまり、プログラムが Deadwood に「リバース DNS」を要求するたびに、
検索」 -- 特定の IP アドレスのホスト名 -- を処理しようとする代わりに
要求、これが 1 に設定されている場合、Deadwood は問題の IP アドレスが持っていないふりをします
ホスト名。

これは、DNS タイムアウトを実行しようとしたときに DNS タイムアウトが遅い場合に役立ちます。
IP の逆引き DNS ルックアップ。

デフォルト値は 0 です。つまり、PTR クエリは通常どおり処理されます。
これが設定されています。

復活

これが 1 に設定されている場合、Deadwood は期限切れのレコードをユーザーに送信してから送信しようとします。
上。 0 の場合は、処理しません。 デフォルト値: 1

ルートサーバー

これはルート サーバーのリストです。 その構文は、upstream_servers と同じです (以下を参照)。
これは、たとえば ICANN が実行する DNS サービスのタイプです。 これらは使用されるサーバーです
DNS の質問に対する完全な回答を提供するのではなく、どの DNS サーバーを使用するかを伝えるだけです。
に接続して、希望する回答に近い回答を取得してください。

各 root_servers エントリは Deadwood のキャッシュのスペースを占有することに注意してください。
これらのエントリを多数保存するには、 maximum_cache_elements を増やす必要があります。

tcp_listen

DNS-over-TCP を有効にするには、この変数を設定し、値を 1 にする必要があります。 デフォルト
値:0

timeout_秒

これは、保留中の UDP DNS をあきらめて破棄する前に Deadwood が待機する時間です。
返事。 Deadwood がでコンパイルされていない限り、これのデフォルト値は 1 秒のように 1 です。
FALLBACK_TIME が有効になっています。

タイムアウト秒_tcp

アイドル状態の TCP 接続をドロップする前に待機する時間。 これのデフォルト値
4 秒のように 4 です。

ttl_age

TTL エージングが有効かどうか。 キャッシュ内のエントリの TTL が
エントリがキャッシュに残っている時間。

この値が 1 の場合、TTL エントリはエージングされます。 そうでなければ、そうではありません。 デフォルト
この値は 1 です。

アップストリーム ポート

これは、Deadwood がアップストリーム サーバーに接続またはパケットを送信するために使用するポートです。 の
このデフォルト値は 53 です。 標準の DNS ポート。

アップストリーム_サーバー

これは、ロード バランサーが接続を試みる DNS サーバーのリストです。 これは
辞書 変数 (数値ではなく文字列でインデックス付けされた配列)
変数。 アップストリーム_サーバーは辞書変数なので、初期化する必要があります
使用する前に。

Deadwood は、アップストリーム サーバーを見つけようとしているホストの名前を調べます。
for であり、検出できる最長のサフィックスと一致します。

たとえば、誰かが「www.foo.example.com」のクエリを Deadwood に送信すると、Deadwood は
最初に「www.foo.example.com.」のupstream_servers変数があるかどうかを確認し、次に調べます
「foo.example.com.」の場合は、「example.com.」、「com.」、最後に「.」を探します。

次に、upstream_servers の例を示します。

アップストリーム サーバー = {} # 辞書変数の初期化
アップストリーム_サーバー["foo.example.com."] = "192.168.42.1"
アップストリーム_サーバー["example.com."] = "192.168.99.254"
アップストリーム_サーバー["。"] = "10.1.2.3、10.1.2.4"

この例では、「foo.example.com」で終わるものはすべて、DNS サーバーによって解決されます。
192.168.42.1; 「example.com」で終わるその他のものは、192.168.99.254 によって解決されます。 と
「example.com」で終わらないものはすべて、10.1.2.3 または 10.1.2.4 によって解決されます。

重要: アップストリーム サーバーが指すドメイン名は、「.」で終わる必要があります。 キャラクター。 これは
OK:

アップストリーム_サーバー["example.com."] = "192.168.42.1"

しかし、これは OK:

アップストリーム_サーバー["example.com"] = "192.168.42.1"

これは、ホスト名が変更されたときに BIND が予期しない動作をするためです。
はドットで終わらず、ホスト名の末尾にドットを強制することで、Deadwood にはありません。
ユーザーが BIND の動作と「通常の」動作のどちらを望んでいるかを推測します。

root_serversもupstream_serversも設定されていない場合、Deadwoodはroot_serversが使用するように設定します
デフォルトの ICANN ルート サーバーは次のとおりです。

198.41.0.4 a.root-servers.net (ベリサイン)
192.228.79.201 b.root-servers.net (ISI)
192.33.4.12 c.root-servers.net (コージェント)
199.7.91.13 d.root-servers.net (メリーランド州)
192.203.230.10 e.root-servers.net (NASA エイムズ)
192.5.5.241 f.root-servers.net (ISC)
192.112.36.4 g.root-servers.net (DOD NIC)
128.63.2.53 h.root-servers.net (ArmyRU)
192.36.148.17 i.root-servers.net (NORDUnet)
192.58.128.30 j.root-servers.net (ベリサイン)
193.0.14.129 k.root-servers.net (Reseaux)
199.7.83.42 l.root-servers.net (IANA)
202.12.27.33 m.root-servers.net (ワイド)

このリストは 9 年 2015 月 3 日現在のもので、最後に変更されたのは 2013 年 XNUMX 月 XNUMX 日です。

各upstream_serversエントリはDeadwoodのキャッシュのスペースを占有することに注意してください。
これらのエントリを多数保存するには、 maximum_cache_elements を増やす必要があります。

冗長レベル

これにより、標準出力に記録されるメッセージの数が決まります。 値が大きいほどログに記録されます
メッセージ。 このデフォルト値は 3 です。

IP/マスク 形式でアーカイブしたプロジェクトを保存します. of IP


Deadwood は、標準の ip/netmask 形式を使用して IP を指定します。 IP はドット付き XNUMX 進数です
形式、例えば "10.1.2.3" (または IPv6 サポートがコンパイルされている場合は IPv6 形式)。

ネットマスクは、IP の範囲を指定するために使用されます。 ネットマスクは 1 から XNUMX の間の単一の数字です。
および 32 (IPv128 サポートが組み込まれている場合は 6) で、先頭の「1」の数を示します。
ネットマスクのビット。

10.1.1.1/24 10.1.1.0 から 10.1.1.255 までの任意の IP が一致することを示します。

10.2.3.4/16 10.2.0.0 から 10.2.255.255 までの任意の IP が一致することを示します。

127.0.0.0/8 最初のオクテット (数字) が「127」であるすべての IP が一致することを示します。

ネットマスクはオプションであり、存在しない場合は、単一の IP のみが一致することを示します。

DNS TCP


tcp_listen を 1 に設定して、DNS-over-TCP を明示的に有効にする必要があります。

Deadwood は、切り捨てられたとマークされた UDP DNS パケットから有用な情報を抽出します。
常に DNS-over-TCP を使用する必要がなくなります。 ただし、Deadwood は DNS パケットをキャッシュしません。
TCP を使用して送信する必要がある 512 バイトを超えるサイズ。 さらに、DNS-over-TCP
「不完全な」DNS 応答であるパケット (スタブリゾルバが使用できない応答、
NS リフェラルまたは不完全な CNAME 応答のいずれかである可能性があります) は正しく処理されません
デッドウッドによる。

Deadwood は DNS-over-UDP と DNS-over-TCP の両方をサポートしています。 同じデーモンがリッスンします
UDP と TCP の両方の DNS ポート。

UDP DNS クエリのみがキャッシュされます。 Deadwood は TCP 経由のキャッシングをサポートしていません。 それが扱う
有用な情報なしでまれに切り捨てられた応答を解決するため、または処理するための TCP
非常にまれな非 RFC 準拠の TCP のみの DNS リゾルバー。 現実の世界では、DNS-over-TCP は
ほとんど使用されていません。

解析 他の ファイル


dwood3rc ファイルの解析中に Deadwood が他のファイルを読み込んでしまう可能性があります。
dwood3rc ファイルであるかのように解析します。

これは使用して行われます 実行ファイル. execfile を使用するには、dwood3rc に次のような行を配置します。
ファイル:

execfile("パス/ファイル名")

path/to/filename は、dwood3rc ファイルのように解析されるファイルへのパスです。

すべてのファイルは、ディレクトリ /etc/maradns/deadwood/execfile 内またはその下にある必要があります。 ファイル名は
小文字とアンダースコア文字 ("_") のみを使用してください。 絶対パスはそうではありません
execfile への引数として許可されます。 ファイル名をスラッシュ ("/") で始めることはできません
文字。

execfile が指すファイルに解析エラーがある場合、Deadwood は
メインの dwood3rc ファイルの execfile コマンドの行にあるエラー。 見つけるには
サブファイルに解析エラーがある場合は、「デッドウッド -f
/etc/maradns/deadwood/execfile/filename" を実行して、問題のあるファイルの解析エラーを見つけます。
ここで、「filename」は、execfile を介して解析するファイルです。

IPV6 サポート


このサーバーは、IPv6 をサポートするようにオプションでコンパイルすることもできます。 IPv6を有効にするには
サポートするには、コンパイル時のフラグに「-DIPV6」を追加します。 たとえば、これをコンパイルして
小さなバイナリであり、IPv6 をサポートするには:

export FLAGS='-Os -DIPV6'
make

SECURITY


Deadwood は、セキュリティを考慮して作成されたプログラムです。

バッファ オーバーフローに強い文字列ライブラリ、コーディング スタイル、SQA の使用に加えて、
バッファ オーバーフローとメモリ リークをチェックするプロセス、Deadwood は強力な
疑似乱数ジェネレーター (RadioGatun の 32 ビット バージョン) を使用して、
クエリ ID と送信元ポート。 乱数ジェネレーターを安全にするために、Deadwood には
エントロピーの良いソース; デフォルトでは、Deadwood は /dev/urandom を使用してこのエントロピーを取得します。 もしも
/dev/urandom がサポートされていないシステムを使用している場合、次のことを確認することが重要です。
Deadwood はエントロピーの優れたソースを持っているため、クエリ ID とソース ポートがわかりにくい
推測します (そうしないと、DNS パケットを偽造することができます)。

Deadwood の Windows ポートには、「mkSecretTxt.exe」というプログラムが含まれています。
「secret.txt」と呼ばれる 64 バイト (512 ビット) のランダム ファイル。
"random_seed_file" パラメータ); Deadwood は、Deadwood の場合にもタイムスタンプからエントロピーを取得します。
Deadwood のプロセス ID 番号が開始されているため、同じ static を使用することは同じです。
Deadwood を複数回呼び出すための random_seed_file としての secret.txt ファイル。

Deadwood は、送信されたパケットを表示する同じネットワーク上の誰かから保護されていないことに注意してください。
Deadwood によって、偽造されたパケットを返信として送信します。

特定のサービス拒否攻撃から Deadwood を保護するには、次のような方法が最適です。
キャッシュ内の要素のハッシュに使用される Deadwood の素数は、ランダムな 31 ビットの素数です
番号。 プログラム RandomPrime.c は、ファイルに配置されるランダム素数を生成します。
DwRandPrime.h は、プログラムがコンパイルされるか、何かが実行されるたびに再生成されます。
make clean でクリーンアップします。 このプログラムは、エントロピーに /dev/urandom を使用します。 ファイル
DwRandPrime.h は、/dev/urandom のないシステムでは再生成されません。

/dev/urandom を直接サポートしていないシステムでは、
システムに機能する /dev/urandom を与える可能な方法。 このように、デッドウッドが
コンパイルすると、ハッシュ マジック ナンバーは適切にランダムになります。

Deadwood のコンパイル済みバイナリを使用する場合は、システムに /dev/urandom があることを確認してください。
サポート (Windows システムでは、secret.txt という名前のファイルが
含まれている mkSecretTxt.exe プログラムによって生成されます); デッドウッドは、実行時に使用します
/dev/urandom (Windows では secret.txt) をエントロピーを取得するためのハードコードされたパスとして (
タイムスタンプ) をハッシュ アルゴリズムに使用します。

デーモン化


Deadwood にはデーモン化機能が組み込まれていません。 これはによって処理されます
外部プログラム Duende またはその他のデーモン化プログラム。

の監視 file


dwood3rc 構成ファイルの例を次に示します。

# これはデッドウッド rc ファイルの例です
# コメントはハッシュ記号で始まることに注意してください

bind_address="127.0.0.1" # バインド先の IP

# 以下の行はコメントアウトして無効化
#bind_address="::1" # オプションの IPv6 サポートがあります

# プログラムを実行するディレクトリ (Win32 では使用されません)
chroot_dir = "/etc/maradns/deadwood"

# 次のアップストリーム DNS サーバーは Google のものです
# (2009 年 XNUMX 月現在) パブリック DNS サーバー。 にとって
# 詳細については、次のページを参照してください
# http://code.google.com/speed/public-dns/
#
# root_serversもupstream_serversも設定されていない場合、
# Deadwood はデフォルトの ICANN ルート サーバーを使用します。
#アップストリームサーバー = {}
#upstream_servers["."]="8.8.8.8, 8.8.4.4"

# 誰がキャッシュを使用できるか。 この行
# 最初の 127.0 つが "XNUMX" の場合は誰でも許可
Deadwood を使用する IP の # 桁
recursive_acl = "127.0.0.1/16"

# 保留中のリクエストの最大数
maxprocs = 2048

# 過負荷時に SERVER FAIL を送信
ハンドルオーバーロード = 1

maradns_uid = 99 # UID Deadwood は次のように実行されます
maradns_gid = 99 # GID Deadwood は次のように実行されます

最大キャッシュ要素 = 60000

# ディスクからキャッシュを読み書きする場合は、
# 上記の chroot_dir が読み書き可能であることを確認してください
# 上記の maradns_uid/gid によって、コメントを外します
# 次の行。
#cache_file = "dw_cache"

# アップストリーム DNS サーバーが「存在しない」DNS 応答を変換する場合
# in to IPs, このパラメーターにより、Deadwood は任意の返信を変換できます
# 指定された IP を「存在しない」IP に戻します。 いずれかの IP
# 以下は DNS の回答で、Deadwood は回答を変換します
# 「ない」に
#ip_blacklist = "10.222.33.44, 10.222.3.55"

# デフォルトでは、セキュリティ上の理由から、Deadwood は IP を許可していません
# 192.168.xx、172.[16-31].xx、10.xxx、127.xxx、
# 169.254.xx、224.xxx、または 0.0.xx の範囲。 デッドウッドを使用する場合
# 内部ネットワークで名前を解決するには、
# 次の行:
#filter_rfc1918 = 0

onworks.net サービスを使用してオンラインでデッドウッドを使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad