Домашний Роутер-NAS-DC на базе Orange Pi Plus. Часть 3. Samba 4 AD DC. DNS.


Часть 1. Введение.
Часть 2. Подготовка.
Часть 3. Samba 4 AD DC.
Часть 4. FreeRadius. NTLM-авторизация.
Часть 5. Точка доступа Wi-Fi при помощи HOSTAPD.
Часть 6. Доступ в интернет при помощи PPPoE. Фаервол IPTables.
Часть 7. Подключение уже созданного RAID-массива. NFS server.
Часть 8. Баг при подключении к Wi-Fi внутри домена. FreeRadius.

В этой части я покажу как установить и протестировать Samba 4 в режиме AD DC, что позволит держать парк домашних виндовых машин в одном домене, обращаться к шаре, созданной на Orange PI и многое другое.

Настройка

Установка samba:

apt-get install samba

По умолчанию, samba предоставляет config-файл, который описывает все возможные опции конфигурации. Он полезен, но помешает нам при генерации собственного файла. Перенесем его:

mv /etc/samba/smb.conf /etc/samba/smb.conf.bk

Сконфигурируем samba при помощи утилиты samba-tool:

samba-tool domain provision --use-rfc2307 --use-xattrs=yes --interactive

Во время установки, утилита попросит выполнить ряд действий:
1) Необходимо будет придумать название домена
2) Оставить Server Role по умолчанию(dc)
3) Оставить DNS backend по умолчанию(SAMBA_INTERNAL)
4) Указать адрес сервера, на который будут перенаправляться запросы, для которых DNS самбы не нашел адреса. Это может быть один или несколько DNS вашего провайдера, или же бесплатные DNS, например гугла, как в моём случае.
5) Придумать пароль пользователя Administrator

Выглядеть это будет примерно так:

Realm: myhome.loc
 Domain [myhome]:
 Server Role (dc, member, standalone) [dc]:
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.100.1]: 8.8.8.8
Administrator password:

Если вы планируете использовать внутридоменную шару необходимо создать её в любом удобном месте(только не в директории /root — есть проблемы):

mkdir /home/root

И добавить её в файл /etc/samba/smb.conf

[raid]
        path = /home/root
        read only = no

Также необходимо сделать самбу WINS-сервером:

wins support = yes 

Итоговый smb.conf

[global]
workgroup = MYHOME
realm = MYHOME.LOC
netbios name = NEWHOSTNAME
server role = active directory domain controller
dns forwarder = 8.8.8.8
idmap_ldb:use rfc2307 = yes
wins support = yes

[netlogon]
path = /var/lib/samba/sysvol/myhome.loc/scripts
read only = No

[sysvol]
path = /var/lib/samba/sysvol
read only = No

[raid]
path = /home/root
read only = no

Я назвал шару raid, т.к. в следующей главе я подключу вместо неё raid-массив.

Обязательно монтируйте диск с шарой с опцией ACL, как это сделано в части 7. В противном случае, нужно запускать samba-tool domain provision с кдополнительным ключем —use-ntvfs

Далее нужно скопировать файл конфигурации kerberos, который samba нам любезно подготовила:

cp /var/lib/samba/private/krb5.conf /etc

Готово. Samba настроена, перезапустим её:

/etc/init.d/samba restart

Для того, чтобы DNS самбы правильно резолвил адреса необходимо отредактировать файл /etc/resolv.conf и привести его к следующему виду:

nameserver 127.0.0.1
domain myhome.loc

Но помимо нас в файл resolv.conf могут вносить изменения разные процессы, из-за чего DNS самбы будет сбоить. Существует множество способов как зафиксировать его содержимое, но я пользуюсь этим:

chattr +i /etc/resolv.conf

Для тестирования самбы добавим нового пользователя:

samba-tool user add innerlife

Тестирование

Тестировать будем с двух сторон.
Во-первых, проверим что шара raid доступна. Для этого установим smbclient.

apt-get install smbclient

И запустим его командой:

smbclient -L //127.0.0.1/raid -U innerlife
Domain=[MYHOME] OS=[Unix] Server=[Samba 4.1.17-Debian]

Sharename       Type      Comment
---------       ----      -------
netlogon        Disk
sysvol          Disk
raid            Disk
IPC$            IPC       IPC Service (Samba 4.1.17-Debian)
Domain=[MYHOME] OS=[Unix] Server=[Samba 4.1.17-Debian]

Server               Comment
---------            -------

Workgroup            Master
---------            -------
WORKGROUP            DEBIAN

Во-вторых, проверим что LDAP самбы доступен и локальные адреса резолвятся DNS. Установим dnsutils.

apt-get install dnsutils

И запустим ряд команд:

host -t SRV _ldap._tcp.myhome.loc

Вывод

_ldap._tcp.myhome.loc has SRV record 0 100 389 newhostname.myhome.loc.
dig myhome.loc

Вывод

;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58952
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;myhome.loc.                  IN      A

;; ANSWER SECTION:
myhome.loc.           900     IN      A       192.168.100.138

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jun 15 15:34:28 YEKT 2016
;; MSG SIZE  rcvd: 46

После настройки Samba можно приступать к настройке FreeRadius.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *