- Блог пользователя administrator
- Комментировать
- 184132 reads
Метки: 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
//
// 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. после чего пробуйте
<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 чтобы записи попадали в кеш.