Windows-Server-2008-R2
無法通過主機名或 FQDN 訪問 samba 共享,只能通過 Windows 2008 R2 域上的 IP
我有一個帶有 Samba 4.6.2 的 CentOS 7 伺服器,加入了 Windows Server 2008 R2 域,並且無法使用伺服器的主機名或 FQDN 從 Windows 訪問任何共享,只能通過 IP 地址。
我已經驗證 DNS 正在使用 nslookup 進行伺服器到客戶端、客戶端到伺服器,並驗證了所有 SRV 記錄以在 samba 伺服器上進行 AD 解析。
當我嘗試使用主機名或 FQDN 時,Windows 將顯示錯誤“登錄失敗:目標帳戶名稱不正確”,並且客戶端的 samba 日誌顯示以下內容:
[2017/09/28 13:04:00.119699, 3] ../source3/smbd/oplock.c:1322(init_oplocks) init_oplocks: initializing messages. [2017/09/28 13:04:00.119899, 3] ../source3/smbd/process.c:1957(process_smb) Transaction 0 of length 159 (0 toread) [2017/09/28 13:04:00.119956, 3] ../source3/smbd/process.c:1538(switch_message) switch message SMBnegprot (pid 15584) conn 0x0 [2017/09/28 13:04:00.120920, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [PC NETWORK PROGRAM 1.0] [2017/09/28 13:04:00.120968, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [LANMAN1.0] [2017/09/28 13:04:00.120999, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [Windows for Workgroups 3.1a] [2017/09/28 13:04:00.121026, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [LM1.2X002] [2017/09/28 13:04:00.121053, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [LANMAN2.1] [2017/09/28 13:04:00.121080, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [NT LM 0.12] [2017/09/28 13:04:00.121107, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [SMB 2.002] [2017/09/28 13:04:00.121133, 3] ../source3/smbd/negprot.c:603(reply_negprot) Requested protocol [SMB 2.???] [2017/09/28 13:04:00.121348, 3] ../source3/smbd/smb2_negprot.c:290(smbd_smb2_request_process_negprot) Selected protocol SMB2_FF [2017/09/28 13:04:00.124041, 3] ../source3/smbd/negprot.c:730(reply_negprot) Selected protocol SMB 2.??? [2017/09/28 13:04:00.135575, 3] ../source3/smbd/smb2_negprot.c:290(smbd_smb2_request_process_negprot) Selected protocol SMB2_10 [2017/09/28 13:04:00.150178, 1] ../source3/librpc/crypto/gse.c:646(gse_get_server_auth_token) gss_accept_sec_context failed with [Unspecified GSS failure. Minor code may provide more information: Request ticket server cifs/rack14.svsn.int@SVSN.INT not found in keytab (ticket kvno 10)] [2017/09/28 13:04:00.161945, 3] ../source3/smbd/server_exit.c:246(exit_server_common) Server exit (NT_STATUS_CONNECTION_RESET) [2017/09/28 13:04:00.179981, 3] ../source3/smbd/oplock.c:1322(init_oplocks) init_oplocks: initializing messages. [2017/09/28 13:04:00.180172, 3] ../source3/smbd/process.c:1957(process_smb) Transaction 0 of length 108 (0 toread) [2017/09/28 13:04:00.198458, 3] ../source3/smbd/smb2_negprot.c:290(smbd_smb2_request_process_negprot) Selected protocol SMB2_10 [2017/09/28 13:04:00.214297, 1] ../source3/librpc/crypto/gse.c:646(gse_get_server_auth_token) gss_accept_sec_context failed with [Unspecified GSS failure. Minor code may provide more information: Request ticket server cifs/rack14.svsn.int@SVSN.INT not found in keytab (ticket kvno 10)] [2017/09/28 13:04:00.227012, 3] ../source3/smbd/server_exit.c:246(exit_server_common) Server exit (NT_STATUS_CONNECTION_RESET)
桑巴配置:
[global] workgroup = DOMAIN realm = DOMAIN.LOCAL security = ads template homedir = /home/%U template shell = /bin/bash kerberos method = secrets and keytab winbind use default domain = true winbind offline logon = true idmap config * : backend = nss idmap config * : range = 3000-7999 idmap config DOMAIN : backend = ad idmap config DOMAIN : default = yes idmap config DOMAIN : range = 10000-1000000 idmap config DOMAIN : schema_mode = rfc2307 winbind nss info = rfc2307 winbind enum users = yes winbind enum groups = yes winbind nested groups = yes log file = /var/log/samba/log.%m log level = 3 max log size = 50 client use spnego = yes load printers = no cups options = raw printcap name = /dev/null
我不確定我錯過了什麼或還有什麼要解決的問題。重新加入域甚至清除 samba 配置都沒有幫助。我還手動將 cifs 添加到 keytab 但即使正確,Windows 也會繼續提示輸入使用者名和密碼。有任何想法嗎?
您的 Kerberos 設置已損壞。
從日誌:
Request ticket server cifs/rack14.svsn.int@SVSN.INT not found in keytab (ticket kvno 10)
。如果 Kerberos 不可行,似乎還有第二種身份驗證方法。如果您通過 IP 地址訪問,則使用第二種方法。這是因為 Kerberos 只能與 DNS 結合使用。
如果您通過 DNS 名稱訪問,Kerberos 會嘗試進行身份驗證並失敗。
我想您檢查所有機器(客戶端、伺服器、Kerberos 伺服器)的 DNS 條目。還要檢查 DNS 反向條目。之後生成一個新的密鑰表。