FreeIPA
Содержание
Введение и терминология
В этой статье описано создание домена — централизированного хранилища пользователей и их аттрибутов.
Контроллер домена — программное оебспечение, обеспечивающее создание и функционирование сервера домена. В данном случае в качестве контроллера домена используется samba.
AD — Active Directory — домен разработки Microsoft. Samba реализует Samba AD — совместимый с Microsoft Active Directory домен, в который можно вводить и Linux, и Windows-клиенты.
Клиент — конечный член домена или ПО, позволяющее обспечить членство в домене.
В статье описывается создание лабораторной установки, состоящей из 1 сервера и 1 клиента, находящихся в одной подсети 192.168.122.0/24.
Все приведенные конольные команды выполняютс яот кoot, если не указано иное. Вход в root-коноль выполняется командой
su -
или
sudo -i
Настройка контроллера домена
Настройка сети
Важно правильно настроить сеть на клиенте и сервере. Рассмотрим настройку сети на сервере.
Установите полноквалифицированное (FQDN) доменное имя, состоящее из: имя_хоста.домен.зона, например:
server1.samba.loc
Тогда именем хостам будет server1, доменом — samba, доменной зоной — loc, realm — samba.loc.
Избегайте использования зоны .local или выключите или перенастройте Avahi, чтобы использовать ее.
Установим имя хоста на контроллере домена:
hostnamectl set-hostname server1.samba.loc
Посмотрите IP-адрес командой
/sbin/ip a
Пример вывода:
[root@server1 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: host0@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 32:e2:0b:ba:17:c5 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 169.254.212.10/16 brd 169.254.255.255 scope link host0 valid_lft forever preferred_lft forever inet 192.168.122.12/24 brd 192.168.122.255 scope global dynamic host0 valid_lft 2577sec preferred_lft 2577sec inet6 fe80::30e2:bff:feba:17c5/64 scope link valid_lft forever preferred_lft forever
В данном примере IPv4-адрес — 192.168.122.12.
В файл /etc/hosts необходимо добавить строку вида:
192.168.122.12 server1.samba.loc server1
Как видите, необходимо, чтобы и FQDN, и краткое имя резолвились в IP-адрес контроллера домена. Для этого откройте файл к консольном редакторе:
nano /etc/hosts
добавьте указанную строку, сохраните сочетанием клавиш Ctrl+O, Enter, затем закройте консольный редактор сочетанием клавиш Ctrl+X.
Командами
ping -c3 server1.samba.loc ping -c3 server1
проверьте корректность записей в /etc/hosts.
Запуск контроллера домена
Установите необходимые для рабоыт пакеты. На ROSA 2019.1 (>= R12) и rosa2019.05:
dnf install samba-server /bin/ps /usr/bin/xargs
На ROSA 2016.1 (R11):
urpmi samba-server procps-ng findutils
Отключите лишние службы из состава набора програм samba:
systemctl disable --now smb nmb winbind
Их обособленная работа не требуется и будет мешать контроллеру домена.
Убедитесь, что они действительно выключены, команда
ps ax | grep -E "samba|smbd|nmbd|winbindd" | grep -v grep
должна ничего не выдать.
Сотрите старые файлы настроек, оставив их резервные копии:
mv -v /etc/samba/smb.conf /etc/samba/smb.conf.old mv -v /etc/krb5.conf /etc/krb5.conf.old
Очистите старые базы данных, путь к которым можно узнать командой
smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR"
Команда для очистки:
smbd -b | grep -E "LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR" | awk '{print $NF}' | xargs -I'{}' rm -fv '{}'/*.{tdb,ldb}
Если эта команда ничего не выдала, то это нормально: у вас не было баз данных от прошлых запусков контроллера домена.
Запустите интерактивную настройку домена:
samba-tool domain provision --use-rfc2307 --interactive
Ниже приведем ее типовой вывод. В квадратных вкобках ([]) указывается значение по умолчанию, нажимайте Enter, чтобы с ним согласиться, или введите иное значение. Если сеть и имя хоста были настроены верны, то значения по умолчанию не должно потребоваться изменить.
[root@server1 ~]# samba-tool domain provision --use-rfc2307 --interactive Realm [SAMBA.LOC]: Domain [SAMBA]: 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.122.1]: Administrator password: Retype password:
На последнем шаге вводится пароль доменного пользователя Administrator, при вводе пароль не отображается, пароль должен быть сложным.
Сделайте
mv -v /var/lib/samba/private/krb5.conf /etc/krb5.conf
Теперь добавьте службу контроллера домена в автозапуск:
systemctl enable samba
Запустите контроллер домена:
systemctl restart samba
И посмотрите его лог, убедитесь, что он запустился без ошибок:
systemctl status samba
Для настройки клиентов будет полезно знать рабочую группу NT, ее можно узнать так:
[root@server1 ~]# cat /etc/samba/smb.conf | grep workgroup workgroup = SAMBA