Bug 36497

Summary: Не разрешается имя сервера LDAP пр classicupgrade
Product: Sisyphus Reporter: Alex Moskalenko <mav>
Component: samba-DCAssignee: Evgeny Sinelnikov <sin>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: cas, iv
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on: 36496    
Bug Blocks:    

Description Alex Moskalenko 2019-04-03 10:09:33 MSK
При выполнении samba-tool domain classicupgrade возникает ошибка разрешения имени сервера LDAP, указанного в старом smb.conf:
INFO 2019-04-02 17:57:31,339 pid:6158 /usr/lib64/python3/site-packages/samba/upgrade.py #638: Next rid = 41412
Failed to connect to ldap URL 'ldap://smbldap.local/' - LDAP client internal error: NT_STATUS_BAD_NETWORK_NAME
Failed to connect to 'ldap://smbldap.local/' with backend 'ldap': LDAP client internal error: NT_STATUS_BAD_NETWORK_NAME
ERROR(<class 'samba.provision.ProvisioningError'>): uncaught exception - ProvisioningError: Could not open ldb connection to ldap://smbldap.local/, the error message is: (1, 'LDAP client internal error: NT_STATUS_BAD_NETWORK_NAME')
  File "/usr/lib64/python3/site-packages/samba/netcmd/__init__.py", line 184, in _run
    return self.run(*args, **kwargs)
  File "/usr/lib64/python3/site-packages/samba/netcmd/domain.py", line 1663, in run
    useeadb=eadb, dns_backend=dns_backend, use_ntvfs=use_ntvfs)
  File "/usr/lib64/python3/site-packages/samba/upgrade.py", line 678, in upgrade_from_samba3
    raise ProvisioningError("Could not open ldb connection to %s, the error message is: %s" % (url, e))

В smb.conf он указан так: passdb backend = ldapsam:ldap://smbldap.local/

Если в smb.conf указать вместо имени IP-адрес, то classicupgrade завершается успешно.

При по предыдущим сообщениям видно, что ранее к серверу LDAP были успешные подключения - пользователи/группы/свободный RID были получены. Собственно имя smbldap.local успешно разрешается в адрес ping/host/...
Comment 1 Evgeny Sinelnikov 2019-04-03 11:28:09 MSK
Для воспроизведения нужны детали.
Можно ли получить настройки сети:
- вывод ip a
- /etc/resolv.conf
- /etc/hosts
?

Последние два файла интересны до и после успешного classicupgrade. Простое подозрение состоит в том, что samba в роли DC - сама себе DNS. А вот что было и как стало в данном случае - непонятно.
Comment 2 Alex Moskalenko 2019-04-03 11:53:04 MSK
Пожалуйста.

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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 4096
    link/ether 00:0c:29:2c:a5:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.11/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fe2c:a59c/64 scope link 
       valid_lft forever preferred_lft forever

cat /etc/resolv.conf
# Generated by resolvconf
# Do not edit manually, use
# /etc/net/ifaces/<interface>/resolv.conf instead.
search domain.main.office.local
nameserver 192.168.0.1

cat /etc/hosts
127.0.0.1	localhost.localdomain localhost

Содержимое файлов одинаково до и после classicupgrade. Повторюсь, имя LDAP-сервера разрешается на машине без каких-либо проблем. И процесс classicupgrade к нему успешно подключается - судя по tcpdump и тому, что пользователей/группы/SID/rid он успешно получил. А где-то в процессе, похоже, действительно пытается использовать себя. Хотя имя LDAP-сервера в создаваемый домен AD не входит.
Имя LDAP-сервера - ldap.main.office.local
Машина в момент classicupgrade имеет адрес dc0.domain.main.office.local
Создаваемый домен AD - ad.domain.main.office.local

PS доменные имена/адреса изменены, но общая структура сохранена.