Страница 1 из 1

SLAVE DNS BIND

Добавлено: 2011-09-02 8:42:42
posta
Всем доброго дня,
Настроил авторитарный днс сервер bind на фрибсд.
Использовал view сlause для доменной зоны, чтобы разделить внешние и внутренние хосты.
Теперь стоит задача создать вторичный днс сервер. Впрочем уже сделал, она у меня обнавляется, но проблема в том что она не разделяет хосты на внешние и внутренние. Хотя должны были так делать, так как сохраняются в отдельные файлы.
это на первичном:

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

view "for_local_clients" {

	zone "."  {
	        type hint;
	        file "named.root";
	};

	zone "localhost" {
	        type master;
	        file "master/localhost.zone";
	     	allow-transfer { 127.0.0.1; };
		allow-query { 127.0.0.1; };
        };

	zone "0.0.127.IN-ADDR.ARPA" {       
		type master;
		file "master/localhost.rev";
		allow-transfer { 127.0.0.1; };
		allow-query { 127.0.0.1; };
        };

	match-clients {
		192.168.0.0/24;
	};
        zone "domanname" {
                type master;
                file "master/internal.domanname";

                allow-transfer {
					xxx.xxx.xxx.xxx;
					xxx.xxx.xxx.xxx;
                };
        };

	zone "0.168.192.IN-ADDR.ARPA" in{
		type master;
		file "reverse/in.0.168.192.rev";
		allow-transfer {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};

};

view "for_public_clients" {
	
	match-clients {
		"any";
	};
	
	zone "domanname"	{
		type master;
		file "master/external.domanname";

		allow-transfer {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};
	
	zone "0.168.192.IN-ADDR.ARPA" in{
		type master;
		file "reverse/ex.0.168.192.rev";
		allow-transfer {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};

};
а это на вторичном

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

view "for_local_clients" {

	zone "."  {
	        type hint;
	        file "named.root";
	};

	zone "localhost" {
	        type master;
	        file "master/localhost.zone";
	     	allow-transfer { 127.0.0.1; };
		allow-query { 127.0.0.1; };
        };

	zone "0.0.127.IN-ADDR.ARPA" {       
		type master;
		file "master/localhost.rev";
		allow-transfer { 127.0.0.1; };
		allow-query { 127.0.0.1; };
        };

	match-clients {
		192.168.0.0/24;
	};
        zone "domanname" {
			type slave;
			file "slave/internal.domanname";
			masters {
				xxx.xxx.xxx.xxx;
				xxx.xxx.xxx.xxx;
			};
        };

	zone "0.168.192.IN-ADDR.ARPA" in{
		type slave;
		file "slave/in.0.168.192.rev";
		masters {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};

};

view "for_public_clients" {
	
	match-clients {
		"any";
	};
	
	zone "domanname"	{
		type slave;
		file "slave/external.domanname";
		masters {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};
	
	zone "0.168.192.IN-ADDR.ARPA" in{
		type slave;
		file "slave/ex.0.168.192.rev";
		masters {
			xxx.xxx.xxx.xxx;
			xxx.xxx.xxx.xxx;
		};
	};

};
но при этом файлы slave/internal.domanname и slave/external.domanname получаются совершенно идентичны.
Как можно решить эту проблему? И вообще, это проблема?

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 11:40:25
shlash
У вас на мастере определены два отображения: match-clients 192.168.0.0/24 и match-clients "все_остальные".
Нужно сделать так, чтобы запросы со вторичного, для получения внешнего отображения зон, имели адрес не входящий в диапазон 192.168.0.0/24.
Для получения внешнего отображения зон нужен отдельный сервер, находящийся во внешней адресной области.

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 11:45:47
shlash
Для внешних хостов абсолютно бессмысленно отдавать внутреннюю реверсную зону 0.168.192.IN-ADDR.ARPA

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 11:50:14
posta
shlash писал(а):У вас на мастере определены два отображения: match-clients 192.168.0.0/24 и match-clients "все_остальные".
Нужно сделать так, чтобы запросы со вторичного, для получения внешнего отображения зон, имели адрес не входящий в диапазон 192.168.0.0/24.
Для получения внешнего отображения зон нужен отдельный сервер, находящийся во внешней адресной области.
честно сказать я не очень понял "внешней адресной области".
У меня синхронизация идет, в этом нету проблем. Только вот вторичный не распознает файлы зоны для внешнего и для внутренного. Она обе сохраняет, но обьединяя обе.

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 11:51:41
posta
shlash писал(а):Для внешних хостов абсолютно бессмысленно отдавать внутреннюю реверсную зону 0.168.192.IN-ADDR.ARPA
ведь она и не отдается, или я неправ?

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 13:20:52
shlash
Какие у серверов собственные ip-адреса? Какие адреса забиты ххх.ххх?
slave/internal.domanname и slave/external.domanname это действительно два разных файла, а не хардлинк?
Логирование включали? Какие запросы приходят, какие ответы формируются?

Удалите из внешнего отображения zone "0.168.192.IN-ADDR.ARPA"

Re: SLAVE DNS BIND

Добавлено: 2011-09-02 14:46:44
posta
shlash писал(а):Какие у серверов собственные ip-адреса? Какие адреса забиты ххх.ххх?
slave/internal.domanname и slave/external.domanname это действительно два разных файла, а не хардлинк?
Логирование включали? Какие запросы приходят, какие ответы формируются?

Удалите из внешнего отображения zone "0.168.192.IN-ADDR.ARPA"
У обоих серверов есть по два интерфейса, один для внешки (белый), другой для внутренней сети.
под ххх.ххх мастер файле айпи вторичного (один внешний, другой внутренний). В файле слайве тоже самое только айпи указывают на мастера.
Да, slave/internal.domanname и slave/external.domanname это действительно две разные файлы.
Как логирование включено. Уровень инфо.
на мастере:

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

02-Sep-2011 17:31:30.557 general: info: zone domanname/IN/for_local_clients: loaded serial 201108265
02-Sep-2011 17:31:30.557 general: info: zone localhost/IN/for_local_clients: loaded serial 201011023
02-Sep-2011 17:31:30.559 general: info: zone domanname/IN/for_public_clients: loaded serial 201108265
02-Sep-2011 17:31:30.560 notify: info: zone 0.168.192.IN-ADDR.ARPA/IN/for_local_clients: sending notifies (serial 201108265)
02-Sep-2011 17:31:30.560 notify: info: zone domanname/IN/for_local_clients: sending notifies (serial 201108265)
и это повторяется

на слайве:

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

02-Sep-2011 17:21:48.096 notify: info: client master_ip#61501: view for_public_clients: received notify for zone 'domanname'
02-Sep-2011 17:21:48.096 general: info: zone domanname/IN/for_public_clients: notify from master_ip#61501: zone is up to date
02-Sep-2011 17:21:48.096 notify: info: client master_ip#61501: view for_public_clients: received notify for zone 'domanname'
02-Sep-2011 17:21:48.096 general: info: zone domanname/IN/for_public_clients: notify from master_ip#61501: zone is up to date
02-Sep-2011 17:22:25.599 general: info: zone 0.168.192.IN-ADDR.ARPA/IN/for_local_clients: refresh: non-authoritative answer from master master_ip#53 (source 0.0.0.0#0)

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 8:36:48
posta
Неужели никто не пользовался view clause и не настраивал для него вторичный сервер?!

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:13:56
Gamerman
Локалка оба ДНС-сервера видит?

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:16:44
posta
Да видит, и обе работают без проблем. Проблема в том что на слейве видны хосты которые не должны быть видимыми.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:18:39
Gamerman
Видны - в смысле резольвятся?
А откуда запрос он правильно определяет?

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:23:10
posta
Gamerman писал(а):Видны - в смысле резольвятся?
А откуда запрос он правильно определяет?
Да, резолвяться без проблем.
Например при запросе с мира не должнен быть видим хост жаббер.доменнайм.
Первичный сервер так и реагирует, тоесть говорит что незнает такой хост. А вот если спросить у вторичного, то он все с потрахами показывает.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:28:44
Gamerman
Второй не за натом случайно?
Не, не в этом проблема. Не дочитал.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:30:58
posta
Gamerman писал(а):Второй не за натом случайно?
Нет, имеет белый айпи.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:31:45
Gamerman
Покажите настройки, как он получает с мастер-сервера записи.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:34:30
Gamerman
По ходу такая идея. Слейв обращается через серый АйПИ к мастеру и получает "внутренние" настройки.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:39:03
posta
На данный момент это кажется самым логичным объяснением. Уже поменял в настройках чтобы внутренний конфиг файл отдавал только только внутреннему адресу, а внешний конфиг файл отдавал только через белый айпи. Не помогает пока.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:43:57
posta
shlash писал(а):У вас на мастере определены два отображения: match-clients 192.168.0.0/24 и match-clients "все_остальные".
Нужно сделать так, чтобы запросы со вторичного, для получения внешнего отображения зон, имели адрес не входящий в диапазон 192.168.0.0/24.
Для получения внешнего отображения зон нужен отдельный сервер, находящийся во внешней адресной области.
Кажется только теперь понял что вы имели ввиду. Спасибо за помощь. Проблема решена именно этим путем.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:45:18
posta
posta писал(а):На данный момент это кажется самым логичным объяснением. Уже поменял в настройках чтобы внутренний конфиг файл отдавал только только внутреннему адресу, а внешний конфиг файл отдавал только через белый айпи. Не помогает пока.
А теперь работает! Забыл в конфиге вторичного забить соответствующие мастера.

Re: SLAVE DNS BIND

Добавлено: 2011-09-05 9:45:57
posta
Gamerman писал(а):По ходу такая идея. Слейв обращается через серый АйПИ к мастеру и получает "внутренние" настройки.
Спасибо большое. Это была хорошая подсказка. Проблема решена.