Часть 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.