Идея создания контроллера домена на базе Samba, не нова. Но опять же, в предыдущих версиях Samba контроллер был неполноценный. На вендовых машинах надо было добавлять файлы в реестрах, настраивать локальные политики, и менять тип шифрования. Что же изменилось в контроллере домена на Samba 4? Все лишние телодвижения отпали сами по себе.
Для начала предположим, что у нас уже предустановлена ubuntu 14.04, и с голой сосолькой ждет, пока её потеребят. Еще надо взять на заметку, что шлюз у нас отдельно (но это несущественно). Вообще, что из себя представляет контроллер домена? Это по сути связки мощных тлуз: Kerberos+LDAP+Samba. Более детально читайте в Интернетах.
Теперь к делу.
Первоначально нужно условиться, что нам дано, и от чего отталкиваться.
Имя хоста: DC1
AD DNS Domain Name: torg.com
Kerberos Realm: torg.com
NT4 Domain Name/NetBIOS Name: torg
IP адрес: 192.168.0.20
Server Role: Domain Controller (DC)
Forwarder DNS Server: 192.168.0.1
Всегда всё лучше начинать с обновления системы
Обновляем базу данных со сведениями из репозиториев:
$ sudo apt-get update
Обновляем пакетики
$ sudo apt-get upgrade
Накатываем Kerberos
$ sudo apt-get install attr build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp
Во время установки Kerberos, запустится скрипт с просьбой ввести данные
в первом окошке вводим
TORG.COM
DC1.TORG.COM
DC1.TORG.COM
Если во время обновлении системы было обновлено ядро, то лучше ребутнуться.
После загрузки с новым ядром, необходимо откорректировать следующие параметры в /etc/network/interfaces
#
iface eth0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.20 192.168.0.1
dns-search torg.com
По сути нужно установить статику. Можно и не устанавливать, но для надежности надо.
Надо проверить hostname в файле /etc/hostname
Там должна быть единственная строчка такого содержания
dc1
Далее самое интересное, нужно монтировать файловую систему так, чтобы
## /etc/fstab
UUID=xyzxyzxy-xyzx-xyzx-xyzx-xyzxyzxyzxyzxy / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1
В общем, надо чтобы корень монтировался с параметрами
Для начала предположим, что у нас уже предустановлена ubuntu 14.04, и с голой сосолькой ждет, пока её потеребят. Еще надо взять на заметку, что шлюз у нас отдельно (но это несущественно). Вообще, что из себя представляет контроллер домена? Это по сути связки мощных тлуз: Kerberos+LDAP+Samba. Более детально читайте в Интернетах.
Теперь к делу.
Первоначально нужно условиться, что нам дано, и от чего отталкиваться.
Имя хоста: DC1
AD DNS Domain Name: torg.com
Kerberos Realm: torg.com
NT4 Domain Name/NetBIOS Name: torg
IP адрес: 192.168.0.20
Server Role: Domain Controller (DC)
Forwarder DNS Server: 192.168.0.1
Всегда всё лучше начинать с обновления системы
Обновляем базу данных со сведениями из репозиториев:
$ sudo apt-get update
Обновляем пакетики
$ sudo apt-get upgrade
Накатываем Kerberos
$ sudo apt-get install attr build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp
Во время установки Kerberos, запустится скрипт с просьбой ввести данные
в первом окошке вводим
TORG.COM
DC1.TORG.COM
DC1.TORG.COM
Если во время обновлении системы было обновлено ядро, то лучше ребутнуться.
После загрузки с новым ядром, необходимо откорректировать следующие параметры в /etc/network/interfaces
#
iface eth0 inet static
address 192.168.0.20
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.20 192.168.0.1
dns-search torg.com
По сути нужно установить статику. Можно и не устанавливать, но для надежности надо.
Надо проверить hostname в файле /etc/hostname
Там должна быть единственная строчка такого содержания
dc1
Далее самое интересное, нужно монтировать файловую систему так, чтобы
## /etc/fstab
UUID=xyzxyzxy-xyzx-xyzx-xyzx-xyzxyzxyzxyzxy / ext4 user_xattr,acl,barrier=1,errors=remount-ro 0 1
В общем, надо чтобы корень монтировался с параметрами
user_xattr,acl,barrier=1,errors=remount-ro эта очень важный момент.
Теперь нужно отредактировать файл /etc/hosts
127.0.1.1 dc1.torg.com dc1
В общем, там вот такая строчка должна быть. Это необходимо, чтобы по адресу 127.0.1.1 мы сразу могли без DNS обратиться по имени к dc1.torg.com
Одним из самых важных моментов в работе подобных сетевых ресурсов - это точная временная синхронизация.
#
#stop the ntp service
$ sudo service ntp stop
#sync ntp
$ sudo ntpdate -B 0.ubuntu.pool.ntp.org
#start the ntp service
$ sudo service ntp start
Теперь надо еще раз перезагрузиться, чтобы применить изменения, и все работало как надо.
$sudo shutdown
После перезагрузки можно сразу устанавливать Samba
$ sudo apt-get install samba smbclient
нужный софт установлен, условия для работы есть. Теперь необходимо создать контроллер домена. Для начала сохраним оригинальный конфиг, а потом запустим скрипт создания контроллера домена
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
#Собственно создание контроллера домена
$ sudo samba-tool domain provision --use-rfc2307 --interactive
#Появятся строчки, и в квадратных скобках предлагается вариант по умолчанию. В общем, можно нажимать Enter до самого ввода пароля
Realm [TORG.COM]:
Domain [TORG]:
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.0.1]:
Administrator password:
Retype password:
После ввода скрипт начнет создание контроллера домена.
Самое интересное то, что в Samba 4 теперь свой DNS, который довольно-таки неплохо работает. Можно сделать форвардинг на DNS который имеется в системе, а можно указать DNS-сервер провайдера.
Ранее было указано два DNS в файле /etc/network/interfaces, а теперь можно использовать локальные. В общем, надо удалить строчку 192.168.0.1 и привести к такому виду
dns-nameservers 192.168.0.20 192.168.0.1
Опять священный ребут
$ sudo shutdown -r 0
Теперь можно протестировать работу DNS
#Тест DNS записи для ldap по протоколу TCP
$ host -t SRV _ldap._tcp.torg.com
_ldap._tcp.torg.com has SRV record 0 100 389 dc1.torg.com.
#Тест DNS-записи для kerberos по протоколу UDP
$ host -t SRV _kerberos._udp.torg.com
_kerberos._udp.torg.com has SRV record 0 100 88 dc1.torg.com
#test name resolution of our host
$ host -t A dc1.torg.com
dc1.torg.com has address 192.168.0.20
Собственно вот если все проходит в таком порядке, то DNS от Samba работает как надо. Теперь можно попробовать залогиниться.
$ kinit administrator@TORG.COM
если все ок, покажет, что пассворд действителен месяц.
Теперь нужно отредактировать файл /etc/hosts
127.0.1.1 dc1.torg.com dc1
В общем, там вот такая строчка должна быть. Это необходимо, чтобы по адресу 127.0.1.1 мы сразу могли без DNS обратиться по имени к dc1.torg.com
Одним из самых важных моментов в работе подобных сетевых ресурсов - это точная временная синхронизация.
#
#stop the ntp service
$ sudo service ntp stop
#sync ntp
$ sudo ntpdate -B 0.ubuntu.pool.ntp.org
#start the ntp service
$ sudo service ntp start
Теперь надо еще раз перезагрузиться, чтобы применить изменения, и все работало как надо.
$sudo shutdown
После перезагрузки можно сразу устанавливать Samba
$ sudo apt-get install samba smbclient
нужный софт установлен, условия для работы есть. Теперь необходимо создать контроллер домена. Для начала сохраним оригинальный конфиг, а потом запустим скрипт создания контроллера домена
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig
#Собственно создание контроллера домена
$ sudo samba-tool domain provision --use-rfc2307 --interactive
#Появятся строчки, и в квадратных скобках предлагается вариант по умолчанию. В общем, можно нажимать Enter до самого ввода пароля
Realm [TORG.COM]:
Domain [TORG]:
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.0.1]:
Administrator password:
Retype password:
После ввода скрипт начнет создание контроллера домена.
Самое интересное то, что в Samba 4 теперь свой DNS, который довольно-таки неплохо работает. Можно сделать форвардинг на DNS который имеется в системе, а можно указать DNS-сервер провайдера.
Ранее было указано два DNS в файле /etc/network/interfaces, а теперь можно использовать локальные. В общем, надо удалить строчку 192.168.0.1 и привести к такому виду
dns-nameservers 192.168.0.20 192.168.0.1
Опять священный ребут
$ sudo shutdown -r 0
Теперь можно протестировать работу DNS
#Тест DNS записи для ldap по протоколу TCP
$ host -t SRV _ldap._tcp.torg.com
_ldap._tcp.torg.com has SRV record 0 100 389 dc1.torg.com.
#Тест DNS-записи для kerberos по протоколу UDP
$ host -t SRV _kerberos._udp.torg.com
_kerberos._udp.torg.com has SRV record 0 100 88 dc1.torg.com
#test name resolution of our host
$ host -t A dc1.torg.com
dc1.torg.com has address 192.168.0.20
Собственно вот если все проходит в таком порядке, то DNS от Samba работает как надо. Теперь можно попробовать залогиниться.
$ kinit administrator@TORG.COM
если все ок, покажет, что пассворд действителен месяц.
Готовый многофункциональный сервер на ubuntu - samba4.4+dns+dhcp+squid+onlyoffice communityserver+webmin. В статье есть готовый образ для использования на гипервизоре.
ОтветитьУдалитьhttp://itc-life.ru/mnogofunkcionalnyj-server-na-ubuntu/
Да говно какое-то эта ваша статья. Смысл от squid'a, если он ничего полезного не делает? Нахрена ставить bind9, если в самба сама может быть dns?
Удалить