Назад | Перейти на главную страницу

BIND dns высокопроизводительное кэширование

Я запускаю привязку на небольшом сервере, используемом для разрешения множества доменов, моя основная цель - быстрое разрешение доменов и низкое использование памяти.

Я хочу использовать что-то вроде локальной зоны с серверами имен всех TLD dig . axfr @g.root-servers.net.

То, что происходит прямо сейчас, - это когда предел кеширования исчерпан, привязка прекращает кеширование и для каждого разрешения корневого сервера попадает dns. Есть ли способ использовать axfr вывести и сообщить bind, чтобы получить оттуда информацию NS для tld?

Пример зоны axfr

Я пытался добавить "." master зона с выводом 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 к корневой зоне а также некоторые другие зоны.