Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: [HOW-TO] Интегрируем службу DHCP v 3.x.x с OpenLDAP 2.4.x Ubuntu 9.10  (Прочитано 10162 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Денис А. Ксенофонтов

  • Автор темы
  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Интегрируем службу DHCP v 3.x.x  с OpenLDAP 2.4.x  Ubuntu 9.10

В предыдущей статье мы настроили OpenLDAP версии 2.4.x теперь давайте попробуем связать сервис DHCP с OpenLDAP


1.   Ставим сервис DHCP

Цитировать
apt-get -y install dhcp3-server-ldap

2.   Подготовим конфигурационный файл он нам понадобится в дальнейшем

Цитировать
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.main
cp /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.back
nano /etc/dhcp3/dhcpd.conf.main

приводим к следующему виду:

ddns-update-style none;
option domain-name "local.net";
option domain-name-servers ds.local.net;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

subnet 10.хх.хх.0 netmask 255.255.255.0 {
  range 10.хх.хх.100 10.хх.хх.200;
  option domain-name-servers ds.local.net;
  option domain-name "local.net";
  option routers 10.хх.хх.1;
  option broadcast-address 10.хх.хх.255;
}

host new-01.local.net {
  hardware ethernet 08:00:07:26:c0:a5;
  fixed-address 10.хх.хх.101;
}

Заменяем основной конфигурационный файл

Цитировать
cp dhcpd.conf.main dhcpd.conf

проверяем что dhcp сервер нормально работает:

останавливаем сервис
Цитировать
root@ds:/etc/dhcp3# /etc/init.d/dhcp3-server stop

 * Stopping DHCP server dhcpd3                               [fail]

запускаем сервис

Цитировать
root@ds:/etc/dhcp3# /etc/init.d/dhcp3-server start

 * Starting DHCP server dhcpd3                                 [OK]

3.   Подготовим схему DHCP для LDAP сервера

Перейдем в каталог с документацией и распакуем схему

Цитировать
сd /usr/share/doc/dhcp3-server-ldap
gunzip dhcp.schema.gz

Скопируем схему для DHCP

Цитировать
cp /usr/share/doc/dhcp3-server-ldap/ dhcp.schema  /etc/ldap/schema

Перейдем по следующему пути

Цитировать
cd /etc/ldap/slapd.d/cn=config/cn=schema

Посмотрим  какие схемы у нас подключены

Цитировать
ls

Получим результат следующего вида

cn={0}core.ldif  cn={1}cosine.ldif  cn={2}inetorgperson.ldif  cn={3}nis.ldif
Как видим в новом (с версии 1.4.) сервре OpenLDAP   схемы подключаются динамически в формате ldif, а не schema как в предыдущих версиях OpenLDAP.  Так как требуемая нам схема DHCP поставляется в формате schema поэтому преобразуем ее в ldif формат:

Создадим файл для преобразования

Цитировать
cd /usr/src
nano export.to.ldif

Приведем к следующему виду:

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/dhcp.schema

* Возможно подключенных схем у вас будет больше или меньше но в файле export.to.ldif они должны быть перечислены все*

Создадим каталог

Цитировать
mkdir to_ldif

запустим преобразование

Цитировать
slaptest -f /usr/src/export.to.ldif -F /usr/src/to_ldif

Если все правильно сделано увидим результат работы:

config file testing succeeded
а в каталоге to_ldif  будет создан каталог  cn=config cодержащий cn=schema c преобразованными в ldif схемами.

В моем примере  схема будет называется cn={4}dhcp.ldif почему см. export.to.ldif

4.   Подготовим cn={4}dhcp.ldif  файл для подключения  в OpenLDAP

Цитировать
cp  /usr/src/to_ldif/cn=config/cn=schema/cn={4}dhcp.ldif  /usr/src/dhcp.ldif
nano /usr/src/dhcp.ldif

заменим

dn: cn={4}dhcp
objectClass: olcSchemaConfig
cn: {4}dhcp
на
dn: cn=dhcp,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: dhcp

и удалим в конце файла все записи начиная с

structuralObjectClass: olcSchemaConfig
entryUUID:

скопируем полученный файл в каталог схем

Цитировать
cp /usr/src/dhcp.ldif /etc/ldap/schema/

5.   Подключим схему в OpenLDAP

Цитировать
ldapadd -x -W -D cn=admin,cn=config -f /etc/ldap/schema/dhcp.ldif

вводим пароль и если все в норме получаем

Enter LDAP Password:
adding new entry "cn=dhcp,cn=schema,cn=config"

6.   Проверяем:
Я использую  phpldapadmin.  В разделе схема (Schema) должны появится схемы DHCP,
а в  каталоге /etc/ldap/slapd.d/cn=config/cn=schema появится файл контейнера cn={4}dhcp.ldif  

Все, схема подключена, теперь перенесем настройки сервера DHCP в OpenLDAP

7.   Воспользуемся  скриптом входящим в поставку DHCP сервера /usr/share/doc/dhcp3-server-ldap

Цитировать
cd /usr/share/doc/dhcp3-server-ldap
gunzip gunzip dhcpd-conf-to-ldap.pl.gz
chmod 0755 dhcpd-conf-to-ldap.pl
./dhcpd-conf-to-ldap.pl --conf /etc/dhcp3/dhcpd.conf --ldif /usr/src/zone.ldif

Если все выполнено правильно увидим такой вывод:
Creating LDAP Configuration with the following options:
        Base DN: dc=local,dc=net
        DHCP DN: cn=DHCP Config, dc=local,dc=net
        Server DN: cn=ds, dc=local,dc=net
Done.
8.   Импортируем настройки сервера DHCP в OpenLDAP

Цитировать
ldapadd -x -W -D "cn=admin,dc=local,dc=net" -f /usr/src/zone.ldif

вводим пароль:

Enter LDAP Password:
adding new entry "cn=ds, dc=local,dc=net"
adding new entry "cn=DHCP Config, dc=local,dc=net"
adding new entry "cn=10.30.96.0, cn=DHCP Config, dc=local,dc=net"
adding new entry "cn=new-01.local.net, cn=DHCP Config, dc=local,dc=net"

Все настройки для DHCP созданы.
 
9.   Проверим в phpldapadmin  должны появится два объекта

cn=DHCP Config
cn=ds

10.   Теперь укажем DHCP серверу брать настройки из OpenLdap

Для этого приведем конфигурационный файл dhcpd.conf  к следующему виду

ldap-server "localhost";
ldap-port 389;
ldap-username "cn=admin, dc=local, dc=net";
ldap-password "example";
ldap-base-dn "dc=local, dc=net";
ldap-method dynamic;

11.   Перезапускаем сервер

Цитировать
/etc/init.d/dhcp3-server restart
Если все ОК видим:

* Stopping DHCP server dhcpd3          [OK]
* Starting DHCP server dhcpd3          [OK]

12.  На сегодня работа сделана, теперь можно доставать из холодильника пиво !


С Уважением Денис А. Ксенофонтов ака PiNCeR
« Последнее редактирование: 17 Марта 2010, 09:15:24 от Денис А. Ксенофонтов »
С Уважением Денис А. Ксенофонтов ака PiNCeR

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.