多くのドメインの解決に使用される小さなサーバーでバインドを実行しています。私の主な目標は、ドメインの高速解決とメモリ使用量の削減です。
すべてのTLDのネームサーバーでローカルゾーンのようなものを使用したいDig . axfr @g.root-servers.net.
現在起こっていることは、キャッシュ制限に達すると、バインドがキャッシュを停止し、解決するたびにルートサーバーのDNSがヒットすることです。 axfr
出力を使用してbindにNS情報をそこから取得するように指示する方法はありますか?
「。」を追加しようとしました。 axfr出力のマスターゾーンですが、機能しません。
zone "." IN {
type master;
file "axfrOutput.ca";
};
現在のnamed.conf
options {
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
max-cache-size 100m;
cleaning-interval 1; // clean cache every 1 minutes
max-cache-ttl 120; // limit cached record to a 60s TTL
max-ncache-ttl 120; // limit cache neg. resp. to a 60s TTL
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
zone "." IN {
type hint;
file "named.ca";
};
高いパフォーマンスと低いメモリ使用量+短いキャッシュ時間は、相反する要件です。
ただし、 max-cache-size
の制限に達したときに何が起こるかは、キャッシュ(LRU)からエントリを(時期尚早に)追い出すことです。
短いTTL( max-cache-ttl
)を強制すると、パフォーマンスが犠牲になり、収束が速くなります。 (これは、よく使用され、LRUスキームで高い優先度を持つものを捨てるので、おそらく悪い考えです。)
cleaning-interval
は廃止されており、最新のBINDバージョンでは効果がありません。
負荷が非常に高く、ルートゾーンへのクエリを特に最適化したい場合は、通常のヒントゾーンの代わりに.
の独自のスレーブゾーンを使用できます。
ICANNは ルートゾーンへのAXFRアクセス およびその他のいくつかのゾーンを提供します。