Боюсь, мне нужна помощь. Я установил сервер аутентификации OpenLDAP + Kerberos, который безупречно работает в среде Linux. Клиенты Linux присоединяются к нему без каких-либо проблем, и я могу войти в систему с пользователями LDAP, используя учетные данные Kerberos.
Но мне нужна помощь, так как я пытаюсь подключить компьютер с Windows 10 к моему серверу аутентификации, но у меня это не получается.
Идея состоит в том, чтобы использовать OpenLDAP для создания и хранения всех личных данных, использовать Kerberos для аутентификации, хранения и управления паролями, а также использовать Samba для возможности подключения клиента к серверу.
Это мое Прямая зона DNS:
$TTL 172800
@ IN SOA dc01.domain.com. root.dc01.domain.com. (
2019112609
10800
3600
604800
86400)
IN NS dc01.domain.com.
_kerberos IN TXT DOMAIN.COM
_kerberos IN SRV 0 0 88 dc01.
_kerberos-adm._tcp IN SRV 0 0 749 dc01.
_kerberos-master IN SRV 0 0 88 dc01.
_kpasswd IN SRV 0 0 464 dc01.
_ldap._tcp IN SRV 0 0 389 dc01.domain.com
_ldap._tcp.dc._msdcs IN SRV 0 100 389 dc01.
dc01 IN A 192.168.10.10
krb01 IN A 192.168.10.40
nfs01 IN A 192.168.10.50
ns01 IN A 192.168.10.20
ntp01 IN A 192.168.10.30
domain.com IN A 192.168.10.10
И это обратная зона:
$TTL 172800
@ IN SOA dc01.domain.com. root.dc01.domain.com. (
2019112601
10800
3600
604800
86400)
IN NS ns01.domain.com.
1 IN PTR domain.com.
10 IN PTR dc01.domain.com.
10 IN PTR dc01.
20 IN PTR ns01.domain.com.
30 IN PTR ntp01.domain.com.
40 IN PTR krb01.domain.com.
50 IN PTR nfs01.domain.com.
Вот мой smb.conf:
# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
[global]
server max protocol = NT1
workgroup = domain.com
passdb backend = ldapsam:ldap://192.168.10.10:389
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
logon script = logon.bat
usershare allow guests = No
add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
dedicated keytab file = /etc/krb5.keytab
dns proxy = No
domain logons = Yes
domain master = Yes
encrypt passwords = Yes
kerberos method = dedicated keytab
local master = Yes
netbios name = dc01
os level = 65
preferred master = Yes
realm = DOMAIN.COM
security = ADS
server string = %h server (Samba %v)
wins support = Yes
ldap admin dn = cn=Administrator,dc=domain,dc=com
ldap suffix = dc=domain,dc=com
ldap group suffix = ou=group
ldap idmap suffix = ou=Idmap
ldap machine suffix = ou=Users
ldap user suffix = ou=people
ldap passwd sync = Yes
tls enabled = yes
tls keyfile = /certificados/key.pem
tls certfile = /certificados/permisoscert.pem
tls cafile = /certificados/CApermisos.pem
ldap ssl = Off
[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[profiles]
comment = Network Profiles Service
path = %H
read only = No
store dos attributes = Yes
create mask = 0600
directory mask = 0700
[users]
comment = All users
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/
[groups]
comment = All groups
path = /home/groups
read only = No
inherit acls = Yes
[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775
[netlogon]
comment = Network Logon Service
# path = /var/lib/samba/netlogon
write list = root
browseable = No
path = /home/netlogon
[Certificados]
comment = Certificados
inherit acls = Yes
path = /certificados
read only = No
username = vsamba
А здесь мой krb5.conf:
[libdefaults]
dns_canonicalize_hostname = false
rdns = false
default_realm = DOMAIN.COM
forwardable = false
proxiable = false
noaddresses = false
dns_lookup_realm = false
dns_lookup_kdc = false
allow_weak_crypto = false
[domain_realms]
[logging]
kdc = FILE:/var/log/krb5/krb5kdc.log
admin_server = FILE:/var/log/krb5/kadmind.log
default = SYSLOG:NOTICE:DAEMON
[dbmodules]
ldap = {
db_library = kldap
ldap_kerberos_container_dn = cn=krbContainer,dc=domain,dc=com
ldap_kdc_dn = cn=Administrator,dc=domain,dc=com
ldap_kadmind_dn = cn=Administrator,dc=domain,dc=com
ldap_service_password_file = /etc/openldap/ldap-pw
ldap_servers = ldapi://
}
[realms]
DOMAIN.COM = {
kdc = dc01
admin_server = dc01
database_module = ldap
}
когда я пытаюсь подключиться к домену из клиента Windows, я получаю следующее сообщение, хотя все мои поисковые запросы nslookup отвечают правильно:
Примечание. Эта информация предназначена для сетевого администратора. Если вы не являетесь администратором своей сети, сообщите администратору о том, что вы получили эту информацию, которая была записана в файле C: \ Windows \ debug \ dcdiag.txt.
DNS был успешно запрошен для записи ресурса местоположения службы (SRV), используемой для определения местоположения контроллера домена для домена «domain.com»:
Запрос был для записи SRV для _ldap._tcp.dc._msdcs.domain.com
Следующие контроллеры домена были идентифицированы запросом: dc01
Однако связаться с контроллерами домена не удалось.
Распространенные причины этой ошибки:
Записи хоста (A) или (AAAA), которые сопоставляют имена контроллеров домена с их IP-адресами, отсутствуют или содержат неправильные адреса.
Контроллеры домена, зарегистрированные в DNS, не подключены к сети или не работают.
Из-за этого «на всякий случай» добавил запись в файл хостов Windows:
192.168.10.10 dc01 domain controller
Я уже изменил regedit:
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters]
"DomainCompatibilityMode"=dword:00000001
"DNSNameResolutionRequired"=dword:00000000
Пожалуйста, кто-нибудь может мне помочь?
РЕДАКТИРОВАТЬ: Я заметил, что если я использую LDAPADmin из своей Windows 10 и подключаюсь к OpenLDAP, имя моего домена Samba соответствует имени NETBIOS, назначенному вместо имени домена, указанного в конфигурации.
dc01:/certificados # net getlocalsid
SID for domain DC01 is: S-1-5-21-396479993-587432702-1299926830
Он указывает на DC01 вместо DOMAIN.COM .... Но если я это сделаю, все будет выглядеть правильно, и он обнаружит PC02, который является клиентом, который еще не присоединился к домену из-за ошибки, указанной ранее:
dc01:/certificados # smbclient -L DC01
Enter vsamba@DOMAIN.COM's password:
Anonymous login successful
OS=[Windows 6.1] Server=[Samba 4.6.16-git.169.064abe062be3.46.1-SUSE-SLE_12-x86_64]
Sharename Type Comment
--------- ---- -------
profiles Disk Network Profiles Service
users Disk All users
groups Disk All groups
print$ Disk Printer Drivers
Certificados Disk Certificados
IPC$ IPC IPC Service (dc01 server (Samba 4.6.16-git.169.064abe062be3.46.1-SUSE-SLE_12-x86_64))
Anonymous login successful
OS=[Windows 6.1] Server=[Samba 4.6.16-git.169.064abe062be3.46.1-SUSE-SLE_12-x86_64]
Server Comment
--------- -------
Workgroup Master
--------- -------
DOMAIN.COM DC01
WORKGROUP PC02
Огромное спасибо. С уважением.