ikiyossa.ru

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, наслаждаемся 🙂

http://help.ubuntu.ru/wiki/samba4_as_dc_14.04