我正在尝试让 Samba 在 Debian 机器上作为 AD-DC 工作,但运气不佳,在禁用 nmbd 和 smbd 服务后,我设法启动并运行 Samba-ad-dc 服务,但现在当我尝试让我的 Win 7 机器搜索域时,却找不到任何域。
另外,如果我登录到 Debian 机器并执行smbclient -L localhost -U%
它,则会给出session setup failed: NT_STATUS_INTERNAL_ERROR
。
这是我的/etc/samba/smb.conf
# Global parameters
[global]
netbios name = SERVERNAME
realm = SERVERNAME.DOMAIN.LAN
workgroup = SERVERNAME
dns forwarder = 192.168.168.1
server role = active directory domain controller
idmap_ldb:use rfc2307 = yes
[netlogon]
path = /var/lib/samba/sysvol/servername.domain.lan/scripts
read only = No
[sysvol]
path = /var/lib/samba/sysvol
read only = No
我的最终目标是将此服务器用作 AD-DC、文件服务器和电子邮件服务器。所以现在我想知道如何让 Windows 客户端找到域并注册到该域。
编辑:
这是我的/etc/krb5.conf
[libdefaults]
default_realm = DOMAIN.LAN
dns_lookup_realm = false
dns_lookup_kdc = true
答案1
我今天也遇到了这个问题:)。
问题是,您还需要在 AD-DC 上安装 winbind 包,smbclient 命令才能正常工作(它不是 samba 包的依赖项,因此如果您刚刚安装了 samba,它就不会被拉入)。我认为 AD-DC 不一定需要 winbind(从我对一些阅读材料的简要浏览来看),但如果没有安装 winbind 包,针对 AD-DC 的 -L 命令似乎无法在该设置上运行。
为了使上述 smbclient 命令正常工作并且不出现 AD-DC 上的内部错误,还可以执行以下操作:
apt install winbind
service winbind stop
service winbind disable
service samba-ad-dc restart
答案2
smb.conf 的“realm”可能存在问题。如果
netbios name = SERVERNAME
那么您应该从领域中删除“SERVERNAME。”:
realm = DOMAIN.LAN
你可以发布内容/etc/krb5.conf
并尝试
kinit administrator
然后
klist
您还可以采取以下措施进行故障排除:启动具有更高调试级别的 smbclient 命令来尝试找到问题:smbclient -d 3 -L localhost -U%
并检查日志中是否有任何错误消息(如有必要,您可以log level = 3
在 smb.conf 的全局部分添加“ ”以使其更详细):
journalctl -u samba-ad-dc