domain-name-system – BIND dns高性能缓存

前端之家收集整理的这篇文章主要介绍了domain-name-system – BIND dns高性能缓存前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在用于解析大量域的小型服务器上运行bind,我的主要目标是快速解析域和低内存使用率.

我想使用像本地区域这样的东西与所有TLD的名称服务器挖掘. axfr @ g.root-servers.net.

现在发生的事情是当达到缓存限制时,绑定停止缓存并且每个解析根服务器dns都被命中.有没有办法使用axfr输出并告诉bind从那里获取tld的NS信息?

Example of axfr zone

我试图添加“.”具有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 access to the root zone以及其他一些区域.

猜你在找的HTML相关文章