BINDを単純なフォワーダーとして構成する(ルートサーバークエリなし)

OpenDNSへの単純なフォワーダーとして機能できる単純なバインドサーバーをセットアップしたいサーバー。

バインドは必要ありませんが、ルートサーバーにクエリを実行できます。すべてのトラフィックは、OpenDNSのみに送信され、その「キャッシュ」として機能する必要があります。

これをどのように達成できますか?ルートサーバーのヒントを何らかの方法で無効にする必要がありますか?これは正しい手順ですか?

私の推測では、

namesed.conf.default-zones ファイル。ただし、クエリを実行しないルートサーバーは、再帰を無効にすることでも実現できることを読みましたが、再帰を無効にすると、サーバーもフォワーダーを利用できなくなるようです。私のconfが間違っているのはどこですか?

Confは次のとおりです。

namesed.conf

// This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; 

named.conf.options

acl "trusted" { 127.0.0.1/8; 10.0.0.0/8; 172.16.0.0/12; 192.168.0.0/16; ::1; }; options { directory "/var/cache/bind"; # bind cache directory recursion no; # enables resursive queries allow-query { trusted; } ; allow-recursion { "none"; }; additional-from-cache no; allow-transfer { none; }; # disable zone transfers by default // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0"s placeholder. forward only; forwarders { 208.67.222.222; 208.67.220.220; }; //======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-enable no; dnssec-validation no; dnssec-lookaside auto; auth-nxdomain no; # conform to RFC1035 }; 

namesed.conf.local

// // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; 

named.conf.default-zones

// prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; 

回答

BIND構成は、フォワーダーが定義されている場合、ローカルBINDによって満たされていないすべての要求をフォワーダーに送信します。

さらに、forward only;を使用すると、ローカルゾーンは無視され、すべてのリクエストはキャッシュまたはフォワーダーによってのみ満たされます。

ローカルゾーンが必要な場合(つまりRFC 1918のプライベートIPアドレスとローカルホーム/オフィスゾーン)、フォワーダーを作成するには、ルートヒントを使用してゾーンとforward only;ディレクティブの両方にコメントを付ける必要があります。

// forward only; // zone "." { // type hint; // file "/etc/bind/db.root"; // }; 

DNSハウツー

ただし、「forward only」が設定されている場合、BINDはフォワーダーからの応答を受け取らなかったときに諦め、gethostbyname()はすぐに戻ります。したがって、sleight-ofを実行する必要はありません。 -/ etc内のファイルを処理し、サーバーを再起動します。

私の場合は、行を追加しただけです

転送のみ;転送者{193.133.58.5;};

私のnamed.confファイルのoptions {}セクションへ。これは非常にうまく機能します。これの唯一の欠点は、非常に洗練されたDNSソフトウェアをダムキャッシュのステータスに減らすことです。

したがって、ダムキャッシュのみが必要な場合は、リクエストのみを転送できます。これが適切な構成です。たとえば、本社にリクエストを転送する場合は、企業環境でオンにします。

状況に応じて、外部にリクエストを転送する場合は、盲目的に行わないことをお勧めしますforward only上位階層/ルートネームサーバーのプライベートIPアドレス範囲/ローカルDNS / WindowsドメインのDNS要求を転送しないため。

コメント

  • ところで、OpenDNS(およびその他)は暗号化された転送をサポートしています。自宅で行います。
  • できる限り変更を加えてください^^暗号化された転送を使用して、DNSパケットを書き換える愚かなプロバイダールーターDNSエンフォーサーを排除したいと思います。
  • 新しい質問を開いてユーザーにコメントします;そうすれば、それは文書化され、主題/質問を混同することはありません。
  • わかりました:)最初にコーヒーを飲んでから、新しい質問を書きます!
  • 今見ました。 。私が実際に待っていたよりも複雑です。後で答えます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です