The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Bind primary zone с обращением к slave"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (DNS)
Изначальное сообщение [ Отслеживать ]

"Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 21-Ноя-13, 11:31 
Добрый день

К примеру есть такая запись:

zone "corp.ru" {
  type slave;
  file "corp.ru";
  masters { 8.8.8.8; };
};

То есть, на нашем DNS сервере, при работе сервера, будет создан файл corp.ru, с точным содержимым этой зоны с DNS сервера 8.8.8.8, но, необходимо что бы записи в этих зонах были различными.
К примеру, у меня в локальной сети 192.168.0.0/24 находится почтовик, который так же виден через проброс портов на роутере из интернета.
Записи на него хранятся на внешнем DNS сервере, к примеру на 8.8.8.8, и ссылаются как:
mail50.corp.ru A 123.123.123.5
В локальной сети он виден под ip равным 192.168.0.5
И соотвественно он прописан на DNS сервере в локальной сети под этим же ip, но в этой зоне есть к примеру еще 49 почтовиков, mail1.corp.ru .. mail49.corp.ru, которые находятся в инете, и эти записи достаточно динамичны, что бы исключить ручное прописывание их ip.

Есть ли директива или возможность заместить в слейв зоне определенную запись, подобие как для зоны corp.ru ресолвим как записанно в файле primary.corp.ru, а если нужных записей нет, то берем их с файла slave.corp.ru, который загружен с сервера 8.8.8.8

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Bind primary zone с обращением к slave"  +/
Сообщение от ipmanyak (ok) on 21-Ноя-13, 15:13 
Не нужно устраивать себе геморрой. Всё уже придумано до нас. В операционной системе вашего DNS сервера в файле hosts пропишите
192.168.0.5 mail50.corp.ru  
И всё!  
При резолвинге резолвер операционной системы сначала будет смотреть в этот файл hosts, потом в нэймсервер.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Bind primary zone с обращением к slave"  +/
Сообщение от LSTemp (ok) on 21-Ноя-13, 23:07 
> Не нужно устраивать себе геморрой. Всё уже придумано до нас. В операционной
> системе вашего DNS сервера в файле hosts пропишите
> 192.168.0.5 mail50.corp.ru
> И всё!
> При резолвинге резолвер операционной системы сначала будет смотреть в этот файл hosts,
> потом в нэймсервер.

Не надо вводить человека в заблуждение.

Ресолвить ч/з hosts будет только сама ОС на машине, а не клиенты, которые делают к ней ДНС-запросы. При ответе ДНС-сервера клиенту hosts не рулит никак вообще - он ТОЛЬКО для локальной системы.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 22-Ноя-13, 10:25 
> Не нужно устраивать себе геморрой. Всё уже придумано до нас. В операционной
> системе вашего DNS сервера в файле hosts пропишите
> 192.168.0.5 mail50.corp.ru
> И всё!
> При резолвинге резолвер операционной системы сначала будет смотреть в этот файл hosts,
> потом в нэймсервер.

:) Давно все прописанно, иначе бы и не заработало, там крутится Zimbra.
Это все затеяно для клиентов локалки, им нужны DNS записи.
Локальный DNS крутится на этой же машине, на DNS хостера записи для белого ip.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Bind primary zone с обращением к slave"  +/
Сообщение от LSTemp (ok) on 21-Ноя-13, 23:15 
>[оверквотинг удален]
> mail50.corp.ru A 123.123.123.5
> В локальной сети он виден под ip равным 192.168.0.5
> И соотвественно он прописан на DNS сервере в локальной сети под этим
> же ip, но в этой зоне есть к примеру еще 49
> почтовиков, mail1.corp.ru .. mail49.corp.ru, которые находятся в инете, и эти записи
> достаточно динамичны, что бы исключить ручное прописывание их ip.
> Есть ли директива или возможность заместить в слейв зоне определенную запись, подобие
> как для зоны corp.ru ресолвим как записанно в файле primary.corp.ru, а
> если нужных записей нет, то берем их с файла slave.corp.ru, который
> загружен с сервера 8.8.8.8

Немного сумбурно написано...

Насколько я понял, задача в том, что один из серверов прописанных в slave-зоне, доступен для клиентов по локальной сети (ч/з серый IP) и Вы хотите обеспечить доступ к нему именно по локалке. Так?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 22-Ноя-13, 10:21 

> Насколько я понял, задача в том, что один из серверов прописанных в
> slave-зоне, доступен для клиентов по локальной сети (ч/з серый IP) и
> Вы хотите обеспечить доступ к нему именно по локалке. Так?

Именно так, он установлен в локальной сети 24 сида, из инета проброс портов через роутер ( белый ip ). На нем же DNS сервер, на DNS сервере хостера прописан для него белый ip.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Bind primary zone с обращением к slave"  +/
Сообщение от lavr email on 22-Ноя-13, 11:14 
>> Насколько я понял, задача в том, что один из серверов прописанных в
>> slave-зоне, доступен для клиентов по локальной сети (ч/з серый IP) и
>> Вы хотите обеспечить доступ к нему именно по локалке. Так?
> Именно так, он установлен в локальной сети 24 сида, из инета проброс
> портов через роутер ( белый ip ). На нем же DNS
> сервер, на DNS сервере хостера прописан для него белый ip.

http://www.zytrax.com/books/dns/ch6/index.html#stealth

view?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 22-Ноя-13, 12:34 
>>> Насколько я понял, задача в том, что один из серверов прописанных в
>>> slave-зоне, доступен для клиентов по локальной сети (ч/з серый IP) и
>>> Вы хотите обеспечить доступ к нему именно по локалке. Так?
>> Именно так, он установлен в локальной сети 24 сида, из инета проброс
>> портов через роутер ( белый ip ). На нем же DNS
>> сервер, на DNS сервере хостера прописан для него белый ip.
> http://www.zytrax.com/books/dns/ch6/index.html#stealth
> view?

view используется для отдачи разных записей для разных сетей клиентов, а здесь все клиенты из одного сегмента. Не это.
Мне нужно подменить всего одну запись, максимум три, остальные записи для этой зоны должны браться с внешнего DNS сервера.
Можно конечно написать в лоб скрипт, который будет заглатывать зону с внешнего DNS сервера, подменять нужные записи, подсовывать этот файл к локальному DNS серверу, но это все как вырывать гланды через задний проход, наверняка должно быть решение средствами BIND, не такая уж эта сложная задача, и я не думаю что я первый кто подошел к этой задаче.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 22-Ноя-13, 13:40 
На текущий момент решил задачу так ( я думаю пригодится многим ):
Хотелось бы конечно без недостатков этой схемы решить проблему, но пока я никаких решений не нашел. Недостаток в том, что при появлении новогу узла домена, к примеру ftp.microsoft.com, потребуется добавить вручную запись.

$TTL 3600
$ORIGIN microsoft.com.

microsoft.com.               IN      SOA     ns1.microsoft.com.   ns2.microsoft.com. (
                                2013080217 ; serial
                                14400 ; refresh
                                3600 ; retry
                                2592000 ; expire
                                600 ; minimum
                        )

; Здесь я описываю замещенные и статичные записи:

microsoft.com.               IN      NS      ns1.microsoft.com.
ns1                             A       192.168.1.2
mail50                         A       192.168.1.2
mail50.microsoft.com        IN      A       192.168.1.2
microsoft.com.               IN      TXT     "v=spf1 +a +mx a:mail50.microsoft.com a:mail.microsoft.com a:mail50.microsoft.com ip4:111.222.333.444 ip4:1.2.3.4 redirect=microsoftpartner.com"
@                       IN      A       192.168.1.2

; Все интересное здесь, эти записи переодически изменяют значения:

mail.microsoft.com.          IN      NS      ns2.microsoft.com.
www.microsoft.com.           IN      NS      ns2.microsoft.com.
microsoft.com.               IN      NS      ns2.microsoft.com.

; ns2 - внешний DNS, в моем случае это кеширующий DNS на роутере, можно любой другой указать

ns2                          IN      A       192.168.1.1

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Bind primary zone с обращением к slave"  +/
Сообщение от lavr email on 22-Ноя-13, 14:52 
>[оверквотинг удален]
> ns2.microsoft.com.
> microsoft.com.            
>    IN      NS  
>     ns2.microsoft.com.
> ; ns2 - внешний DNS, в моем случае это кеширующий DNS на
> роутере, можно любой другой указать
> ns2            
>            
>    IN      A  
>      192.168.1.1

Долго не мог понять что Вам нужно из описания, но судя по верхнему, Вы сделали совершенно
иную вещь - подмена данных чужой зоны на свои.
Изначально Вы хотели "перевернуть" архитектурную концепцию DNS:
slave --тянет-- с primary, затем подмена записи, notify просто убьет Вашу
конструкцию.
И если я правильно понял и расписал верхнее, Вы некорректно описали задачу и
сделали некорректную постановку задачи, это если я правильно понял.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Bind primary zone с обращением к slave"  +/
Сообщение от vfp7 email(ok) on 22-Ноя-13, 15:59 
Честно говоря, аналогов этой задаче я пока не нашел в инете, поэтому как ее сформулировать я не знаю.
Задача в подмене записей внешнего DNS сервера на локальном DNS сервере, для выборочных записей зоны.
Все остальные записи зоны должны быть как на внешнем сервере или хотя бы браться с внешнего сервера ( этот вариант хуже, лишние задержки и лишний трафик ).
В моем случае возможно стянуть зону с внешнего сервера, так как это наш хостер.
Но как эту зону обработать средствами DNS сервера - это я не придумал, и не нашел решения в инете.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Bind primary zone с обращением к slave"  +/
Сообщение от lavr email on 22-Ноя-13, 16:14 
>[оверквотинг удален]
> как ее сформулировать я не знаю.
> Задача в подмене записей внешнего DNS сервера на локальном DNS сервере, для
> выборочных записей зоны.
> Все остальные записи зоны должны быть как на внешнем сервере или хотя
> бы браться с внешнего сервера ( этот вариант хуже, лишние задержки
> и лишний трафик ).
> В моем случае возможно стянуть зону с внешнего сервера, так как это
> наш хостер.
> Но как эту зону обработать средствами DNS сервера - это я не
> придумал, и не нашел решения в инете.

А никак, подмена зоны, imho

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Bind primary zone с обращением к slave"  +/
Сообщение от LSTemp (ok) on 22-Ноя-13, 21:07 
>> Насколько я понял, задача в том, что один из серверов прописанных в
>> slave-зоне, доступен для клиентов по локальной сети (ч/з серый IP) и
>> Вы хотите обеспечить доступ к нему именно по локалке. Так?
> Именно так, он установлен в локальной сети 24 сида, из инета проброс
> портов через роутер ( белый ip ). На нем же DNS
> сервер, на DNS сервере хостера прописан для него белый ip.

ИМХО просто пропишите на маршрутизаторе роут до белого IP нужного сервера ч/з локалку. Вероятно придется еще пакетный фильтр на самом серваке подкрутить.

ДНС тут вообще ни при чем - перекрыть определение хостов в слейв зоне можно только кривыми костылями (странно если было бы иначе).


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру