BIND как локальный DNS

Добрый день!
Имеется:
Внутренняя сеть с диапазоном 192.168.0.0/24
Внутренний ИП сервера 192.168.0.254
Внешний ИП предположим 87.240.24.113
Внешние DNS:87.240.1.1
87.240.1.2
Хотелось бы сделать так, чтобы внутренние компы могли вылазить в инет используя лок-й ДНС.

named.conf:
options {
directory "/var/bind";

// uncomment the following lines to turn on DNS forwarding,
// and change the forwarding ip address(es) :
forward first;
forwarders {
87.240.1.1;
87.240.1.2;
};

listen-on-v6 { none; };
listen-on { 127.0.0.1;
192.168.0.254; };

// to allow only specific hosts to use the DNS server:
allow-query {
127.0.0.1;
192.168.0.0/24;
};

// if you have problems and are behind a firewall:
//query-source address * port 53;
pid-file "/var/run/named/named.pid";
};

// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out "wildcard" or "synthesized" data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info

//zone "COM" { type delegation-only; };
//zone "NET" { type delegation-only; };

zone "." IN {
type master;
file "named.local";
};

zone "localhost" IN {
type master;
file "pri/localhost.zone";
allow-update { none; };
notify no;
};

zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
allow-update { none; };
notify no;
};

Также через /etc/init.d/named stop bind вырубить не получается.

Что я делаю не так?

>>zone "." IN { >>type

>>zone "." IN {
>>type master;
>>.......

Вы мастер корневой зоны? Круто. Я немного скромнее :)

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

>>Также через /etc/init.d/named stop bind вырубить не получается.
И что он при этом пишет?

Есть утилиты проверки конфига и зон named-checkconf named-checkzone. Скорей всего он у вас не запускается.

Server_new ~ #

Server_new ~ # /etc/init.d/named start
* Starting named ... [ ok ]
Server_new ~ # /etc/init.d/named stop
* Stopping named ... (и так до бесконечности)
Server_new ~ # /etc/init.d/named status
* status: started

>>Вы мастер корневой зоны? Круто. Я немного скромнее :)
ну я просто почти дефалтный конфиг поставил.
Так как не удалось найти доходчиво объясняющий ман, решил тут спросить.

/

servitor написал(а):
Server_new ~ # /etc/init.d/named start
* Starting named ... [ ok ]

Замечательно.

ps ax | grep named
netstat -a | grep named

после запуска что говорят?
Ну и логи тоже.

servitor написал(а):
>>Вы мастер корневой зоны? Круто. Я немного скромнее :)
ну я просто почти дефалтный конфиг поставил.
Так как не удалось найти доходчиво объясняющий ман, решил тут спросить.

Ключевое слово почти :)
Или кроме указания своей сети и forwaders ты ничего не правил?
Зачем они задаются (и что делают) знаешь (есть у меня некоторые сомнения относительно first)?

:wq
--
Live free or die

ps ax | grep named: 28591 ?

ps ax | grep named:
28591 ? Ss 0:00 /usr/sbin/named -u named -n 1
32341 pts/0 S+ 0:00 grep --colour=auto named

>>Или кроме указания своей сети и forwaders ты ничего не правил?
>>Зачем они задаются (и что делают) знаешь (есть у меня некоторые сомнения относительно first)?
Стыдно конечно, но не знаю. Кроме форвардов правил listen-on

Поставил я себе bind. Чтоб

Поставил я себе bind.
Чтоб было :)))

Ты гонишь. Твой конфиг ни фига не дистрибутивный.
В дистрибутивном:

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

А обманывать, как тебе известно, нехорошо ;)

servitor написал(а):
>>Или кроме указания своей сети и forwaders ты ничего не правил?
>>Зачем они задаются (и что делают) знаешь (есть у меня некоторые сомнения относительно first)?
Стыдно конечно, но не знаю. Кроме форвардов правил listen-on

Вообще-то обычно перед тем как прописывать тот или иной параметр рекомендуется посмотреть страницу руководства :)

Есть мнение, что в твоём случае при правильно настроенной сети forwarders нах не нужны (только потеря производительности).
Если же провайдер зверствует, то аргументом должен стоять не first, а only.

Это у меня стоит forward first, но у меня запрос к forwarders идёт по одному каналу, а корневые опрашиваются по другому.

ЗЫ: Вот запустишь named в режиме кэширующего ДНСа, займёмся с тобой настройкой локальной зоны :)))

:wq
--
Live free or die

Всем спасибо за посильную

Всем спасибо за посильную помощь, но проблема всетаки не решена.
Сервер запускается нормально, но не выключается через /etc/init.d/named stop

Все делал по этому руководству.

ANIGs ~ # cat /etc/bind/named.conf
options {
directory "/var/bind";

//forward first;
forwarders {
212.212.212.212;
212.212.212.213;
};

listen-on-v6 { none; };
listen-on { 127.0.0.1;
192.168.0.254; };

// to allow only specific hosts to use the DNS server:
allow-query {
192.168.0.0/24;
};

// if you have problems and are behind a firewall:
//query-source address * port 53;
query-source port 53;
pid-file "/var/run/named/named.pid";
};

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

zone "localhost" IN {
type master;
file "pri/localhost.zone";
allow-update { none; };
notify no;
};

zone "127.in-addr.arpa" IN {
type master;
file "pri/127.zone";
allow-update { none; };
notify no;
};

ANIGs ~ # cat /etc/bind/named.ca

;
. 3600000 IN NS A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
A.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:BA3E::2:30
;
; FORMERLY NS1.ISI.EDU
;
. 3600000 NS B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET. 3600000 A 192.228.79.201
;
; FORMERLY C.PSI.NET
;
. 3600000 NS C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
;
; FORMERLY TERP.UMD.EDU
;
. 3600000 NS D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
;
; FORMERLY NS.NASA.GOV
;
. 3600000 NS E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
;
; FORMERLY NS.ISC.ORG
;
. 3600000 NS F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
F.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:2F::F
;
; FORMERLY NS.NIC.DDN.MIL
;
. 3600000 NS G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
;
; FORMERLY AOS.ARL.ARMY.MIL
;
. 3600000 NS H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
H.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:1::803F:235
;
; FORMERLY NIC.NORDU.NET
;
. 3600000 NS I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
;
; OPERATED BY VERISIGN, INC.
;
. 3600000 NS J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET. 3600000 A 192.58.128.30
J.ROOT-SERVERS.NET. 3600000 AAAA 2001:503:C27::2:30
;
; OPERATED BY RIPE NCC
;
. 3600000 NS K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
K.ROOT-SERVERS.NET. 3600000 AAAA 2001:7FD::1
;
; OPERATED BY ICANN
;
. 3600000 NS L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET. 3600000 A 199.7.83.42
L.ROOT-SERVERS.NET. 3600000 AAAA 2001:500:3::42
;
; OPERATED BY WIDE
;
. 3600000 NS M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
M.ROOT-SERVERS.NET. 3600000 AAAA 2001:DC3::35
; End of File

Других файлов не создвал.

Ну и лог конечно
/var/log/daemon/log

Jul 14 11:10:36 ANIGs named[4780]: starting BIND 9.4.1-P1 -u named -n 1
Jul 14 11:10:36 ANIGs named[4780]: loading configuration from '/etc/bind/named.conf'
Jul 14 11:10:36 ANIGs named[4780]: listening on IPv4 interface lo, 127.0.0.1#53
Jul 14 11:10:36 ANIGs named[4780]: listening on IPv4 interface eth0, 192.168.0.253#53
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 254.169.IN-ADDR.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: D.F.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 8.E.F.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: 9.E.F.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: A.E.F.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: automatic empty zone: B.E.F.IP6.ARPA
Jul 14 11:10:36 ANIGs named[4780]: command channel listening on 127.0.0.1#953
Jul 14 11:10:36 ANIGs named[4780]: zone 127.in-addr.arpa/IN: loaded serial 2002081601
Jul 14 11:10:36 ANIGs named[4780]: zone localhost/IN: loaded serial 2002081601
Jul 14 11:10:36 ANIGs named[4780]: running

Если просто прописать DNS в ресолв - работает,
если прописать лупбэк в резолв - не работает...
правило в фаерволе есть на 53й порт на тисипи и удп.

.

servitor написал(а):
Все делал по этому руководству.

К опеннету рекомендую относиться с изрядной степенью осторожности.

servitor написал(а):
//forward first;
forwarders {
212.212.212.212;
212.212.212.213;
};

С закомментированной строчкой директивы forward в лучшем случае не имеет смысла.

servitor написал(а):
Если просто прописать DNS в ресолв - работает,
если прописать лупбэк в резолв - не работает...
правило в фаерволе есть на 53й порт на тисипи и удп.

В смысле "прописать DNS"?
nslookup говорит откуда он взял результат.
Обратные пакеты файрволлом разрешены?

С таким IP-адресом тебе ИМХО лучше бы сначала разобраться с forward only...

:wq
--
Live free or die

Anarchist написал(а):servitor

Anarchist написал(а):
servitor написал(а):
Все делал по этому руководству.

К опеннету рекомендую относиться с изрядной степенью осторожности.

servitor написал(а):
//forward first;
forwarders {
212.212.212.212;
212.212.212.213;
};

С закомментированной строчкой директивы forward в лучшем случае не имеет смысла.

servitor написал(а):
Если просто прописать DNS в ресолв - работает,
если прописать лупбэк в резолв - не работает...
правило в фаерволе есть на 53й порт на тисипи и удп.

В смысле "прописать DNS"?
nslookup говорит откуда он взял результат.
Обратные пакеты файрволлом разрешены?

С таким IP-адресом тебе ИМХО лучше бы сначала разобраться с forward only...

Ну ипы взяты с потолка - это не важно.
Мне просто интересно, почему не осуществляется форвардинг, если сервера пингуются, будучи прописанными в резолв - работают как надо. Строчка с форвардинг фёст - как закоментированная так и не закоментированная разницы не дает. В фаерволе разрешение в обе стороны стоит...

/

servitor написал(а):
Также через /etc/init.d/named stop bind вырубить не получается.

Что я делаю не так?

А он вообще запущен? В логах что?

ЗЫ: Машинкам из сети 192.168.0.0/24 имён собственных не полагается?

:wq
--
Live free or die

Машинкам из внутренней сети

Машинкам из внутренней сети имена не полагаются.
В логах
Jul 13 07:34:02 Server_new named[28591]: running
и после стоп
Jul 13 07:34:52 Server_new rc-scripts: ERROR: named caught an interrupt
Jul 13 07:36:18 Server_new rc-scripts: ERROR: named caught an interrupt

таил -100 /var/log/daemon.log

таил -100 /var/log/daemon.log,
Оно в чруте стоит или как ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а):таил -100

slepnoga написал(а):
таил -100 /var/log/daemon.log,
Оно в чруте стоит или как ?

кхм... у меня такого файла нет...
Нет, он не в чруте.

настраиваите системное

настраиваите системное логгирование ,всегда пригодится.

если syslog-ng , то в первом приближении можно заюзать
/usr/share/doc/syslog-ng-2.1.4/syslog-ng.conf.gentoo.hardened.[gz,bz2,lzma]

П.С утиль проверки конфигов и зон поначалу использовать обязательно,
равно как и нормальный редактор для правки ( подсветка именно конфига бинда , а не С кода)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

.

slepnoga написал(а):
настраиваите системное логгирование ,всегда пригодится.

Точнее: в процедуру конфигурирования установленного приложения строго обязательно включается рассмотрение вопроса логирования (что/куда пишем).

slepnoga написал(а):
если syslog-ng , то в первом приближении можно заюзать
/usr/share/doc/syslog-ng-2.1.4/syslog-ng.conf.gentoo.hardened.[gz,bz2,lzma]

Типа на рабочей станции named'у не место? :)
Кстати, пишет он в нормально-рабочем режиме не так уж и много, можно и messages оставить...

slepnoga написал(а):
П.С утиль проверки конфигов и зон поначалу использовать обязательно,
равно как и нормальный редактор для правки ( подсветка именно конфига бинда , а не С кода)

Как показывает моя практика, требования костыля для проверки конфигов избыточно.
А труЪ-редактор, как известно --- sys-apps/ed ;)

:wq
--
Live free or die

yo, делай как я, yo yo, come

yo, делай как я, yo yo, come on :):)

options {
	directory "/var/bind";

	listen-on-v6 { none; };
        listen-on { 127.0.0.1; 192.168.0.1; };

	// to allow only specific hosts to use the DNS server:
	allow-query {
		127.0.0.1;
		192.168.0.0/24;
		192.168.4.0/24;
		192.168.3.0/24;
		192.168.187.0/24;
	};

	// if you have problems and are behind a firewall:
	//query-source address * port 53;
	pid-file "/var/run/named/named.pid";
};

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

zone "localhost" IN {
	type master;
	file "pri/localhost.zone";
	allow-update { none; };
	notify no;
};

zone "127.in-addr.arpa" IN {
	type master;
	file "pri/127.zone";
	allow-update { none; };
	notify no;
};

zone "bit" IN {
	type master;
	file "pri/bit.zone";
	allow-update { none; };
	notify no;
};

zone "168.192.in-addr.arpa" IN {
	type master;
	file "pri/168.192.zone";
	allow-update { none; };
	notify no;
};

gentoo centos fedora

ivanf написал(а):yo, делай

ivanf написал(а):
yo, делай как я, yo yo, come on :):)

Вероятно уже завтра перейдём к следующей части урока :)
Можно в Jabber.

Пока же http://www.gentoo.ru/node/14461

:wq
--
Live free or die

Я решил это так:

Я решил это так (точнее мне посоветовал один очень хороший человек) и все работает:

named.conf:

options {
        directory "/var/bind";

        // uncomment the following lines to turn on DNS forwarding,
        // and change the forwarding ip address(es) :
        //forward first;
        //forwarders {
        //      123.123.123.123;
        //      123.123.123.123;
        //};

        listen-on-v6 { none; };
        listen-on { 127.0.0.1; };
        listen-on { 192.168.1.1; };


        // to allow only specific hosts to use the DNS server:
        //allow-query {
        //      127.0.0.1;
        //};

        // if you have problems and are behind a firewall:
        //query-source address * port 53;
        pid-file "/var/run/named/named.pid";
};

// Briefly, a zone which has been declared delegation-only will be effectively
// limited to containing NS RRs for subdomains, but no actual data beyond its
// own apex (for example, its SOA RR and apex NS RRset). This can be used to
// filter out "wildcard" or "synthesized" data from NAT boxes or from
// authoritative name servers whose undelegated (in-zone) data is of no
// interest.
// See http://www.isc.org/products/BIND/delegation-only.html for more info

//zone "COM" { type delegation-only; };
//zone "NET" { type delegation-only; };

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

zone "localhost" IN {
        type master;
        file "pri/localhost.zone";
        allow-update { none; };
        notify no;
};

zone "lan." IN {
        type master;
        file "pri/lan.zone";
        notify no;
};


zone "127.in-addr.arpa" IN {
        type master;
        file "pri/127.zone";
        allow-update { none; };
        notify no;
};

/etc/bind/pri/lan.zone:


$TTL 3h
@ SOA @ oficemanager 2009072114  12h 2h 1w 3h
        IN      NS      localhost.

$ORIGIN @

*       IN A 192.168.1.1

На сервере, в resolv.conf я оставил тока адрес своего сервера. Все работает, проблем не возникало.

Прочитайте не ленясь вот эту

Прочитайте не ленясь вот эту статью и даже при минимальных понятиях о ДНС и сетях и при определенном упорстве от 2х дней до недели все настроите. Главное в голове представить какая зона за что отвечает и несколько важных параметров в named.conf. Я тоже спрашивал, пока не прочитал нормально.

http://www.how-to.ru/linux/howto/DNS-HOWTO.html

И удачи, я сделал и мне стало приятно, все работает "прозрачно". Чего и вам желаю.

+

хаутувина древняя и формат конфигов изменился, так что будьте аккуратны в экспериментах.

there is only war...

Есть вариант лучше BIND - Unbound

Unbound это кеширующий DNS сервер который обслуживает исключительно рекурсивные запросы. Во время работы сервера кеш целиком распологается в памяти, а его размер ограничен указанным объемом. Unbound поддерживает расширения DNSSEC и может работать как "validator" (в конце статьи будет пример настройки Unbound в роли "validator iterator" для тех кто захочит задействовать функциональность проверки DNSSEC сигнатур). В качестве плюсов Unbound по сравнению с BIND надо отметить все те же скромные размеры и скорость. На официальном сайте проекта приведена следующая сравнительная информация по скорости работы популярных DNS серверов:

Server Queries/sec (10 clients)
Unbound 8 276
MaraDNS 3 068
BIND 3 003
dnscache 2 928
PowerDNS Recursor 2 074

Результаты были получены для версии Unbound 1.0. Как видно, имеет место почти трехкратное превосходство над BIND.

http://www.lissyara.su/?id=1705
http://unbound.net/

Спасибо, уважаемый! сейчас

Спасибо, уважаемый! сейчас посмотрим...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".