Как решить проблемы с подключением к Samba4 Active Directory Domain Controller на экземпляре Ubuntu Micro AWS

Вопрос или проблема

Я пытаюсь настроить контроллер домена Active Directory на экземпляре Ubuntu 16.04 в службах EC2 от Amazon. Я делаю все правильно (следуя по крайней мере трем различным учебникам) и все тесты на стороне сервера проходят успешно. Моя последняя попытка была с использованием этого учебника: https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller (хотя я получил список установки kerberos из Шага 2 https://www.tecmint.com/install-samba4-active-directory-ubuntu/).

Но когда я пытаюсь подключиться с Windows 10 (как объясняется здесь https://wiki.samba.org/index.php/Windows_DNS_Configuration), я получаю следующую ошибку:

Примечание: Эта информация предназначена для сетевого администратора. Если вы не являетесь администратором вашей сети, уведомите администратора о том, что вы получили эту информацию, которая была записана в файл C:\Windows\debug\dcdiag.txt.

DNS был успешно опрошен для записи ресурса расположения службы (SRV), используемой для поиска контроллера домена для домена “ad.company.com.my”:

Запрос был на запись SRV для _ldap._tcp.dc._msdcs.ad.company.com.my

Следующие контроллеры домена были определены в результате запроса: dc1.ad.company.com.my

Однако ни один контроллер домена не смог быть найден.

Распространенные причины этой ошибки включают:

  • Отсутствуют записи Host (A) или (AAAA), которые сопоставляют имена контроллеров домена с их IP-адресами, или они содержат неверные адреса.

  • Контроллеры домена, зарегистрированные в DNS, не подключены к сети или не работают.

Моя настройка: Экземпляр AWS Micro, работающий на Ubuntu 16.04 LTS. Установлен эластичный IP-адрес, чтобы у меня был статический IP-адрес для сервера.

Клиент Windows — это виртуальная машина. У него установлен публичный IP-адрес экземпляра Amazon согласно инструкции на вики Samba (https://wiki.samba.org/index.php/Windows_DNS_Configuration).

Все это работает:
host -t A ad.company.com.my
host -t A dc1
ping -c3 ad.company.com.my
ping -c3 dc1.ad.company.com.my

Конфигурационные файлы:

/etc/network/interfaces:

# Этот файл описывает сетевые интерфейсы, доступные на вашей системе
# и как их активировать. Для получения дополнительной информации см. interfaces(5).

# Интерфейс обратной связи
auto lo 
iface lo inet loopback 

# Исходные интерфейсы 
# Пожалуйста, проверьте /etc/network/interfaces.d перед изменением этого файла 
# так как интерфейсы могли быть определены в /etc/network/interfaces.d 
# См. LP: #1262951 
# source /etc/network/interfaces.d/*.cfg 

auto eth0 
iface eth0 inet static 
address 172.31.36.46 
netmask 255.255.240.0 
broadcast 172.31.47.255 
gateway 172.31.32.1 
dns-nameserver 172.31.36.46 
# dns-nameserver 172.31.0.2 
# dns-nameserver 8.8.8.8 
dns-search ad.company.com.my 

/etc/hosts:

127.0.0.1 localhost localhost.localdomain 
172.31.36.46        dc1.ad.company.com.my   dc1 

# Следующие строки желательны для хостов, поддерживающих IPv6 
::1 ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 
ff02::3 ip6-allhosts 

/etc/resolv.conf

# Динамический файл resolv.conf(5) для резольвера glibc(3), сгенерированный resolvconf(8) 
#     НЕ РЕДАКТИРУЙТЕ ЭТОТ ФАЙЛ РУЧКИ -- ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕПИСАНЫ 
nameserver 172.31.36.46 
search ad.company.com.my 

/etc/hostname

dc1 

/etc/krb5.conf

[libdefaults] 
    default_realm = AD.COMPANY.COM.MY 
    dns_lookup_realm = false 
    dns_lookup_kdc = true 

/etc/samba/smb.conf

[global] 
    workgroup = AD 
    realm = AD.COMPANY.COM.MY 
    netbios name = DC1 
    server role = active directory domain controller 
    dns forwarder = 8.8.8.8 
    idmap_ldb:use rfc2307 = yes 

[netlogon] 
    path = /var/lib/samba/sysvol/ad.company.com.my/scripts 
    read only = No 

[sysvol] 
    path = /var/lib/samba/sysvol 
    read only = No 

Вот вывод команды: nslookup dc1.ad.company.com.my

Сервер:  ec2-ADDRESS.ap-southeast-1.compute.amazonaws.com 
Адрес:  ADDRESS 

Имя:    dc1.ad.company.com.my 
Адрес:  172.31.36.46 

А затем проверка SRV:

C:\Users\user>nslookup 
Сервер по умолчанию:  ec2-ADDRESS.ap-southeast-1.compute.amazonaws.com 
Адрес:  ADDRESS 

> set type=SRV 
> _ldap._tcp.ad.company.com.my 
Сервер:  ec2-ADDRESS.ap-southeast-1.compute.amazonaws.com 
Адрес:  ADDRESS 

_ldap._tcp.ad.company.com.my    SRV расположение службы: 
          приоритет       = 0 
          вес            = 100 
          порт           = 389 
          svhostname     = dc1.ad.company.com.my 

Я открыл весь трафик на экземпляре, чтобы убедиться, что это не проблема с межсетевым экраном.

Итак, что я делаю не так?

В качестве временного решения добавьте или обновите в хосте Windows 10 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\AllowSingleLabelDnsDomain на 1. Затем перезагрузите Windows 10 и попробуйте добавить в домен с использованием имени netbios (в вашем случае, похоже, вам нужно использовать AD)

Ответ или решение

Чтобы решить проблемы с подключением к контроллеру домена Samba4 Active Directory на экземпляре Ubuntu Micro AWS, необходимо рассмотреть несколько моментов, основанных на предоставленных вами данных. Подборка инструкций и возможных решений направлена на устранение ошибок, с которыми вы столкнулись.

1. Обновление конфигурации DNS

Исходя из сообщения об ошибке, Windows клиент успешно находит SRV запись для вашего контроллера домена dc1.ad.company.com.my, но затем сообщает, что не может установить с ним связь. Это может указывать на проблемы с конфигурацией DNS или сетевым доступом.

Проверьте настройки DNS:

  • Убедитесь, что Windows клиент использует правильный DNS-сервер. В вашем случае, это должен быть IP адрес вашего экземпляра (172.31.36.46).
  • В случае наличия других DNS-серверов (например, 8.8.8.8), попробуйте временно отключить их и оставить только локальный.

Для этого в Windows выполните команду:

ipconfig /all

Убедитесь, что DNS-сервер, указанный в IP конфигурации, соответствует вашему контроллеру домена.

2. Убедитесь в доступности порта

Порт, используемый для LDAP (389), должен быть открытым на вашем экземпляре AWS. Выший уровень безопасности в AWS требует создания правил доступа.

Проверьте настройки безопасности AWS:

  • Войдите в консоль управления AWS.
  • Перейдите к Security Groups и убедитесь, что входящие правила позволяют трафик на порт 389 (LDAP), а также на порт 88 (Kerberos), 135 (RPC), 445 (SMB), и другие, если они нужны.

3. Тестирование подключения

Запустите команду telnet из Windows машины:

telnet dc1.ad.company.com.my 389

Если подключение невозможно, значит, что-то мешает соединению. Это может быть вызвано фаерволом, сетевыми ACL или фактическим состоянием службы.

4. Проверка статуса Samba и Kerberos

Убедитесь, что службы Samba и Kerberos работают корректно.
Запустите на сервере команды:

systemctl status samba-ad-dc
klist

Проверьте, нет ли ошибок, связанных со службой.

5. Редактирование реестра Windows

Как временное решение, вы можете изменить реестр на вашем Windows клиенте. Это позволит вашему клиенту подключаться к контроллеру домена с именем, состоящим лишь из одного слова (обратите внимание, что это временное и потенциально небезопасное решение):

  1. Откройте редактор реестра (regedit).
  2. Перейдите по пути:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
  3. Найдите параметр AllowSingleLabelDnsDomain и установите его значение в 1.
  4. Перезагрузите компьютер.

После этого попробуйте подключиться к домену, используя NetBIOS имя вашего контроллера (в вашем случае, "DC").

Итоги

Следуя указанным шагам, вы сможете устранить препятствия на пути подключения Windows клиента к вашему Samba4 Active Directory контроллеру на Ubuntu AWS. Проверьте настройки DNS, откройте необходимые порты, убедитесь, что службы работают, и корректно настройте реестр Windows. Если ни один из описанных шагов не разрешит проблему, возможно, стоит проверить логи Samba для получения дополнительной информации и устранения возможных ошибок.

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

Капча загружается...