Рекурсивный Bind

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 10:12:35

Собственно вопрос заключается в следующем.
В сети находится 2 dns сервера, один на freebsd который смотрит наружу и обслуживает домен второго уровня. другой DNS сервер стоит на винде и обслуживает компьютеры в локальной сети. нужно сделать чтобы виндовый dns сервер обращался к bind с запросами а тот в дальнейшем к вышестоящему днс серверу.форвард на виндовом днсе настроен на бинд, обращения к корневым серверам отключены.на виндовом днс проходит разрешение имени машин находящихся в домене обслуживаемом freebsd/bind. но разрешения внешних имен сети интернет не проходит.при подаче интернета на виндовый днс и при отключенных корневых серверах разрешение внешних имен в интернете проходит.
Дальше мои мысли - получается что bind не сам даёт ответ виндовому днс серверу а лиш перенапрявляет его на днс сервер провайдера.нашел документацию где описывается про рекурсивные и нерекурсивные днс серверы. есть мысль что проблема в том что bind работает как нерекурсивный сервер.
Прошу подсказать в том ли направлении я мыслю если в том то как сделать днс рекурсивным.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

Re: Рекурсивный Bind

Непрочитанное сообщение Abigor » 2009-08-27 10:18:42

А в named.conf что стоит в разделе forward ??

riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Re: Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 10:19:49

вышестоящий днс сервер, провайдера

Psychotic
рядовой
Сообщения: 44
Зарегистрирован: 2009-07-24 19:55:10

Re: Рекурсивный Bind

Непрочитанное сообщение Psychotic » 2009-08-27 10:26:17

вы бы скопипастили сюда конфиг

riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Re: Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 10:34:17

Код: Выделить всё

// $FreeBSD: src/etc/namedb/named.conf,v 1.26.4.1 2008/01/13 20:48:23 dougb Exp $
//
// Refer to the named.conf(5) and named(8) man pages, and the documentation
// in /usr/share/doc/bind9 for more details.
//
// If you are going to set up an authoritative server, make sure you
// understand the hairy details of how DNS works.  Even with
// simple mistakes, you can break connectivity for affected parties,
// or cause huge amounts of useless Internet traffic.

options {
	// Relative to the chroot directory, if any
	directory	"/etc/namedb";
	pid-file	"/var/run/named/pid";
	dump-file	"/var/dump/named_dump.db";
	statistics-file	"/var/stats/named.stats";

// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
//	listen-on	{ 127.0.0.1; };
// If you have IPv6 enabled on this system, uncomment this option for
// use as a local resolver.  To give access to the network, specify
// an IPv6 address, or the keyword "any".
//	listen-on-v6	{ ::1; };

// These zones are already covered by the empty zones listed below.
// If you remove the related empty zones below, comment these lines out.
//	disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
//	disable-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";
//	disable-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";

// In addition to the "forwarders" clause, you can force your name
// server to never initiate queries of its own, but always ask its
// forwarders only, by enabling the following line:
//
//	forward only;

// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below.  This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
//
	forwarders {
		xx.xxx.xxx.xx; xx.xxx.xxx.xx;
	};
//
	/*
	 * If there is a firewall between you and nameservers you want
	 * to talk to, you might need to uncomment the query-source
	 * directive below.  Previous versions of BIND always asked
	 * questions using port 53, but BIND versions 8 and later
	 * use a pseudo-random unprivileged UDP port by default.
	 */
	// query-source address * port 53;
};

// If you enable a local name server, don't forget to enter 127.0.0.1
// first in your /etc/resolv.conf so this server will be queried.
// Also, make sure to enable it in /etc/rc.conf.

// The traditional root hints mechanism. Use this, OR the slave zones below.
zone "." { type hint; file "named.root"; };

/*	Slaving the following zones from the root name servers has some
	significant advantages:
	1. Faster local resolution for your users
	2. No spurious traffic will be sent from your network to the roots
	3. Greater resilience to any potential root server failure/DDoS

	On the other hand, this method requires more monitoring than the
	hints file to be sure that an unexpected failure mode has not
	incapacitated your server.  Name servers that are serving a lot
	of clients will benefit more from this approach than individual
	hosts.  Use with caution.

	To use this mechanism, uncomment the entries below, and comment
	the hint zone above.
*/
/*
zone "." {
	type slave;
	file "slave/root.slave";
	masters {
		192.5.5.241;	// F.ROOT-SERVERS.NET.
	};
	notify no;
};
zone "arpa" {
	type slave;
	file "slave/arpa.slave";
	masters {
		192.5.5.241;	// F.ROOT-SERVERS.NET.
	};
	notify no;
};
zone "in-addr.arpa" {
	type slave;
	file "slave/in-addr.arpa.slave";
	masters {
		192.5.5.241;	// F.ROOT-SERVERS.NET.
	};
	notify no;
};
*/

/*	Serving the following zones locally will prevent any queries
	for these zones leaving your network and going to the root
	name servers.  This has two significant advantages:
	1. Faster local resolution for your users
	2. No spurious traffic will be sent from your network to the roots
*/
// RFC 1912
zone "localhost"	{ type master; file "master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "master/localhost-reverse.db"; };
zone "255.in-addr.arpa"	{ type master; file "master/empty.db"; };

// RFC 1912-style zone for IPv6 localhost address
zone "0.ip6.arpa"	{ type master; file "master/localhost-reverse.db"; };

// "This" Network (RFCs 1912 and 3330)
zone "0.in-addr.arpa"		{ type master; file "master/empty.db"; };

// Private Use Networks (RFC 1918)
zone "10.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "16.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "17.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "18.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "19.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "20.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "21.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "22.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "23.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "24.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "25.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "26.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "27.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "28.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "29.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "30.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "31.172.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "168.192.in-addr.arpa"	{ type master; file "master/empty.db"; };

// Link-local/APIPA (RFCs 3330 and 3927)
zone "254.169.in-addr.arpa"	{ type master; file "master/empty.db"; };

// TEST-NET for Documentation (RFC 3330)
zone "2.0.192.in-addr.arpa"	{ type master; file "master/empty.db"; };

// Router Benchmark Testing (RFC 3330)
zone "18.198.in-addr.arpa"	{ type master; file "master/empty.db"; };
zone "19.198.in-addr.arpa"	{ type master; file "master/empty.db"; };

// IANA Reserved - Old Class E Space
zone "240.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "241.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "242.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "243.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "244.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "245.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "246.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "247.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "248.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "249.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "250.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "251.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "252.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "253.in-addr.arpa"		{ type master; file "master/empty.db"; };
zone "254.in-addr.arpa"		{ type master; file "master/empty.db"; };

// IPv6 Unassigned Addresses (RFC 4291)
zone "1.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "3.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "4.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "5.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "6.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "7.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "8.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "9.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "a.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "b.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "c.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "d.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "e.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "0.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "1.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "2.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "3.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "4.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "5.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "6.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "7.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "8.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "9.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "a.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "b.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "0.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "1.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "2.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "3.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "4.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "5.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "6.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "7.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };

// IPv6 ULA (RFC 4193)
zone "c.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "d.f.ip6.arpa"		{ type master; file "master/empty.db"; };

// IPv6 Link Local (RFC 4291)
zone "8.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "9.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "a.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "b.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };

// IPv6 Deprecated Site-Local Addresses (RFC 3879)
zone "c.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "d.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "e.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };
zone "f.e.f.ip6.arpa"		{ type master; file "master/empty.db"; };

// IP6.INT is Deprecated (RFC 4159)
zone "ip6.int"			{ type master; file "master/empty.db"; };

// NB: Do not use the IP addresses below, they are faked, and only
// serve demonstration/documentation purposes!
//
// Example slave zone config entries.  It can be convenient to become
// a slave at least for the zone your own domain is in.  Ask
// your network administrator for the IP address of the responsible
// master name server.
//
// Do not forget to include the reverse lookup zone!
// This is named after the first bytes of the IP address, in reverse
// order, with ".IN-ADDR.ARPA" appended, or ".IP6.ARPA" for IPv6.
//
// Before starting to set up a master zone, make sure you fully
// understand how DNS and BIND work.  There are sometimes
// non-obvious pitfalls.  Setting up a slave zone is usually simpler.
//
// NB: Don't blindly enable the examples below. :-)  Use actual names
// and addresses instead.

/* An example dynamic zone
key "exampleorgkey" {
	algorithm hmac-md5;
	secret "sf87HJqjkqh8ac87a02lla==";
};
zone "example.org" {
	type master;
	allow-update {
		key "exampleorgkey";
	};
	file "dynamic/example.org";
};
*/

// Example of a slave reverse zone
zone "xxx.local" {
	type slave;
	file "slave/xxx.local";
	masters	{
		192.168.10.250;
	};
};
zone "10.168.192.in-addr.arpa" {
	type slave;
	file "slave/10.168.192.in-addr.arpa";
	masters {
		192.168.10.250;
	};
};

zone "xxx.ru" {
	type master;
 	file "xxx.ru";
};

zone "xxx.xxx.xx.in-addr.arpa"{
	type master;
	file "xxx.xxx.xx.in-addr.arpa";
	};
//view "internal" {
//	match-clients { 192.168.1.0/24; 192.168.2.0/24; 192.168.10.0/24; 192.168.77.0/24; };
//	recursion yes;
//	zone "xxxx.ru" {
//		type master;
//		file "xxx-internal.db";
//	};
//};
//
//view "external" {
//	match-clients {any; };
//	recursion no;
//	zone "xxx.ru" {
//		type master;
//		file "xxx-external.db";
//	};
//};

Psychotic
рядовой
Сообщения: 44
Зарегистрирован: 2009-07-24 19:55:10

Re: Рекурсивный Bind

Непрочитанное сообщение Psychotic » 2009-08-27 11:04:10

нет ли брандмауэра, запрещающего байнду ходить куда-то, кроме днсов провайдера?
что говорит

Код: Выделить всё

dig @<bind_ip> <somedomain> +trace

riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Re: Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 11:25:22

Код: Выделить всё

%dig @xx.xxx.xxx.xxx ya.ru +trace

; <<>> DiG 9.4.2 <<>> @xx.xxx.xxx.xxx ya.ru +trace
; (1 server found)
;; global options:  printcmd
.                       340458  IN      NS      A.ROOT-SERVERS.NET.
.                       340458  IN      NS      E.ROOT-SERVERS.NET.
.                       340458  IN      NS      G.ROOT-SERVERS.NET.
.                       340458  IN      NS      I.ROOT-SERVERS.NET.
.                       340458  IN      NS      F.ROOT-SERVERS.NET.
.                       340458  IN      NS      H.ROOT-SERVERS.NET.
.                       340458  IN      NS      M.ROOT-SERVERS.NET.
.                       340458  IN      NS      K.ROOT-SERVERS.NET.
.                       340458  IN      NS      C.ROOT-SERVERS.NET.
.                       340458  IN      NS      B.ROOT-SERVERS.NET.
.                       340458  IN      NS      L.ROOT-SERVERS.NET.
.                       340458  IN      NS      D.ROOT-SERVERS.NET.
.                       340458  IN      NS      J.ROOT-SERVERS.NET.
;; Received 316 bytes from xx.xxx.xxx.xxx#53(xx.xxx.xxx.xxx) in 2 ms

ru.                     172800  IN      NS      NS2.NIC.FR.
ru.                     172800  IN      NS      NS2.RIPN.NET.
ru.                     172800  IN      NS      NS5.MSK-IX.NET.
ru.                     172800  IN      NS      NS9.RIPN.NET.
ru.                     172800  IN      NS      E.DNS.RIPN.NET.
ru.                     172800  IN      NS      NS.RIPN.NET.
;; Received 249 bytes from 192.36.148.17#53(I.ROOT-SERVERS.NET) in 148 ms

ya.ru.                  345600  IN      NS      ns5.yandex.ru.
ya.ru.                  345600  IN      NS      ns1.yandex.ru.
;; Received 98 bytes from 193.232.128.6#53(NS5.MSK-IX.NET) in 169 ms

ya.ru.                  7200    IN      A       77.88.21.8
ya.ru.                  7200    IN      A       93.158.134.8
ya.ru.                  7200    IN      A       213.180.204.8
ya.ru.                  7200    IN      NS      ns1.yandex.ru.
ya.ru.                  7200    IN      NS      ns5.yandex.ru.
;; Received 114 bytes from 213.180.204.1#53(ns5.yandex.ru) in 137 ms

Psychotic
рядовой
Сообщения: 44
Зарегистрирован: 2009-07-24 19:55:10

Re: Рекурсивный Bind

Непрочитанное сообщение Psychotic » 2009-08-27 11:39:30

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

riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Re: Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 12:09:49

это с бинда, в внутренней сети разрешение не проходит если на машине из внутренней сети нет инета.

riqwel
рядовой
Сообщения: 11
Зарегистрирован: 2009-05-06 14:56:42

Re: Рекурсивный Bind

Непрочитанное сообщение riqwel » 2009-08-27 12:12:40

в чем разница работы бинда как рекурсивного и не рекурсивного сервера днс?и как узнать в каком режиме он работает?

Psychotic
рядовой
Сообщения: 44
Зарегистрирован: 2009-07-24 19:55:10

Re: Рекурсивный Bind

Непрочитанное сообщение Psychotic » 2009-08-27 12:51:55

как и у любого другого днса - если у нерекурсивного в кэше или в памяти нет данных, он пошлет, рекурсивный займется поиском.

у байнда только внешний адрес?

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