Я пытаюсь настроить сервер Ubuntu с Samba 4 в качестве контроллера домена Active Directory и получаю сообщение об ошибке, когда пытаюсь подключиться с компьютера Windows.
Вот журнал ошибки Samba (я заменил имя своего домена для конфиденциальности):
[2014/07/04 15:09:48.437798, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: AS-REQ Administrator@mydomain.com from ipv4:10.8.0.14:36394 for krbtgt/mydomain.com@mydomain.com
[2014/07/04 15:09:48.442161, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: Client sent patypes: 128
[2014/07/04 15:09:48.442329, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: Looking for PK-INIT(ietf) pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442438, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: Looking for PK-INIT(win2k) pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442539, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: Looking for ENC-TS pa-data -- Administrator@mydomain.com
[2014/07/04 15:09:48.442658, 3] ../source4/auth/kerberos/krb5_init_context.c:80(smb_krb5_debug_wrapper)
Kerberos: Need to use PA-ENC-TIMESTAMP/PA-PK-AS-REQ
[2014/07/04 15:09:48.535053, 3] ../source4/smbd/service_stream.c:66(stream_terminate_connection)
Terminating connection - 'kdc_tcp_call_loop: tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED'
[2014/07/04 15:09:48.535219, 3] ../source4/smbd/process_single.c:114(single_terminate)
single_terminate: reason[kdc_tcp_call_loop: tstream_read_pdu_blob_recv() - NT_STATUS_CONNECTION_DISCONNECTED]
Однако, если я попытаюсь войти в систему локально, проблем не возникнет:
# smbclient //localhost/netlogon -U Administrator
Enter Administrator's password:
Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 4.1.6-Ubuntu]
smb: \> ls
. D 0 Mon May 26 12:54:45 2014
.. D 0 Mon May 26 12:56:28 2014
36484 blocks of size 8388608. 27650 blocks available
smb: \>
# kinit
Password for administrator@MYDOMAIN.COM:
Warning: Your password will expire in 5 days on jue 10 jul 2014 14:47:07 ART
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@MYDOMAIN.COM
Valid starting Expires Service principal
04/07/14 16:38:31 05/07/14 02:38:31 krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
renew until 05/07/14 16:38:24
В чем может быть проблема? Что означает ошибка «Необходимо использовать PA-ENC-TIMESTAMP / PA-PK-AS-REQ»?
Вот дополнительная информация, которая может быть важной.
Информация о сервере:
Содержание smb.conf
# Global parameters
[global]
workgroup = MYDOMAIN
realm = MYDOMAIN.COM
netbios name = COLLIE
server role = active directory domain controller
dns forwarder = 10.1.1.1
idmap_ldb:use rfc2307 = yes
log level = 3
[netlogon]
path = /var/lib/samba/sysvol/huntmob.com/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
# Sharing general
[files]
path = /var/lib/samba/usershares/files
read only = no
[todos]
path = /var/lib/samba/usershares/todos
read only = no
[dbox]
path = /var/lib/samba/usershares/dbox
read only = no
Информация о клиенте Windows
На этом этапе установки я работаю с виртуальной машиной под управлением Windows 7 Professional, которая размещена в блоке Kubuntu, который подключается через VPN к офису, где находится сервер Samba.
Я знаю, что это немного запутано, но только на этом этапе сервер Samba будет обслуживать только локальные машины Windows. Однако я не думаю, что это является причиной проблемы, поскольку окно Window, кажется, нормально достигает сервера Samba.
В соответствии с документация MS-KILE
Когда клиенты выполняют начальную аутентификацию на основе пароля, они ДОЛЖНЫ предоставить тип предварительной аутентификации PA-ENC-TIMESTAMP при создании исходного запроса AS.
Очевидно, ваш клиент Windows этого не делает.
Я не имею отношения к тому, чтобы хорошо знать сторону Windows, но, возможно, есть параметры «режима совместимости» для аутентификации, которые не должны быть включены для работы Samba 4.