bind9-sdb-ldap. типа плюшко :)

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение FenX » 2009-03-23 19:58:42

В общем суть такая:
перерыл всю документацию по сабжу,
оказалось что сие чудо изначально не тянет
подмену вида *.domain.com.
а штука-то полезная)))
долгий процесс гугления и рысканья по сайтам разрабов
привели меня в mailinglist сего творения.
и как результат - в обсуждении одной из рассылок был найден патч.
патч был предназначен для более ранней версии,
но мы же не безрукие :))

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

ВНИМАНИЕ: патч делал под версию BIND 9.4.2-P2. На других работу не гарантирую!!!
итак, скачиваем архив:
patch-sdb_ldap.zip
(5.62 КБ) 8 скачиваний
архив распаковываем, и помещаем в каталог патчей:

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

$ unzip patch-sdb_ldap.zip
$ cp patch-sdb_ldap /usr/ports/dns/bind9-sdb-ldap/files
после этого пересобираем bind.
Вуаля :)
теперь наш бинд умеет понимать "подмены".
Проверяем:

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

$ cat dns.ldif
dn: relativeDomainName=~,zoneName=domain.local,ou=dns,dc=domain,dc=local
objectClass: top
objectClass: dNSZone
zoneName: domain.local
relativeDomainName: ~
dNSClass: IN
aRecord: 192.168.0.1
Обратите внимание на строки

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

relativeDomainName: ~
Это и есть символ подмены.
не знаю почему, но автор сего патча выбрал именно тильду.
я менять не стал :)

добавляем наш ldif в базу:

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

ldapadd -x -D "$ldapcn" -w mypasswd -f dns.ldif
После этого bind будет работать по схеме:

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

$ nslookup asdfdsfas.domain.local
после такого запроса, bind ищет в базе запись:

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

relativeDomainName=asdfdsfas
и если не находит, то сразу ищет запись:

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

relativeDomainName=~
Ну вроде усё :)

Хостинговая компания 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/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение zingel » 2009-03-23 20:02:50

ну какбэ этот патч был сделан для редиректа с mod_userdir апача на нужный поддомен и обратно, а для поддоменов есть такая чудная штука как алиасы и CNAME.
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение FenX » 2009-03-23 20:12:37

не совсем так.
добавляя запись ~ все домены 3го уровня автоматом привязываются к заданному в этой записи ip
в моём случае - 10.0.0.2

т.е. на запрос
$ nslookup blahblah.domain.local

будет возвращен ip 10.0.0.2
если же в базе сделать запись blahblah = 10.0.0.3

то и возвращать будет 10.0.0.3

вот как-то так)

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение zingel » 2009-03-23 20:13:41

к заданному в этой записи ip
глупости, привязывается он к хосту, а не к ip, если только жестоко не указан ptr для хоста, на основании функции gethostbyname(), а не основании getaddrinfo()
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение FenX » 2009-03-23 20:18:41

zingel писал(а):глупости, привязывается он к хосту, а не к ip, если только жестоко не указан ptr для хоста.
блин.
я не знаю как это более правильно объяснить...
короче при запросе поддомена, не занесённого в базе, будет вертаться ip данный в этой записи.
можешь проверить на примере домена free-source.org

на запрос любого домена 3го уровня будет возвращаться один и тот же ip.

при чем тут ptr - не догоняю.
ptr - это обратная запись для ip, а не ip для домена.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение zingel » 2009-03-23 20:21:08

если захотеть, то запись будет

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

123.45.67.89	IN	PTR	subdomain.domain.tld
тоесть поддомену можно дать ip-адрес при желании.

Я не пойму, зачем Вам изврат такой.
Z301171463546 - можно пожертвовать мне денег

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение FenX » 2009-03-23 20:25:25

что такое ptr и для чего он - я в курсе.
здесь просто стояла несколько иная задача.
мне надо было чтобы на запрос любого домена 3го уровня возвращался ip сервера,
дабы не вводить каждый раз запись в базу, когда надо сделать новый поддомен.
задача выполнена.
и ptr здесь абсолютно ни при чем.

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение zingel » 2009-03-23 20:29:40

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

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение FenX » 2009-03-23 20:39:07

может и есть, но я не нашёл.
это было единственное что удалось найти.

самое обидное здесь в том, что простой bind, без ldap`а прекрасно понимает подмену *
в sdb-ldap это почему-то не сделали =\

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: bind9-sdb-ldap. типа плюшко :)

Непрочитанное сообщение zingel » 2009-03-23 20:45:14

нда, забыли судя по-всему
Z301171463546 - можно пожертвовать мне денег