我们目前已设置一个 NAC 服务器,使用 ntlm_auth 实用程序针对 Samba4 AD 进行身份验证,并希望使其对网络中断具有更高的容忍度。
目前,当 NAC 失去与 Samba4 Active Directory 的连接时,每次登录尝试都会失败。这种情况过去是可以接受的,但现在我们的网络拓扑发生了变化,问题变得更加严重。
我已根据 Samba 文档在 NAC 和 Samba4 AD 的 smb.conf 中添加了“winbind offline logon = true”。
为了测试离线身份验证,我添加了两个 iptables 规则,丢弃发往 Samba4 Active Directory 服务器的所有流量。
当我尝试使用 winbind 进行身份验证时,它按预期工作:
16:52:11-root@hq-networkserv@-
/var/log/samba: wbinfo -K COMPANY\\super-user%superpassword
plaintext kerberos password authentication for [COMPANY\super-user%superpassword] succeeded (requesting cctype: FILE)
user_flgs: NETLOGON_CACHED_ACCOUNT
credentials were put in: FILE:/tmp/krb5cc_0
另一方面,如果我尝试使用以下选项使用 ntlm_auth,则会失败:
16:52:35-root@hq-networkserv@-
/var/log/samba: ntlm_auth --use-cached-creds --username=super-user --password=superpassword --domain= COMPANY
NT_STATUS_NO_LOGON_SERVERS: No logon servers (0xc000005e)
NAC 服务器已加入 Samba4 域,只要保持连接,一切工作正常。我理解,这个提议的解决方案只允许对之前已验证的客户端进行验证,但这已经是一个巨大的改进。
在无法像 winbind 那样连接到 AD 的期间,有没有什么方法可以让 ntlm_auth 成功进行身份验证?