BIND кеширующий с возможностью задавать опции min-cache-ttl

Метки: Asterisk, BIND, Centos

чудесный человек Alex's Blog сделал статью и патч к BIND-9.6.0-P1, но вообще не объяснил как применить патч при условии сохранения стартап скрипта... и вообще сделать так чтобы все работало:)
источник: http://alex-at.ru/linux/bind-9-6-0-p1-ttl

применение для увеличения минимального ttl я нашел для Астериска, так как даже в 1.8 версии так и не поправили то, что когда Астериск не может резолвить имя провайдера SIP, он впадает в ступор и перестает отвечать на запросы SIP из локальной сети... поэтому кеш имени в течение суток будет как раз кстати...

в общем начнем:

Linux hostname.domain.local 2.6.18-308.4.1.el5 #1 SMP Tue Apr 17 17:08:10 EDT 2012 i686 athlon i386 GNU/Linux
[root@]# cat /etc/redhat-release
CentOS release 5.8 (Final)

1. установите bind через yum
yum install bind bind-libs bind-utils -y

2. в результате юм запишет скрипт запуска и конф файлы в нужных местах..
3. мой /etc/named.conf

[root@]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { none; };
        forward only ;
        forwarders { 8.8.8.8; };
        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; };
        recursion yes;
        max-cache-ttl 604800;
        min-cache-ttl 86400;
        max-cache-size 512M;
        empty-zones-enable yes;

};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";

[root@]#

4. качаем оригинал, я качал отсюда http://pkgs.fedoraproject.org/repo/pkgs/bind/bind-9.6.0-P1.tar.gz/886b7e...
5. распаковываем в ./bind-9.6.0-P1.orig
6. качаем патч http://alex-at.ru/media/blogs/alex/Code/bind-min-override-ttl.patch
7. применяем патч:
patch -p0 < bind-min-override-ttl.patch
8. заходим в директорию с пропатченными исходниками make install clean
9. при сборке и установке из исходников путь по умолчанию /usr/local/sbin/named
10. правьте в файле /etc/rc.d/init.d/named все пути на нужные.
11. автозапуск chkconfig named on
12. после чего пробуйте

[root@]# dig <a href="http://www.ru</p>
<p>;" title="www.ru</p>
<p>;">www.ru</p>
<p>;</p></a> <<>> DiG 9.6.0-P1 <<>> <a href="
http://www.ru<br />
;;" title="www.ru<br />
;;">www.ru<br />
;;</a> global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 120
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.ru.                                IN      A

;; ANSWER SECTION:
www.ru.                 47998   IN      A       194.87.0.50

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Sep 20 15:29:19 2013
;; MSG SIZE  rcvd: 40

получается такой ttl 47998... вместо 3600 или 300 как для гугла.

еще один момент, если вдруг интернет упал, а до этого все было ок, то астериску не зачем будет резолвить имя провайдера, поэтому надо ставить ттл 24 часа и в кроне делать dig tcprov.domain.com 1.domain.com чтобы записи попадали в кеш.

Tags for BIND кеширующий с возможностью задавать опции min-cache-ttl
Вход в систему
Image CAPTCHA
Enter the characters shown in the image.