Почему Samba4 дает сбой с NT_STATUS_INTERNAL_ERROR на Ubuntu 18.04

Почему Samba4 дает сбой с NT_STATUS_INTERNAL_ERROR на Ubuntu 18.04

У меня возникли проблемы с настройкой Samba в качестве AD DC. В настоящее время у меня есть 1 Ubuntu box, который я хотел бы использовать для обмена файлами с другими компьютерами в моей домашней сети. В настоящее время та же машина, которая служит в качестве DC, также будет обслуживать файлы.

Это домашняя установка, то есть я использую маршрутизатор потребительского уровня.

  • ОС: Ubuntu 18.04
  • Samba: Версия 4.7.6-Ubuntu

Чтобы начать каждую итерацию моих попыток заставить его работать, я выполняю рекомендуемые шаги по завершению всех процессов Samba и т. д. и удаляю файлы, обсуждаемые вПодготовка к установкеиз руководства по настройкеhttps://wiki.samba.org/index.php/Настройка_Samba_как_контроллера_домена_активного_каталога

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

Затем я завершаю все процессы, как описано.

Я проверяю, что samba установлена

$ which samba
/usr/sbin/samba
$ samba --version
Version 4.7.6-Ubuntu

В инструкции также говорится:

Проверьте, что файл /etc/hosts на DC правильно разрешает полное доменное имя (FQDN) и короткое имя хоста в IP-адрес LAN DC. Например:

Точное содержание:

127.0.0.1       localhost localhost.localdomain
192.168.1.1     DC1.samdom.example.com DC1


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Обратите внимание, что IP-адрес Ubuntu box в локальной сети — 192.168.1.20 192.168.1.1это LAN IP, найденный на моем маршрутизаторе на вкладке LAN и в поле IP Address. Обратите внимание, что у меня не включен DDNS для моего маршрутизатора.

$ sudo samba-tool domain provision --use-rfc2307 --interactive
Realm: SAMDOM.EXAMPLE.COM
 Domain [SAMDOM]: SAMDOM
 Server Role (dc, member, standalone) [dc]: dc
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]: 8.8.8.8
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=samdom,DC=example,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=samdom,DC=example,DC=com
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
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:              zoo-vault
NetBIOS Domain:        SAMDOM
DNS Domain:            samdom.example.com
DOMAIN SID:            …

Отлично, пока все хорошо. Копирую файл, krb5.confкак и предлагалось, в /etc/krb5.conf.

Я пропускаюНастройка внутреннего сервера AD DNSкак я используюSAMBA_INTERNAL

Мой /etc/resolv.confвнешний вид

# Generated by NetworkManager
search samdom.example.com
nameserver 192.168.1.1

Я пропускаюСоздать обратную зонуа затем скопируйте файл Kerberos, как предлагается.

Вот где все идет не так. Я запустил samba с помощью sudo samba, процессы выглядят так, как будто они запущены, но ни одна из следующих команд проверки, приведенных в документации, не работает.

$ smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter SAMDOM\Administrator's password:
session setup failed: NT_STATUS_INTERNAL_ERROR
$ host -t SRV _ldap._tcp.samdom.example.com.
Host _ldap._tcp.samdom.example.com. not found: 3(NXDOMAIN)
$ host -t SRV _kerberos._udp.samdom.example.com.
Host _kerberos._udp.samdom.example.com. not found: 3(NXDOMAIN)
$ host -t A dc1.samdom.example.com.
Host dc1.samdom.example.com. not found: 3(NXDOMAIN)

Я в некоторой растерянности.

Несколько вещей, которые следует отметить. Статический IP моей машины Ubuntu в моей локальной сети — НЕ 192.168.1.1 (IP, который я использовал в шагах конфигурации выше). Это 192.168.1.20. Я пробовал использовать этот IP, но безрезультатно.

Я также пробовал использовать none, 192.168.1.1и 8.8.8.8как DNS forwarder IP addressво время настройки, но безрезультатно.

Я нашел несколько статей в Интернете, предлагающих различные решения или дополнительные тестовые функции, но пока не нашел ничего, что решило бы мою проблему.

В конце концов, я хотел бы настроить Samba для работы в качестве

решение1

Я установил Samba на Debian 9 только с

apt install samba

и получил тот же сбой. Пришлось добавить winbind (и smbclient)

apt install winbind  

решение2

  1. Убедитесь, что все зависимости, перечисленные для вашей ОС на веб-сайте Samba, установлены правильно.
  2. Убедитесь, что используемый IP-адрес /etc/hostsпринадлежит самому устройству, а не маршрутизатору или другому оборудованию.
  3. Используйте тот же IP-адрес /etc/resolv.conf.
  4. В /etc/hostsимени машины в примере это DC1.Это имя должно совпадать с именем машины, чтобы последние команды работали. Если имя вашей машины это то DC1все готово, в противном случае замените DC1на имя вашей машины.
  5. Чтобы обеспечить постоянный доступ в Интернет после запуска Samba, используйте DNS IP, к которому у вас есть доступ, когда вас попросят ввести «DNS forwarder IP address». Для этого может потребоваться использовать LAN IP вашего маршрутизатора.

решение3

установить winbind

sudo apt install winbind

это решило мою проблему

Связанный контент