|
| Этот документ - попытка описать как под Linux можно упростить администрирование системы используя дирректории openLDAP. Если у вас клиенты Windows пользуются почтой, и вы хотите чтобы пользователи сами меняли свои пароли, то установите сервер LDAP, включите поддержку LDAP на сервере SAMBA и авторизируйте mail сервер через LDAP сервер. И тогда пользователи стандартными средствами (панель управления/пароли) сами смогут менять свои пароли.
Содержание.
1. bind
2. sendmail
3. samba
4. адресная книга
5. dhcp
|
Часть 1. dns зоны в дирректориях openLDAP.
Первое что необходимо - это переделать Bind чтобы он понимал LDAP дирректории, для этого необходимо скачать архив bind-sdb-ldap. К моменту написания документа последние версии программ которые я использовал это bind-9.2.1 и bind-sdb-ldap-0.9.
Если у вас bind-9.2.2 и выше, то обратите внимание на папку contrib/sdb/ldap.
Распаковываем архивы.
Все ниже приведенные действия описаны в файле bin-sdb-ldap/INSTALL.
Копируем файлы ldapdb.c в дирректории bin/named и ldapdb.h в bin/named/include исходников BIND.
Редактируем файл bin/named/Makefile.in добавляем строки:
DBDRIVER_OBJS = ldapdb.@O@
DBDRIVER_SRCS = ldapdb.c
DBDRIVER_INCLUDES = -I/usr/local/include
DBDRIVER_LIBS = -L/usr/local/lib -lldap -llber -lresolv
Редактируем файл bin/named/main.c:
- находим строку #include "xxdb.h" добавляем #include<ldapdb.h>
- находим строку xxdb_init() добавляем ldapdb_init();
- находим строку xxdb_clear() добавляем ldapdb_clear();
Все. Дальше конфигурируем и компилируем BIND так как нам это надо. Так же если выше приведенные действия Вам кажутся сложными, то уже готовый патч для версии BIND-9.2.1 лежит здесь.
Следующий этап - настройка файла named.conf и заполнение дирректорий LDAP.
Для понимания LDAP сервером необходимых значений dns зон - копируем схему dnszone.schema в дирректорию схем LDAP сервера.
Также следует включить схему cosine.sсhema в файл комфигурации slapd.conf.
Разберем на примере небольшую зону (sgb мой внутренний домен):
@ IN SOA book.sgb. root.book.sgb. ( 1 8H 2H 1W 1D)
NS book.sgb.
localhost A 127.0.0.1
book A 192.168.2.1
boss A 192.168.2.11
Создаем группу DNS в дирректории LDAP (dc=sgb это root_ldap дирректория и это никак не связано с доменом sgb, просто совпадения :)
dn: ou=DNS,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: DNS
|
|
Описание самой зоны sgb:
dn: zoneName=sgb,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: sgb
relativeDomainName: sgb
|
|
dn: relativeDomainName=@,zoneName=sgb,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: sgb
relativeDomainName: @
nSRecord: book.sgb.
sOARecord: book.sgb. root.book.sgb. 1 8H 2H 1W 1D
|
|
Описание записи A для localhost:
dn: relativeDomainName=localhost,zoneName=sgb,
ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: sgb
relativeDomainName: localhost
dNSClass: IN
aRecord: 127.0.0.1
|
|
Описание записи A для book и boss аналогична:
dn: relativeDomainName=book,zoneName=sgb,
ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: sgb
relativeDomainName: book
dNSClass: IN
aRecord: 192.168.2.1
|
|
dn: relativeDomainName=boss,zoneName=sgb,
ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: sgb
relativeDomainName: boss
dNSClass: IN
aRecord: 192.168.2.11
|
|
Записываем в ldif файл и добавляем в директорию командой ldapadd. Так же для управления директориями можно установить программу с графическим интерфейсом.
Разберем обратную зону 2.168.192.in-addr.arpa:
@ IN SOA book.sgb. root.book.sgb. ( 1 8H 2H 1W 1D)
NS book.sgb.
1 PTR book.sgb.
11 PTR boss.sgb.
Описание зоны 2.168.192.in-addr.arpa:
dn: zoneName=2.168.192.in-addr.arpa,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: 2.168.192.in-addr.arpa
relativeDomainName: 2.168.192.in-addr.arpa
|
|
dn: relativeDomainName=@,zoneName=2.168.192.in-addr.
arpa,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: 2.168.192.in-addr.arpa
relativeDomainName: @
nSRecord: book.sgb.
sOARecord: book.sgb. root.book.sgb. 1 8H 2H 1W 1D
|
|
Описание записи PTR для book и boss:
dn: relativeDomainName=1,zoneName=2.168.192.in-addr.
arpa,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: 2.168.192.in-addr.arpa
relativeDomainName: 1
pTRRecord: book.sgb.
|
|
dn: relativeDomainName=11,zoneName=2.168.192.in-addr.
arpa,ou=DNS,dc=sgb
objectClass: top
objectClass: dNSZone
zoneName: 2.168.192.in-addr.arpa
relativeDomainName: 11
pTRRecord: boss.sgb.
|
|
Все просто. Полный HOWTO по заполнению dns зон в LDAP с примерами здесь.
Осталось заменить запись зон в named.conf.
Если раньше было так:
zone "sgb" in {
type master;
files "db.sgb";
};
zone "2.168.192.in-addr.arpa" in {
type master;
files "db.2.168.192";
};
Заменяем:
zone "sgb" in {
type master;
database "ldap ldap://127.0.0.1/zoneName=sgb,ou=DNS,dc=sgb 178600";
};
zone "2.168.192.in-addr.arpa" in {
type master;
database "ldap ldap://127.0.0.1/zoneName=2.168.192.in-addr.arpa,ou=DNS,dc=sgb 178600";
};
Число 178600 это TTL для всех записей где неопределен dNSTTL.
Часть 2. Настройки Sendmail в дирректориях openLDAP.
Если вы используете sendmail из дистрибутива, то скорее всего он уже скомпилирован с поддержкой LDAP, проверяем:
sendmail -d0.1 -bv root | grep LDAP
В результате должны увидеть строку содержащей слово LDAPMAP. У меня на локальной машине стоит mandrake-8.2 и sendmail уже был собран с поддержкой LDAP.
В противном случае собираем sendmail из исходников. Для этого, перед компиляцией, необходимо добавить в файл devtools/Site/site.config.m4 следующие строки:
APPENDDEF(`confMAPDEF', `-DLDAPMAP')
APPENDDEF(`confLIBS', `-lldap -llber')
APPENDDEF(`confINCDIRS', `-I/usr/local/include')
APPENDDEF(`confLIBDIRS', `-L/usr/local/lib')
Соответственно должны быть уже установлены библиотеки openLDAP, измените путь usr/local там где они у вас находится.
Настройка sendmail сводится к добавлению строк в файл конфигурации sendmail.mc, с последующим его преобразованием в cf.
-информация об сервере LDAP (ldap.sgb - сервер LDAP, dc=sgb root дирректория)
define(`confLDAP_DEFAULT_SPEC',`-h ldap.sgb -b dc=sgb')dnl
-для aliases
define(`ALIAS_FILE',`ldap:')dnl
-для access
FEATURE(`access_db',`LDAP')dnl
Если используем virtusertable, domaintable и т.д. -то для них тоже самое по аналогии с access.
Ориентируемся по таблице:
| FEATURE | | sendmailMTAMapName
|
| access_db | LDAP | access
|
| authinfo | LDAP | authinfo
|
| bitdomain | LDAP | bitdomain
|
| domaintable | LDAP | domain
|
| genericstable | LDAP | generics
|
| mailertable | LDAP | mailer
|
| uucpdomain | LDAP | uucpdomain
|
| virtusertable | LDAP | virtuser
|
Я кроме aliases и access ничего больше не использовал в связи с простотой моего локального сервера sendmail.
На стороне сервера LDAP необходимо добавить схему sendmail.schema в дирректорию схем и внести путь в конфигурационный файл slapd.conf.
Заполняем дирректории LDAP.
Создаем группу mail. В ней у нас будут находится все связанное с sendmail
dn: ou=mail,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: mail
|
|
Создаем группу aliases. В ней будут храниться записи aliases
dn: ou=aliases,ou=mail,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: aliases
|
|
Создаем группу access. В ней будут хранится записи access
dn: ou=access,ou=mail,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: access
|
|
Все эти записи, вносим в ldif файл и добавляем в каталоги LDAP комадой ldapadd, либо используем программы с графическим интерфейсом.
Aliases.
Разберем на примере файл aliases:
bin: root
daemon: root
games: root
nobody: root
system: root
manager: root
root: andrek
Описание записи bin
dn: sendmailMTAKey=bin,ou=aliases,ou=mail,dc=sgb
objectClass: top
objectClass: sendmailMTA
objectClass: sendmailMTAAlias
objectClass: sendmailMTAAliasObject
sendmailMTAHost: boss.sgb
sendmailMTAAliasGrouping: aliases
sendmailMTAKey: bin
sendmailMTAAliasValue: root
|
|
Описание записи daemon
dn: sendmailMTAKey=daemon,ou=aliases,ou=mail,
dc=sgb
objectClass: top
objectClass: sendmailMTA
objectClass: sendmailMTAAlias
objectClass: sendmailMTAAliasObject
sendmailMTAHost: boss.sgb
sendmailMTAAliasGrouping: aliases
sendmailMTAKey: daemon
sendmailMTAAliasValue: root
|
|
В поле sendmailMTAHost указываем имя sendmail сервера, для которого действует альяс.
Остальные альясы (games, nobody, manager и т.д.) вносим аналогично.
Access.
Разберем на примере файл access.
localhost.localdomain RELAY
localhost RELAY
127.0.0.1 RELAY
192.168.2 RELAY
Описание записи localhost.localdomain
dn: sendmailMTAKey=localhost.localdomain,
ou=access,ou=mail,dc=sgb
objectClass: top
objectClass: sendmailMTA
objectClass: sendmailMTAMap
objectClass: sendmailMTAMapObject
sendmailMTAMapName: access
sendmailMTAKey: localhost.localdomain
sendmailMTAMapValue: RELAY
|
|
Описание записи 192.168.2
dn: sendmailMTAKey=192.168.2,ou=access,
ou=mail,dc=sgb
objectClass: top
objectClass: sendmailMTA
objectClass: sendmailMTAMap
objectClass: sendmailMTAMapObject
sendmailMTAMapName: access
sendmailMTAKey: 192.168.2
sendmailMTAMapValue: RELAY
|
|
Остальные записи (localhost, 127.0.0.1 и т.д.) также аналогичны.
Virtusertable, mailertable, domaintable и т.д.
Заносятся по аналогии с access. С изменением поля sendmailMTAKey (см. таблицу) и необходимых значений в sendmailMTAKey и sendmailMTAValue.
Так же это все достаточно хорошо описано с примерами в документации к sendmail.
Учетные записи пользователей
На сервере sendmail достаточно включить авторизацию пользователей LDAP:
-Ставим клиента ldap, nss_ldap.
-Правим файлы ldap.conf, nssswith.conf.
После этого добавление пользователей сведется к добавлению учетных записей в каталог LDAP.
Администратору останется только прописать нужные альясы на пользователей.
Часть 3. Интеграция сервера SAMBA-2.2.X в дирректории LDAP.
1. Действия на стороне LDAP сервера.
Копируем из исходников samba схему .../examples/LDAP/samba.schema в каталог схем сервера LDAP. Также для ее правильной работы необходимы cosine.schema и inetorgperson.schema, добавляем соответствующие записи в slapd.conf.
Установите доступ на чтение полей (lmpassword, ntpassword) только администратору.
Редактируем файл slapd.conf:
access to dn=".*,dc=sgb" attr=lmPassword
by dn="cn=admin,dc=sgb" write
by self write
by * auth
access to dn=".*,dc=sgb" attr=ntPassword
by dn="cn=admin,dc=sgb" write
by self write
by * auth
Перезапускаем LDAP, для принятия изменений.
2. Действия на стороне Samba сервера.
Устанавливаем пакеты openldap, openldap-client, openldap-devel.
Перекомпилируем Самбу с опциями --with-ldapsam.
В конфигурационном файле smb.conf, определяем следующие опции:
[global]
ldap server = ldap.sgb
ldap suffix = dc=sgb
ldap admin dn = cn=admin,dc=sgb
ldap filter = (&(uid=%u)(objectclass=sambaAccount))
ldap port = 389
ldap ssl = no
Таким образом SAMBA будет взаимодействовать с сервером LDAP от имени учетной записи администратора LDAP.
Лучшим решением будет создание отдельной учетной записи (samba_admin) на сервере LDAP, которая имееет право на чтение-запись необходимых полей. Запускаем сервер samba, и сохраняем пароль администратора командой:
smbpasswd -w пароль admin
Все! Дальше работаем с ним удаленно.
3. Действия на стороне компьютера сисадмина.
Устанавливаем пакет openldap-client.
Создаем smb клиентов. Для каждого достаточно создать что нибудь похожее на это:)
dn: uid=sandy,ou=Users,dc=sgb
objectClass: top
objectClass: posixAccount
objectClass: sambaAccount
homeDirectory: /home/sandy
uidNumber: 502
gidNumber: 502
uid: sandy
pwdLastSet: 1036581625
logonTime: 0
logoffTime: 2147483647
kickoffTime: 2147483647
pwdCanChange: 0
pwdMustChange: 2147483647
displayName: SandySandy
cn: SandySandy
rid: 2004
primaryGroupID: 2005
lmPassword: B3174F63722E157EAAD3B435B51404EE
ntPassword: 6AAB3EA1D7A717FF9A3BFC222B846A7B
acctFlags: [UX]
loginShell: /bin/false
Обратите внимание на Account Flags ( U - пользовательский аккаунт, D - учетная запись заблокирована, N - без использования пароля, W - машинная учетная запись).
Записать в ldif файл, и добавить информацию в дирректорию LDAP. По теории проверенной практикой пользователь sandy уже может подключиться к sambe.
Этот трудоемкий путь нам не подойдет, скачиваем пакет скриптов smbldap-tools, либо если у вас samba одна из последних версий смотрим в examples/LDAP/smbldap-tools.
В нем уже есть набор необходимых утилит:
- smbldap-groupadd.pl
- smbldap-groupdel.pl
- smbldap-groupmod.pl
- smbldap-groupshow.pl
- smbldap-useradd.pl
- smbldap-userdel.pl
- smbldap-usermod.pl
- smbldap-usershow.pl
Названия говорят сами за себя.
Для того чтобы ими воспользоваться необходимо отредактировать значения в smbldap_conf.pm:
#
# UID and GID starting at...
#
$UID_START = 2000;
$GID_START = 2000;
#
# Slave LDAP : needed for read operations
#
$slaveLDAP = "ldap.sgb";
#
# Master LDAP : needed for write operations
#
$masterLDAP = "ldap.sgb";
#
# LDAP Suffix
#
$suffix = "dc=sgb";
#
# Where are stored Users
#
$usersou = q(Users);
$usersdn = "ou=$usersou,$suffix";
#
# Where are stored Computers
#
$computersou = q(Computers);
$computersdn = "ou=$computersou,$suffix";
#
# Where are stored Groups
#
$groupsou = q(Group);
$groupsdn = "ou=$groupsou,$suffix";
#
# Credential Configuration
#
# Bind DN used
$binddn = "admin";
#
# Bind DN passwd used
$bindpasswd = "secret";
# Login defs
#
# Default Login Shell
#
$_userLoginShell = q(/bin/bash);
#
# Home directory prefix (without username)
#
$_userHomePrefix = q(/home/);
#
# Default User (POSIX and Samba) GID
#
$_defaultUserGid = 2000;
#
# Default Computer (Samba) GID
#
$_defaultComputerGid = 553;
#
# The UNC path to home drives location without the username last extension
# (will be dynamically prepended)
$_userSmbHome = q(\\\\a\\homes);
#
# The UNC path to profiles locations without the username last extension
# (will be dynamically prepended)
$_userProfile = q(\\\\a_\\profiles\\);
#
# The default Home Drive Letter mapping
# (will be automatically mapped at logon time if home directory exist)
$_userHomeDrive = q(H:);
#
# Allows not to use smbpasswd (if $with_smbpasswd == 0 in smbldap_conf.pm) but
# prefer mkntpwd... most of the time, it's a wise choice :-)
$with_smbpasswd = 0;
$smbpasswd = "/usr/bin/smbpasswd";
$mk_ntpasswd = "/usr/local/sbin/mkntpwd";
и т.д.
Обратите внимание на последний параграф - используется утилита mkntpwd. Ее исходники есть в smbldap-tools.
Так же группы Users, Group, Computers должны быть уже созданы:
dn: ou=Users,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: Users
dn: ou=Group,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: Group
dn: ou=Computers,dc=sgb
objectClass: top
objectClass: organizationalUnit
ou: Computers
4. Пользователи меняют сами свои пароли.
Устанавливаем и настраиваем пакет скриптов smbldap-tools, на севере SAMBA.
В конфигурационный файл smb.conf добавляем строки:
passwd program = /usr/local/bin/smbldap-passwd.pl %u
unix password sync = yes
passwd chat = *new*password* %n\n *new*password* %n\n *updated*successfully*
Обратите внимание на passwd chat, эти значения нам возвращает smbldap-passwd.pl при смене пароля.
После этого, перегружаем сервис для принятия изменений.
Теперь пользователи могут сами поменять свои пароли через сервис панель управления-пароли.
5. Мусорная корзина
С самого начала создания файлового сервера, моим пользователям, "любители хранить самое ценное в мегабайтных корзинах", нехватало именно этого - мусорной сетевой корзины. Сначало я не задавался этим вопросом: в виндовсе нет, значит и в самбе тоже нет и написал скрипт для архивации /home. Но каково было мое удивление когда изучая материалы по examples/LDAP и мимолетом осматривая остальные каталоги - увидел знакомое слово recycle.
Вся ниже следующая информация взята из examples/VFS/recycle/README
- конфигурируем самбу source/configure
- конфигурируем VFS examples/VFS/configure
- компилируем cd examples/VFS; make
Необходимый нам модуль recycle.so собран в каталоге recycle.
Настройка сводится к добавлению ресурсу следующих строк:
vfs object = /usr/share/samba-2.2.6/recycle.so
vfs options = /etc/samba/recycle.conf
Пример recycle.conf:
# Название recycle bin относительно ресурса
name = .recycle/%U
# максимальный размер файла (0 без проверки)
maxsize = 0
# KEEP_DIRECTORIES = сохранить иерархию директорий
# VERSIONS = создавать копии идентичных файлов
# TOUCH = touch access date of files moved into the recycle bin
mode = KEEP_DIRECTORIES|VERSIONS|TOUCH
# пропускать файлы:
exclude = *.tmp|*.temp|*.o|*.obj|~$*
# пропускать папки:
excludedir = /tmp|/temp|/cache
# Add file extensions of files where no versioning is wanted (i.e. copy # 1...)
# only valid when mode=VERSIONS is set
noversions = *.doc|*.xls|*.ppt
Запускаем самбу, и наслаждаемся.
Так же могут быть интересны модули audit.so block.so.
audit.so - модуль ведения логов на следующие операции:
- share connect/disconnect
- directory opens/create/remove
- file open/close/rename/unlink/chmod.
block.so - модуль блокировки символических ссылок.
Часть 4. Адресная книга.
После того как будет заведена база пользователей, можно воспользоваться услугами адресной книги.
Я воспользовался клиентом KMail для проверки, после непродолжительного поиска в список попали все пользователи включая и samba пользователей. Но с незаполнеными полями mail, address и т.д.
Что не трудно исправить, добавив схему inetorgperson.schema и заполнив соостветствующие поля.
Часть 5. DHCP.
Скачиваем последнюю версию пакета dhcp.
Скачиваем патч для dhcpd.
На момент написания документа последняя версия dhcpd-3.0.1rc11.
Если у вас более свежая версия посетите сайт разработчиков, и загрузите необходимый патч.
Перед компиляцией раскомментируем строку #define LDAP_CONFIGURATION в файле includes/site.h.
Запускаем ./configure.
Добавляем в файл linux-2.2/server/Makefile слово -lldap в LIBS= линию.
Все эти действия описаны в readme.ldap.
Далее make и make install.
Содержание нового конфигурационного файла dhcpd.conf будет таким:
ldap-server "ldap.sgb";
ldap-port 386;
ldap-username "cn=dhcp,dc=iarz";
ldap-password "blabla";
ldap-base-dn "dc=iarz";
ldap-method dynamic;
Действия на стороне ldap сервера.
Копируем файл contrib/dhcp.schema в каталог схем, и добавляем необходимые записи в slapd.conf.
Ограничим права на информацию только для администратора dhcp.
access to dn=".*,ou=dhcp,dc=iarz"
by dn="cn=dhcp,dc=iarz" write
by self write
by * auth
Создаем пользователя dhcp и группу dhcp где будет хранится нужная информация, вот примерный ldif файл:
dn: cn=dhcp,dc=iarz
objectClass: top
objectClass: person
sn: DHCP Administrator
cn: dhcp
dn: ou=dhcp,dc=iarz
objectClass: top
objectClass: organizationalUnit
ou: dhcp
Незабудьте задать пароль для пользователя dhcp.
Далее загружаем информацию зон dhcp в ldap. Рассмотрим на примере небольшой (старый) файл конфигурации dhcp.conf:
option domain-name "iarz";
option domain-name-servers ns.iarz;
ddns-update-style interim;
default-lease-time 32400;
max-lease-time 64800;
key DHCP_UPDATER {
algorithm HMAC-MD5.SIG-ALG.REG.INT;
secret SgBXABCDEFGHIJKLMNB75A==; }
zone iarz. {
primary 127.0.0.1;
key DHCP_UPDATER; }
zone 0.0.192.IN-ADDR.ARPA. {
primary 127.0.0.1;
key DHCP_UPDATER; }
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.1.60 192.168.1.90; }
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.2.60 192.168.2.90; }
Для его трансформации в ldif файл, можно воспользоваться перловым скриптом (находится тамже), но он не дает той гибкости необходимой нам.
Как делал я: смотрел в генеренный файл, писал свой и отслеживал ошибки в /var/log/message.
Ниже приведен аналогичный ldif файл для загрузки:
dn: ou=dhcp,dc=iarz
objectClass: top
objectClass: organizationalUnit
ou: dhcp
|
|
dn: cn=dhcp.iarz,ou=dhcp,dc=iarz
objectClass: top
objectClass: dhcpServer
cn: dhcp.iarz
dhcpServiceDN: cn=config, ou=dhcp, dc=iarz
|
|
dn: cn=config,ou=dhcp,dc=iarz
objectClass: top
objectClass: dhcpService
objectClass: dhcpOptions
cn: config
dhcpPrimaryDN: cn=ns.iarz, ou=dhcp, dc=iarz
dhcpOption: domain-name "iarz"
dhcpOption: domain-name-servers ns.iarz
dhcpOption: nis-domain "iarz"
dhcpStatements: ddns-update-style interim
dhcpStatements: default-lease-time 32400
dhcpStatements: max-lease-time 64800
dhcpStatements: key DHCP_UPDATER
{ algorithm HMAC-MD5.SIG-ALG.REG.INT
dhcpStatements: secret
SgBXABCDEFGHIJKLMNB75A==
dhcpStatements: } zone iarz.
{ primary 127.0.0.1; key DHCP_UPDATER
dhcpStatements: } zone 0.0.192.IN-ADDR.ARPA.
{ primary 127.0.0.1; key DHCP_UPDATER
dhcpStatements: } #
|
|
dn: cn=192.168.1.0,cn=config,ou=dhcp,dc=iarz
objectClass: top
objectClass: dhcpSubnet
objectClass: dhcpOptions
cn: 192.168.1.0
dhcpNetMask: 24
dhcpRange: dynamic-bootp 192.168.1.60 192.168.1.90
dhcpOption: routers 192.168.1.1
dhcpOption: subnet-mask 255.255.255.0
|
|
dn: cn=192.168.2.0,cn=config,ou=dhcp,dc=iarz
objectClass: top
objectClass: dhcpSubnet
objectClass: dhcpOptions
cn: 192.168.2.0
dhcpNetMask: 24
dhcpOption: routers 192.168.2.1
dhcpOption: subnet-mask 255.255.255.0
dhcpRange: dynamic-bootp 192.168.2.60 192.168.2.90
|
|
Все, можно запускать service dhcp start. Если не пошло, читаем readme.ldap и /var/log/messages при запуске сервера.
Здесь нет информации по присвоению ip-mac адресов, добавлю позже, но это не трудно поднять самим после ознакомления с документацией.
Часть 6. Proxy SQUID.
1. Авторизация используя модуль NTLM через Windows домен.
2. Авторизиция используя модуль LDAP.
...
Почти готово
Тестируем :)
Часть 7. Поднимаем SSL.
...
Ссылки на использованную документацию и программы.