AD на samba + bind9
Установка Samba4 в качестве контроллера домена на Ubuntu Server 14.04
Данное руководство является скорее вольным переводом оригинальной статьи Samba_AD_DC_HOWTO с правками для Ubuntu 14.04 .
Установка всех пакетов будет проводиться из родных репозиториев ubuntu trusty. В качестве днс-сервера будет выступать bind9.
В качестве типовой конфигурации будем применять:
Название домена (realm) ADSAMBA.LOC
Короткое имя (domain) ADSAMBA
ip-адрес контроллера домена 192.168.1.1
имя сервера в домене ad
Установку будем проводить на системе с последними обновлениями. Хочу заметить что следует четко придерживаться последовательности вводимых команд для обеспечения успешной установки и конфигурирования. Кроме того очень рекомендуется перед установкой провести обновление системы:
sudo apt-get update && sudo apt-get upgrade
Далее, начнем установку необходимых пакетов:
apt-get install samba acl krb5-user ntp cups bind9 smbclient
Установим winbind
apt install winbind
====== Конфигурирование samba4 ======
В состав samba4 входит утилита samba-tool для администрирования домена. Более подробно о возможностях этой утилиты вы можете почитать на странице http://www.samba.org/samba/docs/man/manpages/samba-tool.8.html , мы же используем ее для поднятия домена.
Внимание, в процессе надо будет ввести желаемый пароль администратора. Пароль должен быть сложным, иметь цифры и заглавные буквы!
samba-tool domain provision —use-rfc2307 —interactive
Отвечаем на вопросы, подставляя свое название домена:
Realm [ADSAMBA.LOC]: ADSAMBA.LOC ←- название домена
Domain [ADSAMBA]: ADSAMBA ←- короткое имя домена
Server Role (dc, member, standalone) [dc]: dc ←- роль сервера(в данном случаем dc — контроллер домена)
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ ←- используемый днс-сервер
Administrator password:
Retype password:
Если в процессе конфигурирования возникли ошибки связанные с названием домена или паролем администратора, для того что заново запустить конфигурирование, проделайте следующее:
sudo apt-get purge samba
sudo apt-get install samba
sudo rm /etc/samba/smb.conf
====== Настройка BIND9 ======
Настраиваем bind9:
sudo nano /etc/bind/named.conf.options
и приводим файл к следующему виду(заменяя ip-адреса на свои):
options {
directory «/var/cache/bind»;
auth-nxdomain yes;
forwarders { 192.168.1.2; };
allow-transfer { none; };
notify no;
empty-zones-enable no;
allow-query {
192.168.1.0/24;
127.0.0.0/8;
};
allow-recursion {
192.168.1.0/24;
127.0.0.0/8;
};
allow-update {
192.168.1.0/24;
127.0.0.0/8;
};
};
Включаем в конфиг bind9 конфиг samba4
sudo nano /etc/bind/named.conf
и дописываем в конец файла:
include «/var/lib/samba/private/named.conf»;
Меняем конфиг для использования bind 9.9
sudo nano /var/lib/samba/private/named.conf
приводим к виду:
для 32-х битной системы
dlz «AD DNS Zone» {
# For BIND 9.8.0
# database «dlopen /usr/lib/i386-linux-gnu/samba/bind9/dlz_bind9.so»;
# For BIND 9.9.0
database «dlopen /usr/lib/i386-linux-gnu/samba/bind9/dlz_bind9_9.so»;
};
для 64-х битной системы
dlz «AD DNS Zone» {
# For BIND 9.8.0
# database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so»;
# For BIND 9.9.0
database «dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so»;
};
Далее, подправим конфиг apparmor разрешая bind9 использовать необходимые файлы:
sudo nano /etc/apparmor.d/usr.sbin.named
в конец файла, до »}» вставляем:
для 32-х битной системы:
# for samba4
#/var/lib/samba/private/** r,
/usr/lib/i386-linux-gnu/samba/bind9/** m,
/usr/lib/i386-linux-gnu/samba/ldb/** m,
/usr/lib/i386-linux-gnu/ldb/modules/ldb/** m,
/usr/lib/i386-linux-gnu/samba/gensec/krb5.so m,
/var/lib/samba/private/dns.keytab rwk,
/var/lib/samba/private/named.conf r,
/var/lib/samba/private/dns/** rwk,
/var/lib/samba/private/krb5.conf r,
/var/tmp/** rwk,
/dev/urandom rwk,
для 64-х битной системы
# for samba4
#/var/lib/samba/private/** r,
/usr/lib/x86_64-linux-gnu/samba/bind9/** m,
/usr/lib/x86_64-linux-gnu/samba/ldb/** m,
/usr/lib/x86_64-linux-gnu/ldb/modules/ldb/** m,
/usr/lib/x86_64-linux-gnu/samba/gensec/krb5.so m,
/var/lib/samba/private/dns.keytab rwk,
/var/lib/samba/private/named.conf r,
/var/lib/samba/private/dns/** rwk,
/var/lib/samba/private/krb5.conf r,
/var/tmp/** rwk,
/dev/urandom rwk,
Перезапускаем службы:
sudo service apparmor restart
sudo service bind9 restart
Запускаем samba4:
service samba-ad-dc start
Настало время тестов:
Меняем nameserver в resolv.conf чтоб все обращения проходили через наш настроенный bind9
nano /etc/resolv.conf
nameserver 192.168.1.1
Проверяем
smbclient -L localhost -U%
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
Sharename Type Comment
——— —- ——-
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.6-Ubuntu)
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
Server Comment
——— ——-
Workgroup Master
——— ——-
smbclient //localhost/netlogon -UAdministrator -c ‘ls’
Enter Administrator’s password:
Domain=[ADSAMBA] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
. D 0 Tue Apr 8 11:21:49 2014
.. D 0 Tue Apr 8 11:22:03 2014
46445 blocks of size 4194304. 45581 blocks available
host -t SRV _ldap._tcp.adsamba.loc.
_ldap._tcp.adsamba.loc has SRV record 0 100 389 ad.adsamba.loc.
host -t SRV _kerberos._udp.adsamba.loc.
_kerberos._udp.adsamba.loc has SRV record 0 100 88 ad.adsamba.loc.
host -t A ad.adsamba.loc.
ad.adsamba.loc has address 192.168.1.1
Настройка KERBEROS
Делаем симлинк конфига kerberos от samba4:
sudo ln -s /var/lib/samba/private/krb5.conf /etc/
Получаем билет:
kinit administrator@ADSAMBA.LOC
При получении билета видим сообщение в котором сказано что аккаунт администратора действителен в течении 41 дня.
Warning: Your password will expire in 41 days …
Сразу изменим длительность аккаунта:
sudo samba-tool domain passwordsettings set —max-pwd-age=999
и проверяем что аккаунт будет работать еще 999 дней
sudo samba-tool domain passwordsettings show
…
Maximum password age (days): 999
Полученный билет можем посмотреть по команде:
klist
Настройка NTP
Редактируем конфиг ntp:
sudo nano /etc/ntp.conf
и в конец файла добавляем
ntpsigndsocket /var/lib/samba/ntp_signd/
restrict default mssntp
Перезапускаем сервис:
sudo service ntp restart
На этом базовая настройка samba4 в качестве контроллера домена завершена. На виндовом клиенте прописываем адрес нашего контроллера в качестве первичного DNS-сервера, пингуем PDC по имени и вводим в домен(администратор домена — administrator)
Для управления доменом воспользуемся пакетом Adminpak.msi: для Windows7, для Vista + RSAT, для Windows XP Pro + вторая часть.
Устанавливаем, в Меню выбираем пункт Выполнить, вбиваем dsa.msc, наслаждаемся 🙂