named + ldap
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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/
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
теперь настраиваю DDNS
в чем косяк?
в чем косяк?
Код: Выделить всё
[f0s@mail] /home/f0s/> /usr/local/etc/rc.d/isc-dhcpd start
Starting dhcpd.
Internet Systems Consortium DHCP Server V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Error: Cannot find LDAP entry matching (&(objectClass=dhcpServer)(|(cn=mail.artpaint)(cn=mail.artpaint)))
Configuration file errors encountered -- exiting
Код: Выделить всё
[f0s@mail] /home/f0s/> cat /usr/local/etc/dhcpd.conf
ldap-server "127.0.0.1";
ldap-port 389;
ldap-username "cn=root,dc=artpaint,dc=spb,dc=ru";
ldap-password "pass";
ldap-base-dn "cn=dhcp,dc=artpaint,dc=spb,dc=ru";
ldap-method dynamic;
Код: Выделить всё
[f0s@mail] /usr/local/etc/> ll
total 96
-rw-r----- 1 dhcpd dhcpd 187 2 июл 15:26 dhcpd.conf
Код: Выделить всё
[f0s@mail] /usr/local/etc/openldap/> cat dhcp.ldif
dn: cn=mail.artpaint, dc=artpaint,dc=spb,dc=ru
cn: mail.artpaint
objectClass: top
objectClass: dhcpServer
dhcpServiceDN: cn=dhcp, dc=artpaint,dc=spb,dc=ru
dn: cn=dhcp, dc=artpaint,dc=spb,dc=ru
cn: dhcp
objectClass: top
objectClass: dhcpService
dhcpPrimaryDN: cn=mail.artpaint, dc=artpaint,dc=spb,dc=ru
dhcpStatements: ddns-update-style none
dhcpStatements: default-lease-time 14400
dhcpStatements: max-lease-time 28800
dhcpStatements: log-facility local7
dn: cn=192.168.10.0, cn=dhcp, dc=artpaint,dc=spb,dc=ru
cn: 192.168.10.0
objectClass: top
objectClass: dhcpSubnet
objectClass: dhcpOptions
dhcpNetMask: 24
dhcpRange: 192.168.10.50 192.168.10.150
dhcpStatements: ignore client-updates
dhcpOption: domain-name "artpaint"
dhcpOption: domain-name-servers 192.168.10.8
dhcpOption: routers 192.168.10.7
dhcpOption: default-ip-ttl 64
dhcpOption: default-tcp-ttl 64
[f0s@mail] /usr/local/etc/openldap/>
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- Za...
- мл. сержант
- Сообщения: 105
- Зарегистрирован: 2006-08-18 14:18:15
- Откуда: Север России
- Контактная информация:
Первое
Дело в том что, сдесь DDNS работает только тогда, когда у тебя работает все в текстовых файлах, а у нас лдап, поэтому сдесь этот метод не преминим. Но тут утебя другая ситуация, то что не много не правильно настроин сам dhcp
dhcp conf оставляем в парядке
А правим сам ldif
Для автоматического обновления зон DNS-сервера DHCP-сервером, скачаем по ссылке http://www.venaas.no/ldap/bind-sdb/dhcp2ldapd-1.1.gz. Расположим файл в /usr/local/sbin, создадим символическую ссылку dhcp2ldap на файл dhcp2ldap-1.1.pl , перед этим его распаковав:
Отредактируем скрипт dhcp2ldap.pl:
Далее подправим код, т.к. скрипт писался для обслуживания адресов по маске 16
на
Запустим скрипт:
[root@gaster /usr/local/etc/rc.d]# dhcp2ldap.sh start
Проверим работу DHCP-сервера, запустим компьютер клиента настроенный на по-лучение автоматически сетевого адреса а также проверке DNS
Дело в том что, сдесь DDNS работает только тогда, когда у тебя работает все в текстовых файлах, а у нас лдап, поэтому сдесь этот метод не преминим. Но тут утебя другая ситуация, то что не много не правильно настроин сам dhcp
dhcp conf оставляем в парядке
А правим сам ldif
Код: Выделить всё
# Описание объекта где DHCP будет искать свои опции, настройки и области выдаваемых адресов
dn: ou=Dhcp, dc=artpaint,dc=spb,dc=ru
ou: Dhcp
description: configuration information for dhcp
objectClass: top
objectClass: organizationalUnit
#Так называемый конфиг, только хранящейся в лдап
dn: cn=conf, ou=Dhcp, dc=artpaint,dc=spb,dc=ru
dhcpSecondaryDN: cn=mail.artpaint,ou=Dhcp, dc=artpaint,dc=spb,dc=ru
#Отключаем DDNS
dhcpStatements: ddns-update-style none
dhcpStatements: ddns-updates off
dhcpStatements: client-updates off
dhcpStatements: default-lease-time 86400
dhcpStatements: max-lease-time 129600
dhcpStatements: authoritative
dhcpStatements: use-host-decl-names on
dhcpStatements: always-reply-rfc1048 on
objectClass: top
objectClass: dhcpService
objectClass: dhcpOptions
dhcpPrimaryDN: ou=Dhcp, dc=artpaint,dc=spb,dc=ru
# Опции на уровне всего DHCP сервера
dhcpOption: domain-name "artpaint"
dhcpOption: netbios-scope ""
dhcpOption: netbios-node-type 8
dhcpOption: time-offset 10800
dhcpOption: ip-forwarding off
dhcpOption: option-150 code 150 = ip-address
dhcpOption: netbios-name-servers 192.168.10.8
cn: conf
dn: cn=mail.artpaint, ou=Dhcp, dc=artpaint,dc=spb,dc=ru
dhcpServiceDN: cn=conf,ou=Dhcp, dc=artpaint,dc=spb,dc=ru
objectClass: top
objectClass: dhcpServer
cn: mail.artpaint
dn: cn=192.168.10.0, cn=conf, ou=Dhcp, dc=artpaint,dc=spb,dc=ru
objectClass: top
objectClass: dhcpSubnet
objectClass: dhcpOptions
dhcpNetMask: 24
dhcpRange: 192.168.10.50 192.168.10.150
# Опции на уровне области DHCP сервера
dhcpOption: domain-name-servers 192.168.10.8
dhcpOption: routers 192.168.10.7
dhcpOption: broadcast-address 192.168.10.255
dhcpOption: default-ip-ttl 64
dhcpOption: default-tcp-ttl 64
cn: 192.168.10.0
Код: Выделить всё
[root@gaster /usr/local/src]# gunzip dhcp2ldap-1.1.gz
Код: Выделить всё
# Файл, где хранится информация о выданных адресах DHCP-сервером
$LEASES = "/var/db/dhcpd/dhcpd.leases";
# Домен
$DOMAIN = "artpaint";
# Обратная зона
$REVERSE = "10.168.192.in-addr.arpa";
# Где в LDAP хранятся зоны прямого и обратного преобразования
$FORWARD_BASE = "zoneName=artpaint,ou=dns,dc=artpaint,dc=spb,dc=ru ";
$REVERSE_BASE = "zoneName=10.168.192.in-addr.arpa,ou=dns,dc=artpaint,dc=spb,dc=ru";
# Пользователь для подключения к LDAP-серверу
$USER = 'cn=ldapmanager,dc=ganzalis,dc=ru';
# Пароль пользователя
$PASSWORD = "pass";
# Хост, на котором работает LDAP-сервер
$LDAP_HOST = 'localhost'
# Время проверки файла в секундах
$UPDATE_TIME = 30;
# Автопроверка
$AUTO_VERIFY = 0;
Код: Выделить всё
$result = $ldap->delete("relativeDomainName=$fourth.$third," . $REVERSE_BASE);
$result->code && warn "failed to remove entry: ", $result->error ;
$result = $ldap->add( "relativeDomainName=$fourth.$third," . $REVERSE_BASE,
attr => [
'relativeDomainName'=> "$fourth.$third",
Код: Выделить всё
$result = $ldap->delete("relativeDomainName=$fourth," . $REVERSE_BASE);
$result->code && warn "failed to remove entry: ", $result->error ;
$result = $ldap->add( "relativeDomainName=$fourth," . $REVERSE_BASE,
attr => [
'relativeDomainName'=> "$fourth",
Создадим скрипт /usr/local/etc/rc.d/ dhcp2ldap.sh запуска dhcp2ldap.pl:
#!/bin/sh
case "$1" in
start)
if [ -f /var/run/dhcpd2ldap.pid ]
then
echo "DNCPD2LDAP Already launched! His pid:"`cat /var/run/dhcpd2ldap.pid`
else
echo "Starting DHCPD2LDAP"
daemon -f -p /var/run/dhcpd2ldap.pid /usr/local/sbin/dhcpd2ldap
fi
;;
stop)
if [ -f /var/run/dhcpd2ldap.pid ]
then
echo "Stoping DHCPD2LDAP"
kill -TERM `cat /var/run/dhcpd2ldap.pid`
rm -f /var/run/dhcpd2ldap.pid
else
echo "DHCPD2LDAP Not launched!"
fi
;;
*)
echo "Use start script for: {start | stop}" >&2
exit 64
;;
Esac
[root@gaster /usr/local/etc/rc.d]# dhcp2ldap.sh start
Проверим работу DHCP-сервера, запустим компьютер клиента настроенный на по-лучение автоматически сетевого адреса а также проверке DNS
Стою в очереди За... булкой и кефиром
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
блин, абсолютно тоже самое добавил инфу из файлы dhcp.ldif, и все равно не стартует dchpd.. =(
ps. что это за параметры:
ps. что это за параметры:
Код: Выделить всё
dhcpOption: ip-forwarding off
dhcpOption: option-150 code 150 = ip-address
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
попрравил dhcpd.conf до такого вида:
вроде стартануло.
вроде окейно, тока не понял что значит строчка при запуске:
Код: Выделить всё
ldap-server "127.0.0.1";
ldap-port 389;
ldap-username "cn=root,dc=artpaint,dc=spb,dc=ru";
ldap-password "pass";
ldap-base-dn "ou=dhcp,dc=artpaint,dc=spb,dc=ru";
ldap-method dynamic;
вроде стартануло.
вроде окейно, тока не понял что значит строчка при запуске:
Код: Выделить всё
Wrote 0 leases to leases file
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
Код: Выделить всё
[f0s@mail] /root/dhcp/> ./dhcpd2ldap.pl
Can't locate Net/LDAP.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.8/BSDPAN /usr/local/lib/perl5/site_perl/5.8.8/mach /usr/local/lib/perl5/site_perl/5.8.8 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.8.8/mach /usr/local/lib/perl5/5.8.8 .) at ./dhcpd2ldap.pl line 39.
BEGIN failed--compilation aborted at ./dhcpd2ldap.pl line 39.
на 39-ой строке в этом фале написано:
Код: Выделить всё
use Net::LDAP;
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- Za...
- мл. сержант
- Сообщения: 105
- Зарегистрирован: 2006-08-18 14:18:15
- Откуда: Север России
- Контактная информация:
Я конечно все понимаю, но когда так ругается перл, значит он говорит об отсутствие каково то модуля, а конкретно Net::LDAP, есть два пути это
или порты
Код: Выделить всё
cpan install Net::LDAP
Код: Выделить всё
/usr/ports/net/p5-perl-ldap
Пока все пустоКод: Выделить всё
Wrote 0 leases to leases file
Стою в очереди За... булкой и кефиром
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
а как правильно перенсти опции, которые быил в виндовом dhcp? я так понмиаю нуджно создать парметры dhcpOрtion через ldapadmin.. а вот какие именно?
Код: Выделить всё
003 Router 192.168.10.100
004 Time Server 192.168.10.252
005 Name Servers 192.168.10.252
006 DNS Servers 192.168.10.252
066 Boot Server Host Name 192.168.10.8
067 Bootfile Name pxelinux.0
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- Za...
- мл. сержант
- Сообщения: 105
- Зарегистрирован: 2006-08-18 14:18:15
- Откуда: Север России
- Контактная информация:
Гугл как говорится рулитf0s писал(а):а как правильно перенсти опции, которые быил в виндовом dhcp? я так понмиаю нуджно создать парметры dhcpOрtion через ldapadmin.. а вот какие именно?
Код: Выделить всё
003 Router 192.168.10.100 004 Time Server 192.168.10.252 005 Name Servers 192.168.10.252 006 DNS Servers 192.168.10.252 066 Boot Server Host Name 192.168.10.8 067 Bootfile Name pxelinux.0
http://ru.opensuse.org/SuSE_install_with_PXE_boot
А так там опции такиеже как и в текстовом варианте конфига DHCP
Я уже поднимал вопрос о том как перенести виндовый dhcp на фрю, но фашисты M$ прочно все запрятали.
dhcpOption: domain-name "artpaint"
dhcpOption: routers 192.168.10.100
dhcpOption: ntp-servers 192.168.10.252
dhcpOption: netbios-name-servers 192.168.10.252
dhcpOption: domain-name-servers 192.168.10.252
dhcpOption: server-name "192.168.10.8";
dhcpOption: next-server 192.168.10.8;
dhcpOption: filename "pxelinux.0";
Стою в очереди За... булкой и кефиром
- f0s
- ст. лейтенант
- Сообщения: 1082
- Зарегистрирован: 2007-03-13 18:43:31
- Откуда: Санкт-Петербург
- Контактная информация:
что-то у меня с этими параметрами копризничает. а у тебя стоит tftpd, кстати?
Код: Выделить всё
Starting dhcpd.
Internet Systems Consortium DHCP Server V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
LDAP line 21: unknown option dhcp.next-server
option next-server 192.
^
LDAP line 22: unknown option dhcp.filename
option filename "pxelinux.0"
^
LDAP line 23: unknown option dhcp.server-name
option server-name "192.168.10.8"
^
LDAP: cannot parse dhcpService entry 'cn=conf,ou=dhcp,dc=artpaint,dc=spb,dc=ru'
Configuration file errors encountered -- exiting
named, named, what is my TTL value?..
[FidoNet 2:550/2 && 2:5030/4441]
[FidoNet 2:550/2 && 2:5030/4441]
- Za...
- мл. сержант
- Сообщения: 105
- Зарегистрирован: 2006-08-18 14:18:15
- Откуда: Север России
- Контактная информация:
Да косяк, попробуй так
Это уберем
А сделаем так
Да и еще можно поставить вот это, это если у тебя используется WINS
Это уберем
Код: Выделить всё
dhcpOption: server-name "192.168.10.8";
dhcpOption: next-server 192.168.10.8;
dhcpOption: filename "pxelinux.0";
Код: Выделить всё
dhcpOption: tftp-server-name "192.168.10.8";
dhcpOption: bootfile-name "pxelinux.0";
Код: Выделить всё
dhcpOption: netbios-node-type "8"
Стою в очереди За... булкой и кефиром
-
- проходил мимо
Re: named + ldap
пошел немного дальше и объеденил прямую, обратную зоны dns и dhcp,
получилось следующее
За основную взята схема dnszone.schema, остальные подправил чтобы objectClass не конфликтовали.
В общем получилось здорово, просто плоский список компов вида my-domain.comp-name со всеми настройками.
Далее хотел самбу сюда крутить, но споткнулся.
При бездисковой загрузке почемуто не считываются
bootfile-name pxeboot и root-path 192.168.203.15:/export/diskless
Загрузка тормозится на экран выдает:
Однако через некоторое время может всетаки загрузится.
bootfile-name и root-path пробовал прописывать в описании dhcp subnet но не помогает
У кого какие идеи?
ps freebsd6.2, без хранения dhcp в ldap все грузится нормально
получилось следующее
Код: Выделить всё
dn: computerUin=ustu.ido.bart,ou=computers,dc=ido,dc=ustu
objectClass: top
objectClass: dhcpHost
objectClass: dhcpOptions
objectClass: dNSZone
computerUin: ustu.ido.bart
zoneName: ido.ustu
relativeDomainName: bart
zoneName: 203.168.192.in-addr.arpa
relativeDomainName: 205
dNSTTL: 3600
dNSClass: IN
ARecord: 192.168.203.205
PTRRecord: bart.ido.ustu.
dhcpHWAddress: ethernet 00:19:d1:78:40:12
dhcpStatements: fixed-address 192.168.203.205
dhcpOption: bootfile-name pxeboot
dhcpOption: tftp-server-name 192.168.203.15
dhcpOption: root-path 192.168.203.15:/export/diskless
cn: bart
За основную взята схема dnszone.schema, остальные подправил чтобы objectClass не конфликтовали.
В общем получилось здорово, просто плоский список компов вида my-domain.comp-name со всеми настройками.
Далее хотел самбу сюда крутить, но споткнулся.
При бездисковой загрузке почемуто не считываются
bootfile-name pxeboot и root-path 192.168.203.15:/export/diskless
Загрузка тормозится на экран выдает:
Код: Выделить всё
pxe_open: server addr: 0.0.0.0
pxe_open: server path: /pxeroot
pxe_open: gateway ip: 192.168.203.2
bootfile-name и root-path пробовал прописывать в описании dhcp subnet но не помогает
У кого какие идеи?
ps freebsd6.2, без хранения dhcp в ldap все грузится нормально
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2007-09-13 10:20:04
Re: named + ldap
PXE loader 1.00
Мать новая с dual core чипсет вроде 965, сейчас попробую со стандартным rtl8139
что если в slapd вставить индекс
index dhcpHWAddress eq
То перестает выдаваться адрес по MAC адресу, а выдется из динамического диапазона.
Мать новая с dual core чипсет вроде 965, сейчас попробую со стандартным rtl8139
что если в slapd вставить индекс
index dhcpHWAddress eq
То перестает выдаваться адрес по MAC адресу, а выдется из динамического диапазона.
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2007-09-13 10:20:04
Re: named + ldap
Мой косяк.
В сети 2 dhcp сервера, выключил один запахало.
Видимо когда делаешь настройки dhcp файле сервере быстродействие выше и все запросы отрабатываются одним сервером, а в случае с ldap, создается впечатление что на часть запросов отвечает другой сервер.
В сети 2 dhcp сервера, выключил один запахало.
Видимо когда делаешь настройки dhcp файле сервере быстродействие выше и все запросы отрабатываются одним сервером, а в случае с ldap, создается впечатление что на часть запросов отвечает другой сервер.
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
- Сообщения: 4
- Зарегистрирован: 2007-09-13 10:20:04
Re: named + ldap
продолжу эту ветку хотя может и не в тему.
Нужно перегнать все записи из MS DNS в ldap
Записей около 1000 поэтому в ручную не получается.
Итак:
Зоны в АД лежат здесь
CN=MicrosoftDNS,CN=System,DC=mydomain,DC=local
В зонах лежат компьютеры.
Обнаружилось что компьютеры в прямой зене и в обратной зоне на прямую не связаны,
а связаны каким то непонятным способом через атрибуты objectGUID и dnsRecord
Пример атрибута dnsRecord для записи типа A record
04 00 01 00 05 F0 00 00 42 96 00 00 00 00 04 B0 00 00 00 00 CB 5A 36 00 C0 A8 CB 0F
В принципе ясно что последние 4 байта обозначают ip адрес,
а как расшифровать остальное?
например тип записи А или CNAME?
Потому что в случае CNAME последние 4 байта вовсе не ip адрес.
Moжет у кого дока есть по атрибутам MS DNS?
Нужно перегнать все записи из MS DNS в ldap
Записей около 1000 поэтому в ручную не получается.
Итак:
Зоны в АД лежат здесь
CN=MicrosoftDNS,CN=System,DC=mydomain,DC=local
В зонах лежат компьютеры.
Обнаружилось что компьютеры в прямой зене и в обратной зоне на прямую не связаны,
а связаны каким то непонятным способом через атрибуты objectGUID и dnsRecord
Пример атрибута dnsRecord для записи типа A record
04 00 01 00 05 F0 00 00 42 96 00 00 00 00 04 B0 00 00 00 00 CB 5A 36 00 C0 A8 CB 0F
В принципе ясно что последние 4 байта обозначают ip адрес,
а как расшифровать остальное?
например тип записи А или CNAME?
Потому что в случае CNAME последние 4 байта вовсе не ip адрес.
Moжет у кого дока есть по атрибутам MS DNS?