Здравствуйте, господа.У меня сложилась проблема с named'ом (bind 9.2.1) ASPLinux (kernel 2.4.20-9asp). Поднял, свою зону. (О которой "провайдер" ИМХО и не догадывается. Да и она мне нужна не для "внешних целей" а только для локального использования.) Так вот за named'ом замечена слишком большая сетевая активность. Как можно сделать так чтобы он в кеше держал только те адреса к которым я когда либо обращался. В принципе я думаю что вообще можно без него обойтись. Но как я не знаю, потому как полный чайник. В моем случае скорость обработки запросов "наружу" не важна, важен трафик который на это тратиться. А этот "гад" по десять метров в час выкачивает 8(.
/bind/etc/named.conf
acl "mydomain" {192.168.0.0/24; 192.168.1.0/24; 127.0.0.1;};options{
directory "/var/named";
allow-query {mydomain;};
allow-recursion {mydomain;};
allow-transfer{none;};
query-source port 53;
};
controls {
inet 127.0.0.1 allow {localhost;} keys {rndckey;};
};
zone "."{
type hint;
file "root.hints";
};zone "localhost"{
type master;
file "localhost";
allow-update {none;};
};zone "0.0.127.in-addr.arpa"{
type master;
file "127.0.0.1";
allow-update {none;};
};zone "0.168.192.in-addr.arpa"{
type master;
file "192.168.0.3";
allow-update {none;};
};zone "mydomain.myprov.ru"{
type master;
file "mydomain.myprov.ru";
allow-update {none;};
};/bind/var/mydomain.myprov.ru
$TTL 86400
@ IN SOA mydomain.myprov.ru. admin.mydomain.myprov.ru. (
2002030501 ; serial
8D ; refresh
2H ; retry
1W ; expire
1D ; default_ttl
)
NS ns
IN MX 10 mail.mydomain.myprov.ru.localhost A 127.0.0.1
ns A 192.168.0.3
mail CNAME ns
www CNAME ns
ftp CNAME ns
proxy CNAME ns
icq CNAME ns/bind/var/root.hints - "стандартный"
ткните плз куда-нить. (с инглишом вери бад.) может у кого уже так было?
Убери корневую зонуzone "."{
type hint;
file "root.hints";
};вот эту
если нужно чтоб ДНС работал еще и как кеширующий
добавь строку в конфиг про forwarders где укажи ДНС своего провачтоб при этом нормально резолвились твои местные зоны в описание каждой добавь строчку forwarders { ;};
более подробно - прочитай man внимательно
>Убери корневую зону
>
>zone "."{
> type hint;
> file "root.hints";
>};
>
>вот эту
>
>если нужно чтоб ДНС работал еще и как кеширующий
>добавь строку в конфиг про forwarders где укажи ДНС своего проваа так он не будет работать как кэширующий?
>а так он не будет работать как кэширующий?
Как работал так и будет работать, только зону "." будет у прова забирать а не от туда, что перечислено root.hints.
>>а так он не будет работать как кэширующий?
>Как работал так и будет работать, только зону "." будет у прова
>забирать а не от туда, что перечислено root.hints.Ответ неверный в части объяснения.
>>>а так он не будет работать как кэширующий?
>>Как работал так и будет работать, только зону "." будет у прова
>>забирать а не от туда, что перечислено root.hints.
>
>Ответ неверный в части объяснения.да он вообще неверный, а первый ответ вообще был полным бредом:
- убрать корневые сервера
- сделать кеширующим, добавить forwardsУ того кто это советовал в голове полная каша, они еще и советы дают.
>>>>а так он не будет работать как кэширующий?
>>>Как работал так и будет работать, только зону "." будет у прова
>>>забирать а не от туда, что перечислено root.hints.
>>
>>Ответ неверный в части объяснения.
>
>да он вообще неверный, а первый ответ вообще был полным бредом:
>
>- убрать корневые сервера
>- сделать кеширующим, добавить forwards
>
>У того кто это советовал в голове полная каша, они еще и
>советы дают.1. Вы бы хоть ники читали что-ли, не я предлагал убрать корневые сервера. А приведенные мной конфиги на 100% у меня работают.
2. Что же вы сами не советуете?
>>>а так он не будет работать как кэширующий?
>>Как работал так и будет работать, только зону "." будет у прова
>>забирать а не от туда, что перечислено root.hints.
>
>Ответ неверный в части объяснения.Так объясните! Я RFC по DNS не читал, всегда думал что так оно и есть...
>>>>а так он не будет работать как кэширующий?
>>>Как работал так и будет работать, только зону "." будет у прова
>>>забирать а не от туда, что перечислено root.hints.
>>
>>Ответ неверный в части объяснения.
>
>Так объясните! Я RFC по DNS не читал, всегда думал что так
>оно и есть...RFC это скучное чтение, а хотя бы Немет прочитать следовало бы. Ну или как минимум руководство администратора Bind9 на www.isc.org
Сервер, в конфиге которого указаны forwarders, при обработке запроса сначала смотрит, не авторитетен ли он за запрашиваемую зону. Если нет - он смотрит, нету ли ответа в кэше. Если ответа в кэше нет, он просто и тупо пересылает запрос на forwarder. Всё. Зону "." он ниоткуда не забирает, потому что она ему совершенно без надобности.
"1.4.5.1. Forwarding
Even a caching name server does not necessarily perform the complete recursive lookup itself. Instead, it can forward some or all of the queries that it cannot satisfy from its cache to another caching name server, commonly referred to as a forwarder. There may be one or more forwarders, and they are queried in turn until the list is exhausted or an answer is found. Forwarders are typically used when you do not wish all the servers at a given site to interact directly with the rest of the Internet servers. A typical scenario would involve a number of internal DNS servers and an Internet firewall. Servers unable to pass packets through the firewall would forward to the server that can do it, and that server would query the Internet DNS servers on the internal server’s behalf.
An added benefit of using the forwarding feature is that the central machine develops a much more complete cache of information that all the clients can take advantage of."
Спасибо за информацию, надо будет действительно до манов как-нить добраться.
У тебя с рефрешами что-то намудрено однако.
Вот мои конфиги:
#named.conf
options {
directory "/var/named/etc/namedb/";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
forwarders {
xxx.xx.xx.xx; //IP DNS'а провайдера
};};
zone "." {
type hint;
file "named.root";
};zone "0.0.127.IN-ADDR.ARPA" {
type master;
file "master/localhost.rev";
};
zone "server.ru" {
type master;
file "master/server.ru";
};
#master/server.ru
$ORIGIN ru.
server.ru. 86400 IN SOA ns.server.ru. ns2.server.ru. (
2005021002 86400 14400 2592000 86400 )
86400 IN NS ns.server.ru.
86400 IN NS ns2.server.ru.
86400 IN A 192.168.0.151
$ORIGIN server.ru.
ftp 86400 IN A 192.168.0.151
ns 86400 IN A 192.168.0.151
ns2 86400 IN A 192.168.0.151
www 86400 IN A 192.168.0.151
Всем, спасибо, за проявленное понимание и сочувствие. После долгих экспериментов с использованием ВСЕХ ваших рекомендаций bind угомонился, осталось только разобраться что именно помогло. %)