adminguide_emodzi_nu-laaadno

Платные курсы

C промокодом ADMINGUIDE

emoji AdminGuide - Очень приятно

Бесплатное обучение

Видеоуроки повышенной чёткости

Friday, April 19, 2024
adminguide_emodzi_nu-laaadno

Платные курсы

C промокодом ADMINGUIDE

emoji AdminGuide - Очень приятно

Бесплатное обучение

Видеоуроки повышенной чёткости

AdminGuide Patreon

Boosty

Поддержи автора! Стань спонсором.

Главная страница » Контроллер домена на Ubuntu 18.04 — Ubuntu 18.04 AD-DC
post_logo_Samba-Windows-Ubuntu

Контроллер домена на Ubuntu 18.04 — Ubuntu 18.04 AD-DC

by Belfigor
38 882 views

Преподаю и разрабатываю лекции в Нетологии. Записывайтесь на обучение по моей ссылке.

Чтобы получить скидку 10% используйте промодкод:

ADMINGUIDE

Скидка суммируется со всеми действующими на Нетологии акциями

Думаю если вы попали на эту страницу, значит тем или иным путем пришли к выводу о том, что необходимо настроить систему централизованного управления учетными записями в локальной сети вашего предприятия, скорее всего это контроллер домена на Ubuntu или Windows. У вас как обычно 3 основных пути для реализации своего плана:

    1. Выкинуть деньги на ветер
    2. Сесть за пиратство
    3. Использовать какое-либо решение на базе линукса

Если честно, есть еще 4-й вариант, и он очень даже неплох. Основывается он на Synology NAS, обладающих просто божественными возможностями даже в самых маленьких реализациях.

Но вернемся к нашим реалиям. Наш вариант номер 3. В деталях он выглядит примерно так:

  1. У нас в сети нет ни одного серверного решения Microsoft
  2. Мы не хотим появления в нашей сети пиратских серверных решений Microsoft
  3. В большинстве своем наша сеть состоит из машин с ОС Ubuntu Desktop, но есть и пара ноутбуков с вендами.
  4. У нас есть необходимость централизованного управления учётными записями
  5. У нас есть одно или несколько сетевых хранилищ и мы хотим управлять доступом к хранимой на них информации, предоставляя его через протоколы NFS и CIFS(smb). Сетевые хранилища могут быть реализованы как на голых ubuntu server, так на различных решениях типа FreeNAS, NAS4Free и тд, так и на покупных решениях, типа QNAP, Synology и тд.

Реализовывать контроллер домена на Ubuntu мы будем на хосте ESXi с примерно следующими характеристиками:

  1. CPU: 1 ядро на 2.2-2.8 GHz
  2. RAM: 2 Gb
  3. HDD: 1 hdd 32Gb
  4. Network: 1 Сетевая карта
  5. Имя сервера: ag-dc
  6. Имя домена: adminguide.lan

Что касается физической машины, то подойдет любая не сильно мощная машина. Но если там хотя бы 4‑х ядерный CPU и 4+ гига оперативной памяти, я рекомендовал бы запилить на неё бесплатный гипервизор ESXi и уже с его помощью полностью утилизировать имеющиеся мощности.

 

Поправка к инструкции: Везде в тексте инструкции, имя тестового samba домена изменено с adminguide.local на adminguide.lan. зона .local может вызывать глюки в виндовых сетях. Если вы видите на скриншоте adminguide.local, на самом деле там должно быть adminguide.lan

 

  1. Устанавливаем Ubuntu Server 18.04 LTS amd64

  2. Изменяем имя сервера на ag-dc

    1. После изменения имени сервера в соответствии с инструкцией, перезагружаем сервер следующей командой:
      sudo reboot -h now
    2. Проверяем имя сервера
      После загрузки сервера, авторизовываемся и смотрим результат команды hostnamectl . Должно быть следующее:
      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - hostnamectl
      Важно понимать, что после того, как вы настроите контроллер домена на Ubuntu, смена имени его сервера приведет к непредвиденным последствиям, поэтому не надо пытаться превратить свою тестовую попытку, в рабочее решение. После того как вы один или несколько раз инициализируете свой ad-dc и убедитесь в его работоспособности, удалите все свои достижения и уже только после этого выполняйте чистовую работу, полностью отдавая себе отчет в производимых действиях.
  3. Настраиваем статический IP адрес

    1. На данном этапе, пока у нас еще не стоит самба и не инициализирован домен, наши настройки будут следующими:
      IP адрес и маска сети сервера: 192.168.1.100/24
      Шлюз 192.168.1.1 (роутер в тестовой сети)
      dns сервер 192.168.1.1 (роутер в тестовой сети). Переходим по ссылке и выполняем все по инструкции приводя настройки сети к следующему виду:

                  dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24, ]
      gateway4: 192.168.1.1
      nameservers:
      addresses: [192.168.1.1, ]
      

      Вот как выглядит файл настроек на тестовом сервере:
      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Настройки сети
      Главным ДНС сервером на данный момент должен быть указан локальный роутер, или любой другой днс сервер, например 8.8.8.8, способный выполнять эти функции.

  4. Отключаем systemd-resolved

    1. Останавливаем сервис systemd-resolved
      sudo service systemd-resolved stop
    2. Убираем systemd-resolved из автозапуска
      sudo systemctl disable systemd-resolved.service
    3. Удаляем ссылку /etc/resolv.conf
      sudo rm /etc/resolv.conf
    4. Открываем на редактирование файл /etc/resolv.conf
      sudo nano /etc/resolv.conf

      По факту, на данный момент этого файла еще не существует, он будет создан при сохранении изменений.

    5. Добавляем переадресацию на наш днс сервер и указываем search домен в resolv.conf .
      nameserver 192.168.1.1
      search adminguide.lan

      На данном этапе, nameserver должен указывать на тот же адрес, что и в пункте 3.1
      В search указывается имя нашего будущего домена Active Directory.
      Файл /etc/resolv.conf должен выглядеть следующим образом:
      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Настройка resolv.conf

    6. Сохраняем изменения нажав Ctrl+O
  5. Настраиваем файл /etc/hosts

    1. Одним из обязательных условий, является резолв имени нашего сервера, на его IP в локальной сети. Если сервер находится в сети 192.168.1.0/24 и его IP 192.168.1.100, то набирая на нем команду ping ag-dc или же ping ag-dc.adminguide.lan должен резолвиться адрес 192.168.1.100. Имя контроллера домена, не должно резолвиться на локальный адрес 127.0.0.1 или какой либо другой адрес, кроме того, что назначен сетевому интерфейсу который использует DC.
      sudo nano /etc/hosts
    2. Приводим файл hosts к следующему виду:
      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Настройка hosts

      127.0.0.1       localhost.localdomain   localhost
      192.168.1.100   ag-dc.adminguide.lan  ag-dc
    3. Сохраняем с помощью команды Ctrl+O
  6. Проверяем что не запущено никаких самвобых процессов

    Для этого понадобится следующая команда:

    ps ax | egrep "samba|smbd|nmbd|winbindd"

    Если есть хоть один процесс и вы видите что-то типа этого:
    Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Поиск процессов samba
    таки возможно вы настраиваете AD-DC не на новом сервере или на сервере развернутом не из оригинального образа. Если вы решите на свой страх и риск продолжить установку, то вам необходимо убить все процессы с именами samba, smbd, nmbd, winbindd. Чтобы убить процесс, надо использовать команду sudo kill <id-процесса>:

    sudo kill 3135
  7. Устанавливаем Samba

    На этом этапе так же важно знать, что после того как вы инициализируете контроллер домена на Ubuntu, вы не сможете изменить его название. Если вы называете свой домен ADMINGUIDE.LAN, он на веки вечные останется доменом ADMINGUIDE.LAN . Самба не поддерживает изменение имени домена. После его инициализации, чтобы изменить название, вам придется вывести из него все машины что вы успели зарегистрировать в нем, удалить старый домен, инициализировать новый и зарегистрировать машины повторно. Стоит ли говорить, что даже при 25 рабочих станциях — это уже проблема

    1. Устанавливаем samba и все необходимые пакеты командой:
      sudo apt -y install samba krb5-config winbind smbclient krb5-user
    2. Область по умолчанию для Kerberos версии 5

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Область по умолчанию для Kerberos версии 5

      Указываем ADMINGUIDE.LAN

    3. Серверы Kerberos для вашей области

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Серверы Kerberos для вашей области

      Указываем ag-dc.adminguide.lan

    4. Управляющий сервер вашей области Kerberos

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Управляющий сервер вашей области Kerberos

      Так же указываем ag-dc.adminguide.lan

    5. Ожидаем окончание установки
  8. Бэкапим стандартную конфигурацию Samba

    sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bkp
  9. Инициируем контроллер домена на Ubuntu 18.04

    1. Запускаем инициализацию в интерактивном режиме

      Из своего домена, мы так же будем управлять пользователями и группами линуксовых машин. Поэтому нам нужно заранее включить поддержку NIS, с помощью команды —use-rfc2307

      sudo samba-tool domain provision --use-rfc2307 --interactive

      Включение поддержки NIS, не имеет никаких противопоказаний к применению, даже если ваш домен никогда не будет обслуживать линуксовые машины. В то же время, если инициализировать домен без поддержки NIS, и когда-нибудь в него войдут линуксовые машины и захочется управлять их учётками, расширять схему Active Directory и добавлять поддержку NIS, придётся уже ручками на свой страх и риск.

    2. Указываем параметры домена

      Если в процессе настройки не было допущено ошибок, все необходимые данные установщик поместит в квадратные скобки в виде стандартных значений:

      Realm [ADMINGUIDE.LAN]:
      Domain [ADMINGUIDE]:
      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.1.1]:
      Administrator password:
      Retype password:
      

      Когда установщик запросит пароль, рекомендую указать пароль понадежнее. Это будет пароль от учетной записи администратора домена.

      Если на этом этапе в квадратных скобках у вас указано не то значение которое вам бы хотелось, значит вероятнее всего в настройках ранее вы допустили серьезный косяк.

    3. Смотрим результаты инициализации

      Следующие строки возвестят о том, что контроллер домена на Ubuntu успешно завершил инициализацию:

      A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf
      Setting up fake yp server settings
      Once the above files are installed, your Samba AD server will be ready to use
      Server Role:           active directory domain controller
      Hostname:              ag-dc
      NetBIOS Domain:        ADMINGUIDE
      DNS Domain:            adminguide.lan
      DOMAIN SID:            S-1-5-21-4033150357-3109693390-3173112578
      

      Но радоваться еще слишком рано. Если вы видите нечто кардинально другое, значит вы допустили какую-то ошибку выше, либо прервали инициализацию запущенную ранее, либо инициализация вывалилась с ошибкой и сейчас вы пытаетесь инициализировать домен повторно. Если упереться рогом, можно вычистить все данные и записи сгенерированные в процессе инициализации и запустить её повторно. Это даже может привести к её успешному окончанию. НЕ ПЫТАЙТЕСЬ ЭТОГО ДЕЛАТЬ. Инициализируйте домен на новом чистом сервере. Если в процессе подготовки к инициализации, вы допустили косяк, и на момент запуска инициализации вы его не устранили и она завершилось ошибкой — просто удалите текущую инсталяцию сервера и начните сначала. Если вы настраиваете контроллер домена на виртуальной машине, сделайте снапшот выключенного сервера прежде чем приступать к пункту 7.1. В будущем в случае какого-то косяка на этапе инициализации, возвращайтесь к этому снапшоту и перепроверяйте всё \ исправляйте ошибки.

  10. Настройка DC

    Контроллер домена на Ubuntu, реализованный с помощью Samba сам автоматически запускает необходимые сервисы. Поэтому если они будут запущены не Samba DC, а например вручную пользователем, это может привести к необратимым последствиям и домен перестанет функционировать как должен. Поэтому на всякий случай, необходимо сделать эти сервисы недоступными для ручного запуска и отключить их автозапуск:

    sudo systemctl stop smbd nmbd winbind
    sudo systemctl disable smbd nmbd winbind
    sudo systemctl mask smbd nmbd winbind

    Делаем samba-ad-dc доступным для запуска, включаем сервис и включаем его автозапуск

    sudo systemctl unmask samba-ad-dc
    sudo systemctl start samba-ad-dc
    sudo systemctl enable samba-ad-dc
  11. Настройка DNS

    1. Изменяем dns сервер в настройках сети на IP настраиваемого сервера. По факту он будет ссылаться на себя же как на днс сервер 192.168.1.100
      Приводим настройки параметров сети к следующему виду:

                  dhcp4: no
      dhcp6: no
      addresses: [192.168.1.100/24, ]
      gateway4: 192.168.1.1
      nameservers:
      addresses: [192.168.1.100, ]
      
    2. Изменяем dns сервер в resolv.conf, так же указывая там IP своего сервера, приводя его к следующему виду:
      nameserver 192.168.1.100
      search adminguide.lan
  12. Настройка Kerberos

    В процессе инициализации домена, создается файл krb5.conf, путь к нему указывается в последних строках отчета об успешной инициализации. Поэтому чтобы избежать ручной настройки файла /etc/krb5.conf, нам нужно заменить его только что сгенерированным.

    sudo cp /var/lib/samba/private/krb5.conf /etc/
  13. Проверяем результаты своей работы

    1. Смотрим все шары файл сервера DC
      smbclient -L localhost -U%

      Они создаются в процессе инициализации домена и должны присутствовать для его правильного функционирования.

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - DC Shares

      Контроллер домена на Ubuntu — Результат smbclient -L localhost -U%

    2. Проверяем подключение к ним
      Подключаемся к папке netlogon от имени администратора домена

      smbclient //localhost/netlogon -UAdministrator -c 'ls'

      Когда система запросит пароль, необходимо ввести пароль администратора домена, который мы указали при инициализации, в пункте 9.2

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - Подключение к netlogon

      Контроллер домена на Ubuntu — Результат smbclient //localhost/netlogon -UAdministrator -c ‘ls’

      В случае успешной авторизации, вы без ошибок подключитесь к папке

    3. Проверяем правильность настройки DNS
      Без правильно функционирующей службы DNS, AD DC не сможет функционировать как запланировано. Главное, нам необходимо убедиться, что SAMBA_INTERNAL dns настроен правильно и работает. Для этого попытаемся извлечь из него необходимые записи

      1. Смотрим SRV запись _ldap
        host -t SRV _ldap._tcp.adminguide.lan.
      2. Смотрим SRV запись _kerberos
        host -t SRV _kerberos._udp.adminguide.lan.
      3. Проверяем A запись контроллера домена
        host -t A ag-dc.adminguide.lan.

        Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - DNS тесты

        Контроллер домена на Ubuntu — Результаты проверки DNS

    4. Проверяем работоспособность Kerberos
      kinit administrator
    5. Смотрим кеш авторизационных тикетов Kerberos
      klist

      Контроллер домена на Ubuntu - Ubuntu 18.04 AD-DC - kinit & klist результат

      Контроллер домена на Ubuntu — Результат kinit administrator и klist

  14. Полезные ссылки:

Text.ru - 100.00%

You may also like

Vkontakte Comments

Default Comments

65 комментариев

Nick 29.10.2018 - 13:31

sudo apt -y install samba krb5-config winbind smbclient krb5-user
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Пакет krb5-user недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «krb5-user» не найден кандидат на установку

Reply
Belfigor 30.10.2018 - 15:11

Какая версия ОС?

Reply
Dmitrii 29.01.2019 - 14:28

Добавьте universe в /etc/apt/sources.list

Reply
Викулечка 13.12.2018 - 06:36

Вообще-то групповые политики умеет и давно. Вопрос другой, что синхронизировать она их с AD не может. Вот насчёт DAC не знаю, не пробовал. P.S. Недавно встал вопрос, что развернуть на домашнем сервере «обычный LDAP» в виде 3s или контроллер домена на самбе.

Reply
Belfigor 13.12.2018 - 10:40

Для дома LDAP я как-то поднимал на synology nas. Они и ldap и ad-dc (старшие модели) умеют поднимать.

Reply
Tim 11.01.2019 - 08:05

ERROR(): Provision failed — ProvisioningError: guess_names : ‘realm =’ was not specified in supplied /etc/samba/smb.conf. Please remove the smb.conf file and l et provision generate it
Вот такая вот загогулина появляется при попытке инициализировать домен.

Reply
Belfigor 08.02.2019 - 10:39

Оно явным текстом жалуется на параметр realm в smb.conf
Контроллер разворачивается не на чистой установке?

Reply
TIM 21.02.2019 - 10:35

я разобрался в чем была проблема, не внимательность. Спасибо за гайд)

Reply
Ajlex71 19.03.2019 - 13:12

Подскажите пожалуйста как добавлять пользователей в домен

Reply
Belfigor 25.03.2019 - 09:50

Для добавления пользователей в домен самый действенный способ — установить на машину Windows пакет RSAT и управлять доменом через стандартную оснастку. Так же можно добавлять пользователей через коммандную строку, но это пожалуй самый неудобный вариант.

Reply
User 20.09.2019 - 05:47

А как добавлять пользователей через командную строку на данном сервере?

Reply
Belfigor 20.09.2019 - 06:24

С помощью команды
sudo samba-tool user create smb_test_create
будет создан пользователь «smb_test_create» в папке Users каталога AD
Там еще огромный набор всевозможных параметров, ознакомиться с которым можно с помощью команды
samba-tool user create --help

Reply
s6gy0 02.04.2019 - 11:16

Проверяем работоспособность Kerberos

kinit administrator

Cannot find KDC for requested realm while getting initial credentials в чем проблема?

Reply
Belfigor 02.04.2019 - 11:32

А что показывает команда:
«host -t SRV _kerberos._udp.adminguide.local.»
?

Reply
23865@mail.ru 06.06.2019 - 17:16

Проверяем A запись контроллера домена
host -t A srv.kam.loc.
Выдаёт
srv.kam.loc has no A record

Как это поправить?

Reply
Belfigor 07.06.2019 - 09:24

Это записи генерируемые в процессе инициализации контроллера. Если по окончанию инициализации они отсутствуют, самый эффективный способ — удалить ось, поставить новую и начать всё с самого начала сверяясь с каждым шагом. Потому что отсутствие A записи — это вероятнее всего — верхушка айсберга и даже добавив её руками, нет никакой гарантии что в процессе инициализации по причине какой-то ошибки в настройках не был пропущен целый кусок алгоритма.

Reply
Mikhail Zhukov 11.12.2019 - 19:55

Здравствуйте. Уже собаку на этой инструкции съел, но заставил работать на виртуалке. Осталось повторить опыт на реальной машине, всё шаг за шагом делал — единственное отличие это название домена и машины. На шаге проверки ДНС не видит записей. Помогите, пожалуйста, разобраться. Тупое повторение не исправить ситуацию, я всё очень четко и не первый раз делал(а 5-й примерно)

Reply
Belfigor 12.12.2019 - 13:52

Нужно видеть лог bind9 и лог всей установки. Вы уверены что сам dns сервер bind9 работает?

Reply
Mikhail Zhukov 14.12.2019 - 13:49

Ну, как сказать, я ни в чём не уверен:) В том плане, что я новичок и я делал всё с чистой системы, предполагая, что раз я ставлю одну и ту же систему с одного и того же образа — все будет работать одинакого. При установке юбунты можно выбрать функцию серверу dns server, что я и выбрал. Но в ручную ничего не запускал, делал шаг за шагом по инструкции сразу после инициализации свежей системы.

Для этой инстукции я специально нашел образ 18.01, так как на более поздних версиях у меня что-то шло не так. И вот именно с этим образом у меня всё вышло на виртуалке, я успешно внес в домен систему на винде, поигрался с политиками. Вернулся к рабочему серверу, всё делал ровно также, кроме имени хоста и имени домена.

Belfigor 16.12.2019 - 16:12

Ненене, при установке убунту не надо выбирать DNS сервер. DNS сервер устанавливается и конфигурируется самостоятельно силами установщика Samba. В противном случае если DNS сервер ставится не самостоятельно самбой, там нужно сделать миллион лишних телодвижений чтобы оно взлетело.

Mikhail Zhukov 14.12.2019 - 14:14

В смысле 18.04.1, а не 18.01

Mikhail Zhukov 16.12.2019 - 19:16

Попробовал еще 3 раза — уже нигде не выходит. Host _ldap._tcp.ad.sgtdrill.ru. not found: 3(NXDOMAIN)

Меняются домены, меняются виртуалки и машины — всё одно и тоже. Я не понимаю где я делаю ошибку.

Может есть какой-то способ проверить эти вещи в начале инструкции? А то каждый раз, когда уже всё сделал, этот последний пункт не работает.

bammbr 16.07.2019 - 07:20

«…вам необходимо убить все процессы с именами…»
А не проще ли просто
`systemctl stop smbd nmbd samba-ad-dc winbind`
или в этом роде?

Reply
Belfigor 10.09.2019 - 17:43

Безусловно, тоже вариант.

Reply
Mikhail Zhukov 24.12.2019 - 17:19

Спасибо. Ошибка действительно было в выбранном DNS сервере, в силу использования разных установщиков в разных ситуациях. К сожалению, я не успел прочитать ценный совет и еще 3 раза пробовал всё ставить и эксперементировать.

Спасибо за ценную статью, она мне очень помогла. Вопрос у меня остался касательно DNS: если мы ставим у контроллера домена адрес ДНС сервера на самого себя, то к кому он сам будет обращаться?

Reply
Belfigor 21.01.2020 - 10:41

У DNS сервера настраиваются форвардеры, куда отправляются запросы, на которые нет ответа у самого ДНС сервера.

Reply
Александр 10.09.2019 - 15:49

Скажите, а при вводе в домен виндовой машины пользователи автоматически регистрируются?

Reply
Belfigor 10.09.2019 - 17:43

Возможно я не верно понял вопрос, но при вводе в домен вендовой машины, учетные записи имевшиеся в локальной рабочей группе — никак не влияют на домен. Это дает возможность авторизовываться на компьютере под доменными, имеющимися в домене учетными записями. А локальные, после ввода в домен я бы рекомендовал вообще отключить.

Reply
Constantine 16.09.2019 - 12:13

Столкнулся с несколькими проблемами:
1) После выполнения пункта 4 перестали подтягиваться пакеты из инета и, чтобы установить необходимые, пришлось включать systemd-resolved, а потом отключать.
2) После пункта 11 вообще пропал резолвинг — с обоими вариантами.
3) При выводе команды
smbclient //localhost/netlogon -UAdministrator -c ‘ls’
указал Workgroup как WORKGROUP, а не её отсутствие, как в примере. Но потом:
4) Команды kinit и klist не сработали. kinit пишет «Cannot contact any KDC for realm ‘DOM.LOCAL’ while getting credentials»
Всё делал по инструкции. Что не так?

Reply
Belfigor 17.09.2019 - 07:13

Какая версия Ubuntu Server? Могу для начала порекомендовать создать домен в зоне не LOCAL, а LAN. В руководстве в будущем тоже изменю в примерах везде local на lan

Reply
Denis26 16.10.2019 - 15:41

При подключении к домену виндовой машины лезет ошибка: «Не удалось выполнить операцию присоединения. Это может быть вызвано тем, что существующая учетная запись компьютера с именем test была изначально создана с использованием других учетных данных. Либо используйте другое имя компьютера, либо попросите администратора удалить устаревшие конфликтующие учетные записи.» Перед этим на домене был создан пользователь командой: sudo samba-tool user create smb_test_create

Reply
Misha 30.10.2019 - 06:23

Добрый день. На Ubuntu 18.04.3 LTS работает ?

Reply
Belfigor 30.10.2019 - 14:31

В __теории__ должно работать на любой Ubuntu 18.04.x и даже может 18.x.x

Reply
Misha 01.11.2019 - 11:21

Всё установилось , но проверка kinit administrator — не проходит. cannot contact any KDC — это что может быть , подскажите в каакую сторону копнуть ?

Reply
Misha 02.11.2019 - 05:24

Дело было в DNS. kinit проходит но теперь проблема с остальными записями host -t SRV _ldap._tcp.*.* теперь вот это н епроходит

Reply
Belfigor 04.11.2019 - 13:53

Запустился ли DNS сервер?

Misha 05.11.2019 - 10:43

а как кстати проверить запустился ли сервер samba-internal ? то что он не реагирует на nslookup видимо говорит о том что он не работает. как его запустить ?

Reply
Misha 05.11.2019 - 10:53

Все записи ДНС создаются автоматически ? Или нужно вручную их забивать ?

Reply
Misha 06.11.2019 - 04:17

Всё заработало !!! ))))

Reply
Andrey 13.12.2019 - 06:26

Доброго времени суток. Шаг 13.1 Команда smbclient -L localhost -U% выдает ошибку error nt_status_connection_refused. Как быть?

Reply
Belfigor 13.12.2019 - 07:27

Посмотрите в файле «/etc/samba/smb.conf» есть ли строка «bind interfaces only = «, и если есть то какой там параметр? yes или no.
Устанавливаете на голый сервер с нуля?
Попробуйте проинициализировать самбу в зоне .lan вместо .local (естественно на новую ось). Я внёс правки в инструкцию заменив везде local на lan
Что прописано в файле /etc/hosts, не исчезла ли оттуда запись «127.0.0.1 localhost.localdomain localhost»?

Reply
Zeliboba 18.12.2019 - 09:07

Имеется дистрибутив Ubuntu Server LTS 18.04. На сервере статический IP и есть домен вида dc.company-name.com

Руководствуюсь официальной документацией

https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller

Помогите настроить самбу как контроллер домена.

Какой должен быть домен от самбы Realm локальный local.lan или же внешний интернет домен dc.company-name.com ?

$ host -t A dc.company-name.com. отвечает

$ host -t SRV _ldap._tcp.dc.company-name.com. $ host -t SRV _kerberos._udp.dc.company-name.com.

данные команды никак не отвечают. но я так понимаю чтобы эти SRV записи появились я должен контроллировать DNS на котором находится dc.company-name.com

Обязательно ли ставить BIND или можно обойтись днс-ом 8.8.8.8 ? Что прописывать в resolv.conf и hosts? И какое имя хоста?

Если кто настраивал — помогите пожалуйста. Ибо запутался в DNS-ах.

Reply
Belfigor 18.12.2019 - 21:47

DNS сервер нужен при любом раскладе, без него домен не будет работать. 8.8.8.8 — это форвардер, для имён которые не знает сам контроллер домена. Имена всех участников домена хранятся как раз на локальном авторитарном днс сервере.
Если имя внешнего домена company-name.com, то домен dc.company-name.com является валидным. При этом все устройства внутри домена будут адресоваться по имени computer.dc.company-name.com, чтобы сократить длинну обращения, нужно донастраивать DNS сервер. Если не охота заморачиваться и нет необходимости совмещать днс зоны домена и внешнего сайта, проще создать домен с названием company-name.lan. Тогда устройства внутри домена будут адресоваться по типу computer.company-name.com, без дополнительной зоны как в первом случае. Именно этот вариант описывается в инструкции по шагам. Достаточно полностью пройти инструкцию заменив везде adminguide.lan на company-name.lan

Reply
Zeliboba 18.12.2019 - 09:34

Подскажите пожалуйста, а внутренний домен должен ли отличаться от внешнего домена который из интернета доступен ?

Reply
Belfigor 18.12.2019 - 17:11

Если под внешним доменом подразумевается например сайт компании, типа company.ru, то технически, внутренний домен так же может быть company.ru,
НО
тогда это вызовет дичайшие проблемы с DNS. Контроллер домена, будучи инициализированным для домена с именем company.ru, для поддержания работоспособности сети, должен так же работать в сопряжении со службой DNS сервера. При этом, DNS сервер обслуживаемый контроллером домена, будет являться авторитарным для всей dns зоны company.ru и всех её поддоменов. Таким образом, клиент участник сети локального домена company.ru, который не должен иметь в своих настройках никаких других DNS серверов кроме как DNS серверов домена, пытаясь отрезолвить имя company.ru, будет отправлять запрос на локальный DNS сервер домена, где тот будет возвращать не адрес сайта company.ru из интернета, а возвращать свой локальный адрес. Это же касается и всех поддоменов company.ru. При этом, будучи авторитарным для зоны company.ru, в случае не нахождения у себя в списке, запрошенного адреса, DNS сервер не будет перенаправлять запрос на вышестойщий днс сервер т.к. всегда будет считать что зоны company.ru нигде кроме как у него не существует и он в ней царь и последняя инстанция. Например test.company.ru, даже если пингуется с какого-либо хоста, находящегося за пределами сети домена, не присутствуя в списке адресов локального DNS сервера, пинговаться не будет. Поэтому если у сайта фирмы адрес company.ru, правильным DNS именем инициализируемого домена будет что-то типа office1.company.ru . В этом случае, все устройства находящиеся внутри домена office1.company.ru, будут уже иметь имена типа workstation1.office1.company.ru
Если не принципиально соблюдение правильной архитектуры DNS, то можно инициализировать домен с именем например в зоне lan, например company.lan. Самое главное, чтобы инициализация не происходила с использованием имени которое уже есть в интернете или может появиться в будущем.

Reply
Zeliboba 19.12.2019 - 07:42

благодарю за столь развернутый ответ ! 🙂 я именно так и подумывал что ошибся с понятиями домен интеренета и домен AD это различные и независимые понятия.

Reply
Zeliboba 18.12.2019 - 10:44

И подскажите реально ли вообще настроить контроллер домена на самбе, который будет доступен через интернет а не в локальной сети ?

Reply
Belfigor 18.12.2019 - 17:12

Думаю что реально, но я такой задачей никогда не задавался и это будет даже не костылём, а выстрелом себе в колено через рот, с рикошетом прямо в жопку 🙂

Reply
Zeliboba 19.12.2019 - 07:40

А почему так не делают ? «Удалённый DC». Кучу документации перерыл вся она на локальные сети. MS вон вовсю продаёт https:// azure.microsoft.com/ ru-ru/services/ active-directory/ это по сути тоже самое только за деньги. а с самбой можно было бы сэкономить. нв чём загвоздка ремотного КД ?

Reply
Belfigor 19.12.2019 - 10:23

Это очень модная и навороченная штука, но самба идёт с отставанием в плане реализации поддерживаемых схем AD-DC, и в данный момент самая последняя поддерживаемая версия AD-DC со стороны Samba — это 2012. В то время как сервера Windows уже позволяют создавать более новые схемы. + то что приведено там по ссылке — это по сути один большущий SSO сервис. И его реализация заключается не столько в том что этим занимается контроллер домена Windows, сколько в том что контроллер(ы) домена Windows подключаются уже к внешней его реализации развёрнутой на закрытой платформе Azure. Тоесть желаемый функционал повсеместной авторизации выполняет не локальный AD-DC, а внешний сервис, а AD-DC выполняет лишь роль маршрутизатора подобных запросов. Но самба спокойно может авторизовывать внутри локальной сети, всякие сервисы поддерживающие LDAP. Тоесть не что не мешает поднять корпоративный почтовик с поддержкой LDAP и дать юзерам возможность авторизовываться на нём используя доменную учётку.

Но если же прямо упереться рогом, я бы начал смотреть в сторону Samba AD-DC развёрнутого на каком-то сервере вместе с VPN сервером, к которому подключаются шлюзы удалённых офисов или же сервисов, и эти шлюзы перенаправляют все запросы с попытками авторизации на этот Samba AD-DC. Для всяких персональных веб сервисов придётся так же костылить кучу библиотек перенаправляющих авторизацию. Так что теоретически эта схема реализуема, но обойдется она реализатору в огромную кучу жопочасов.

Reply
Zeliboba 19.12.2019 - 12:46

Спасибище огромнейшее за такой ответ ! Вот теперь всё стало понятно :). Я тоже думал про VPN, но это геморой ещё тот. А можете что порекомендовать кошерное для ремотного администрирования машин под Windows . Я привык к radmin’у, но как-то уже имхо уже прошло его время. тимвьювер и энидеск тоже не хотелось бы. всётаки имеется на машинах ценная информация

Belfigor 19.12.2019 - 14:13

open vnc, rdp, ssh + пользуюсь teamviewer 10 для поддержки пользователей.

Zeliboba 20.12.2019 - 09:08

А почему 10-ый TV ? удобнее и проще ? Подскажите, а каталогизацию если юзеров полно только с AD ?

Belfigor 20.12.2019 - 21:00

Лицензия пожизненная только на 10й. AD если необходимо сделать всё с пол пинка и избежать излишнего гротеска. Есть например тот же LDAP https://habr.com/ru/post/86090/ . А так лучшее и распространённее чем AD — люди еще не придумали. Всё упирается в функционал. Можно придумать даже свою собственную службу каталогов, но т.к. из коробки много локальных сервисов будут поддерживать только AD и LDAP, то толку от других служб каталогов будет немного :). Майкрософт создала каталоги Active Directory и опубликовала полное их описание, что собственно и делает возможным воссоздание их алгоритмов контроллерами доменов samba. Так что AD был, есть и будет стандартом служб каталогов до тех пор пока существует MS. При этом даже если MS со всеми своими операционками сдохнет, то его приемник будет так же работать на схемах Active Directory, ибо это общемировой стандарт.

Только для линуксов например есть NIS и его модификации https://ru.wikipedia.org/wiki/NIS%2B
Но из линукса можно авторизовываться в том же AD прямо как это происходит в вендах. А из венды в NIS уже нет 🙂

Николай 13.03.2020 - 13:35

Здравствуйте.
Установил Ubuntu 18.04.4 server и настроил на ней samba по Вашей статье, только имя сервера, имя домена и IP-адрес задал свои. Все шаги прошел от и до. Устанавливал на виртуальной машине VirtualBox 6.1.4. Все проверочные команды, приводимые в статье, выдают нужные ответы, так-же приведенные в статье. Сетевая плата виртуальной машины настроена мостом с сетевой платой физического ПК. Файлы настроек имеют абсолютно такой-же вид как в статье. С другого ПК, не хоста для виртуальной машины, этот сервер пингуется, можно зайти на расшаренный ресурс введя имя и пароль администратора, заданные при настройке Samba. Но при попытке подключить ПК к домену запрашивает имя и пароль администратора, потом долго думает и выводит ошибку об отсутствии в сети DNS-сервера и, соответственно, невозможности узнать имя контроллера домена.
В сети есть еще роутер с выходом в интернет.
Роутер имеет IP во внутренней сети — 192.168.1.1/24
Серверу назначил IP — 192.168.1.5/24
Подключаемый ПК имеет ОС Windows 7 максимальная 32 бита.
Пробовал несколько вариантов настроек сети на этом ПК:
DHCP:
IP — 192.168.1.59/24
шлюз — 192.168.1.1
DNS — 192.168.1.1
Ручная настройка, 1 вариант:
IP — 192.168.1.100/24
шлюз — 192.168.1.1
DNS — 192.168.1.5
Ручная настройка, 2 вариант:
IP — 192.168.1.100/24
шлюз — 192.168.1.5
DNS — 192.168.1.5
При всех этих настройках доменный контроллер пинговался и по адресу и по имени без домена, т.е. по короткому имени, а вот если пытаться пинговать его по длинному имени, т.е. с доменом, то его адрес не определялся. Также при этих настройках этот ПК имел доступ в интернет.
Но в домен входить никак не хотел.
Я прописал адрес сервера и его длинное имя в файл hosts в Windows, но присоединить ПК к домену так и не получилось.
Подскажите, пожалуйста, что можно еще попробовать сделать.

Reply
Belfigor 13.03.2020 - 20:22

Если с контроллера домена пинговать его по длинному имени пинг идёт? 100% проблема в ДНС сервере который должен стартовать на самбе. Начать стоит именно с пинга самого себя. У подключаемого к домену компьютера днсом должен быть прописан контроллер домена, как в варианте «ручная настройка, 1 вариант». Шлюз если сервер самбы не рулит доступом в инет (в идеале не должен), должен указывать на маршрутизатор в локальной сети.

Reply
Николай 15.03.2020 - 11:52

Спасибо. Буду проверять.
Или лучше сделаю всё заново и тщательнее — это же на виртуалке и я сделал и снапшоты сразу после установки Убунты, перед настройками, и копию всей виртуалки.
Кстати, а нужно ли перед всеми установками произвести обновление Убунты?

Reply
Николай 16.03.2020 - 07:30

Проверил. Сервер сам себя пингует по длинному имени. Даже когда пингую по короткому имени в ответе пишет длинное имя и IP-адрес.

Reply
Николай 16.03.2020 - 07:40

Уточняю — на попытку присоединить к домену ПК на Windows 7 максимальная запрашивается пароль для присоединения, но после ввода и недолгого «раздумья» появляется окно с ошибкой «Не удалось разрешить DNS-имя контроллера домена в присоединяемом домене»

Reply
Rakel 23.03.2020 - 10:32

для особо одарённых (так-же и в моём лице) Настройка сети:

ВНИМАНИЕ! Отступы слева в конфигурациях должны быть ОБЯЗАТЕЛЬНО и поставлены они должны быть ПРОБЕЛАМИ! В конфигурациях представленных в этой статье количество пробелов правильное, считайте или копируйте:)

Если вы поставите отступы клавишей «TAB», то на этапе проверки конфигурации на ошибки, вылезет ошибка — » Error while loading /etc/netplan/50-cloud-init.yaml, aborting. / Ошибка при загрузке «.

Если же вы решите написать всё в столбик без отступов, получите ошибку — » An error occured: the configuration could not be generated / Произошла ошибка: конфигурация не может быть сгенерирована «.

Reply
Владимир 08.09.2020 - 16:15

Здравствуйте.
Установил SAMBA в роли AD DC.
У меня проблема с Winbind. Я не могу авторизоваться счетными данными доменных пользователей на своем SAMBA AD DC.
Сервис samba-ad-dc запущен и работает. Я так понимаю в п.10
«…
sudo systemctl stop smbd nmbd winbind
sudo systemctl disable smbd nmbd winbind
sudo systemctl mask smbd nmbd winbind

sudo systemctl unmask samba-ad-dc
sudo systemctl start samba-ad-dc
sudo systemctl enable samba-ad-dc
…»
службу winbind мы отключили, а samba-ad-dc ее не запускает (у меня).
А проблема собственно в олицетворении встроенных локальных учетных записей «СЕТЬ; СИСТЕМА; СЛУЖБА» и пр. На DC

Reply
Belfigor 09.09.2020 - 07:40

Привет! Контроллер домена настраивался с нуля, на чистой Ubuntu Server 18.04 по моей инструкции? На сайте в данный момент инструкция из 5 статей только публикуется. Полная опубликованная версия есть в моём дзене: https://zen.yandex.ru/id/5ec1740672423a6de38c60a9

Reply
krayser 22.12.2020 - 18:05

Disable Expiration

Use the command samba-tool user setexpiry USER —noexpiry
The following shows disabling pesky password expiration for the Administrator

Reply
Shurik8129 14.01.2021 - 10:27

Здравствуйте. Статья очень полезная. Огромное за это спасибо. Сейчас столкнулся с проблемой как расшарить папку в UbuntuServer для пользователей домена. Будет у Вас что то подобное в уроках? И еще если набрать команду id «имя пользователя домена». Выдает «No such user». Хотя должен бы находиться пользователь

Reply
Belfigor 14.01.2021 - 13:45

Привет! По поводу расшаривания папок — я горячо рекомендую пользоваться готовыми NAS решениями, к примеру такими как openmediavault, nas4free, freenas и тд и тп. Прямо настоятельно не рекомендую настраивать шары самостоятельно.
По поводу команду id, таки полагаю этот вопрос вызван в связи с попыткой настроить файлопомойку на контроллере домена. Вопрос обучения ОС контроллера домена на работу с учётными записями и группами домена — это прям отдельная статья или даже две. Ииии опять же я крайне не рекомендую настраивать файлопомойку на контроллере домена. Очень рекомендую. Обновление домена происходит путём поднятия нового резервного КД, его синхронизации с АД, сбрасыванием на него ролей FSMO и последующим выпилом депривированного КД из домена. Если на выпиливаемом КД будет файлопомойка — весь процесс из относительно легкого и непринуждённого превратится в ад. В адищще. Будет много визгов слёз и жопной боли. Сильно не рекомендую. Но в далёком будущем я возможно сделаю статью по поводу того как пользоваться доменными учётными записями на контроллере домена. Но опять же повторюсь это нужно только чтобы делать на контроллере шары и прочие ненужные ему вещи. И ещё раз настоятельно порекомендую не делать этого и оставить контроллер домена чисто контроллером домена. Без какого-либо маломальского стороннего функционала. Это повысит стабильность и откузоустойчивость таки на порядки :).

Reply

Добавить комментарий

%d такие блоггеры, как: