LINUX.ORG.RU

dnsmasq и Active Directory


0

1

В офисной сети есть маршрутизатор раздающий инет. На нем же поднят dnsmasq который используется как DNS для всех клиентов внутри сети.

Возникла задача развернуть AD на WinServer 2003. При этом хотелось оставить DNS на dnsmasq.

Проблема следующая, при попутке добавления в домен какого либо клиента, возникает ошибка «Домен не найден». Что надо крутить в dnsmasq что бы домен находился?


Вообще-то на винфак

DNS и Active Directory друг без друга не могут. Это факт.

По-моему очевидное решение - настроить master DNS на оффтопике, а на роутере - slave.

Вообще кастую тебя ставить Samba4. У меня в данный момент скомпиленная из git Samba4 прекрасно держит AD с GPO и десятком-другим пользователей в аудитории из 25 компов (XP+w2k), DNS на bind'e, я удовлетворён её работой.

adriano32 ★★★
()
Ответ на: комментарий от Morphine

Совсем не обязательно. ДНС для винды отлично поднимается и на бинде, просто в нем нужно создать соответствующие записи.

А по теме - dnsmasq это форвардящий резолвер, он не может обслуживать свои днс зоны, так что ой. Ставь бинд.

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Совсем не обязательно. ДНС для винды отлично поднимается и на бинде, просто в нем нужно создать соответствующие записи.

Плюсую - но поддерживать их в актуальности тот ещё гемморой.

adriano32 ★★★
()

Посмотри снифером (например wireshark) какие запросы к DNS'у посылает клиент и добавь соответствующие записи на свой сервер.

Deleted
()
Ответ на: комментарий от adriano32

Это да, у меня обычно корень со всякими _tcp/_udp интегрирован в AD с виндовым ДНС, а остальные поддомены (типа computers.domain.local, который обновляет динамический днс) делегированы на бинд, сухо и приятно :)

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Да некуда там добавлять, dnsmasq не может быть авторитативным DNS сервером, он только проксирует запросы.

Для записей A и AAAA может.

Deleted
()
Ответ на: комментарий от Deleted

Зачем снифать, когда можно их из Samba4 взять:

$ cat /etc/bind/db.ksu.nuos.edu.ua
;
; Вырезано
;
        IN      A       192.168.24.1
;@      IN      AAAA    ::1
mercury IN      A       192.168.24.1
gc._msdcs       IN      A       192.168.24.1
8273ad24-56cf-4253-985a-e3a409cb9a25._msdcs     IN CNAME        mercury
;
; global catalog servers
_gc._tcp                IN SRV 0 100 3268       mercury
_gc._tcp.Default-First-Site-Name._sites IN SRV 0 100 3268       mercury
_ldap._tcp.gc._msdcs    IN SRV 0 100 3268       mercury
_ldap._tcp.Default-First-Site-Name._sites.gc._msdcs     IN SRV 0 100 3268 mercury
;
; ldap servers
_ldap._tcp              IN SRV 0 100 389        mercury
_ldap._tcp.dc._msdcs    IN SRV 0 100 389        mercury
_ldap._tcp.pdc._msdcs   IN SRV 0 100 389        mercury
_ldap._tcp.0e820953-0108-4ce9-911b-e2c1f7bc78d2.domains._msdcs          IN SRV 0 100 389 mercury
_ldap._tcp.Default-First-Site-Name._sites               IN SRV 0 100 389 mercury
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs     IN SRV 0 100 389 mercury
;
; krb5 servers
_kerberos._tcp          IN SRV 0 100 88         mercury
_kerberos._tcp.dc._msdcs        IN SRV 0 100 88 mercury
_kerberos._tcp.Default-First-Site-Name._sites   IN SRV 0 100 88 mercury
_kerberos._tcp.Default-First-Site-Name._sites.dc._msdcs IN SRV 0 100 88 mercury
_kerberos._udp          IN SRV 0 100 88         mercury
; MIT kpasswd likes to lookup this name on password change
_kerberos-master._tcp           IN SRV 0 100 88         mercury
_kerberos-master._udp           IN SRV 0 100 88         mercury
;
; kpasswd
_kpasswd._tcp           IN SRV 0 100 464        mercury
_kpasswd._udp           IN SRV 0 100 464        mercury
;
; heimdal 'find realm for host' hack
_kerberos               IN TXT  KSU.NUOS.EDU.UA
$

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Ну DNS на винде самое простое решение, но...
dnsmasq раздает ip по dhcp и знает имена хостов, которым выдал ip

Соответственно, если DNS ан виде, то она не знает имена клиентов получивших ip У DHCP.

Хочется под виндой только контроллер домена, а DNS отдельно на dnsmasq

dvalov
() автор топика
Ответ на: комментарий от dvalov

Еще раз говорю - на dnsmasq поднять DNS дла домена ТЕХНИЧЕСКИ невозможно. Можно на BIND.

А DHCP адреса клиент на днс сервере может обновлять в принципе и сам, без посредничества DHCP сервера

blind_oracle ★★★★★
()
Ответ на: комментарий от blind_oracle

Хорошо, а можно заставить dnsmasq обновлять записи в DNS на винде?

dvalov
() автор топика
Ответ на: комментарий от Deleted

Хм, и правда, но через такую задницу всё это там происходит, что я бы и не стал браться :)

Файлов зон судя по всему нет, записи отдельно вбиваются тупо в конфиг...

blind_oracle ★★★★★
()
Ответ на: комментарий от dvalov

Почитай про связку dhcp3+bind она умеет то что ты хочешь.

Как и умеет оффтопик. Ты просто мало гуглил.

Тебе ещё раз объясняю - DNS необходим AD чтоб осуществлять работу с каталогом. Его можно настроить вторичным, но особого удовольствия от этого ты не получишь - оно заточено под то, что первичным DNS сервером будет такой же сервер '03

adriano32 ★★★
()
Ответ на: комментарий от dvalov

А можно подробнее про SRV и TXT ?

Смотри в мане и примере конфигурации.

Deleted
()

Хорошо, а если по другому спросить.

Нужна связка AD + DNS + DHCP. Причем нужно обновлять DNS в части клиентов получающих IP динамически.

В сети несколько сегментов которые рулятся маршрутизатором на OpenWrt.
Машина с контроллером домена стоит в одном из сегментов, соответственно если там DHCP то он может раздавать адреса только в этом сегменте...

На OpenWrt ничего особо серьезного не поднимешь...

Как лучше поступить?

dvalov
() автор топика
Ответ на: комментарий от dvalov

если там DHCP то он может раздавать адреса только в этом сегменте

man «ретрансляция DHCP»

Я сейчас объективно говорю, что решал бы твою задачу на Samba4 && bind 9.7.2+ && dhcpd3

На роутеры перенести функционал кэширования запросов, ретрансляторов или вторичных DNS серверов.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

А как DHCP на винде будет понимать из какого диапазона давать IP?
Он же в этом случае не понимает из какого сегмента пришел запрос?

dvalov
() автор топика
Ответ на: комментарий от dvalov

Пока ты не приведёшь более-менее точную схему сети с адресами, указанием кто в узлах, какие настройки раздаёт, принципом функционирования итп - тред будет носить характер «телепаты рекомендуют»

Вот по поводу запросов из разных сегментов - надо подумать, когда дашь ясную картину - возможно тут так просто и не выкрутиться.

adriano32 ★★★
()
Ответ на: комментарий от adriano32

ну все достаточно просто.
Есть три сегмента:
192.168.10/24
192.168.12/24
192.168.14/24
Есть маршрутизатор (Asus WL500gp) с OpenWrt он имеет в каждом сегменте по интерфейсу:
192.168.10.1
192.168.12.1
192.168.14.1
соответственно.

В сегменте 192.168.10/24 есть сервера с AD на котором можно поднять DHCP. Допустим на маршрутизаторе можно организовать прокси DHCP
Но как каждому клиенту выдавать ip из своей сети?

dvalov
() автор топика
Ответ на: комментарий от dvalov

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

Fletch ★★
()
Ответ на: комментарий от Fletch

Хинт: если маки заранее не расписаны по подсетям, то адреса из пулов будут браться непредсказуемо. Т.е. машина, которой тебе, к примеру, надо дать адрес из 192.168.2.0/24 может взять адрес из 192.168.1.0/24 и т.д. Это при условии, что все подсети бегают через один свитч. Опять же, гадание на кофейной гуще. Нарисуй схему сети для получения адекватного ответа.

Fletch ★★
()
Ответ на: комментарий от adriano32

Сдаётся мне, ТС, что dhcrelay(ретрансляция DHCP) на роутере + [dhcpd3 + bind9 (Динамическое обновление DNS записей (DDNS) для DHCP клиентов)] +Samba4 на linux-сервере таки успешно решат твою задачу.

Кастую в тред для ТС истории успеха DDNS и dhcrelay, ибо история успеха с Samba4 есть у меня.

adriano32 ★★★
()

В целом, это оффтопик. Но, раз тему не стёрли, напишу следующее.

Вроде, клиенты сами могут регестрировать свои данные в AD, и, получается, что dnsmasq должен просто отдавать нужные SRV записи, при этом ему не обязательно отвечать за эту зону, клиент сам при входе в AD зарегестрирует своё доменное имя.

И получается, что dnsmasq не нужен, нужен dhcp-сервер на openwrt (выдающий в настройках DNS на WinServer) или, даже просто dhcp-relay. Говорят, что винда умеет работать с несколькими dhcp-relay. Но видел такое только на базе Cisco, не знаю, правильный ли dhcp-relay на OpenWRT.

mky ★★★★★
()
Ответ на: комментарий от mky

клиенты сами могут регестрировать свои данные в AD

ЕМНИП это если логин в домен был произведён с клиента. Если клиент залогиниться в локальную учётку - то естественно нифига.
О том как это делать в самба4 рассказано здесь
Но я не делал этого, так как сиже на старой версии бинда пока.

adriano32 ★★★
()
Ответ на: комментарий от mky

клиент сам при входе в AD зарегестрирует своё доменное имя.

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

Выходит достаточно настроить обработку опции 82 DHCP (Agent Circuit ID и Agent Remote ID), приходящих с dhcrelay'a роутера на сервак?

По идее, dhcrelay можно и скомпелять на роутере с горя, если там урезанный, не?

adriano32 ★★★
()
Ответ на: комментарий от adriano32

Да, вроде, опция 82 здесь не нужна. dhcp-relay должен сообщить свой ip-адрес того интерфейса, откуда пришёл запрос и dhcp-сервер выберёт ip-адрес из нужного диапазона. Во всяком случае мелкомягкие говорят, что можно в каждый сегмент сети воткнуть по серверу в роли dhcp-relay и всё заработает. А их dhcp-relay не умеет опцию 82.

По идее, dhcrelay можно и скомпелять на роутере с горя, если там урезанный, не?

Можно много чего, но для ТС это будет очень сложно. И на роутере нет компилятора, это надо брать Линукс, на нём устанавливать всё для компиляции (кросс-компиляции) под роутер, потом полученый бинарник копировать на роутер и там запускать.

mky ★★★★★
()
Ответ на: комментарий от mky

Спасибо за информацию и уделённое время. На досуге посмотрю технет на предмет dhcp relay.

adriano32 ★★★
()
Ответ на: комментарий от mky

>опция 82 здесь не нужна

подтверждаю. она немного для другого. у меня на работе свичи D-Link релеят порядка 20 сегментов

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.