我使用 Samba 4 作为禁用 NetBIOS 的 AD DC,就像在 Windows 中一样。
Samba 文档说:
如果您计划设置比 Samba 更复杂的 DNS 设置,建议绑定为 DNS 后端4目前可以使用内部 DNS。
“更复杂的 DNS 设置”的阈值究竟是多少?
我计划在小型企业网络的 CentOS 6.4 服务器上使用它来访问 Internet,并允许通过几个不同的名称和 IP 地址通过 HTTP 访问主服务器。目前,我们已经设置了一台 Windows 服务器来执行此任务并正在迁移。
这是否足够复杂以至于需要 Samba 的内部 DNS,或者安装 BIND 会更好吗?
答案1
如果您要提供 DNS(主机名,包括您在互联网上可见的域名)并希望将其从 Windows 服务器移开,您将有使用绑定。
SAMBA 3 及更早版本仅通过 NetBIOS(仅是本地子网,通常仅由 Windows 客户端使用)提供名称解析,并且不会将这些名称广泛提供给互联网,因为这只能通过绑定(或任何其他名称服务器程序)。
编辑正如 Kev 所指出的,Samba 4 似乎在启用“Samba 目录”(试图取代 Windows 的活动目录)时,启用了一个基本的 DNS 服务器来处理“Samba 目录”的请求。我仍然怀疑,如果您的客户大量使用互联网上的不同域,那么使用 BIND 可能会更好(对 AD 域进行转发,并对互联网的其余部分进行缓存)。
这并不能很好地回答“门槛”问题,但这肯定是 Samba 团队可以澄清的吗?
答案2
从它提供的功能来看,它看起来相当基本。它可以针对单个域执行查找。您bind
可以使用单一实例为多个域提供服务,并进行更复杂的设置。
Samba 4 的实现确实使您能够将额外的服务器链接到混合中,这样您就可以通过 Samba 4 完成一些解析,并且对于它无法解析的任何内容,它可以将这些请求转发到另一台服务器,但它仍然限于一个域名。
您可以通过将这些行添加到您的/etc/samba/smb.conf
:
dns recursive queries = yes
dns forwarders = 192.168.1.5
根据您的描述,还不足以确定您是否可以/不能仅使用 Samba 4 DNS 服务器,我认为主要的突破点与您如何在服务器以及任何虚拟主机上使用域名有关您可以在 HTTP 服务中进行设置。
例如,我有一个相当复杂的设置,在单个 Apache 实例上托管多个域名。然后,我使用这些名称的形式来访问后端服务器,例如使用用于访问 HTTP 服务器的域的形式的数据库。
因此,如果有人进入并访问 www.somedom.com,他们将获得其内容,并且 HTTP 服务器将使用名称 db.somedom.com 访问数据库服务器。
为了实现这一点,我在 DNS 绑定实例中设置了多个域来促进这一点。
答案3
这些是来自的限制内部后端的 Samba wiki:
内部 DNS 不支持:
- 充当缓存解析器
- 递归查询
- 共享密钥交易签名 (TSIG)
- 存根区域
- 区域转移
- 通配符 DNS 条目
“简单的 DNS 设置”读作什么Samba 内部后端能够,由以下内容组成:
- 1 个域、1 个域控制器 (DC)
- 所有工作站都加入域
- DC能够访问Internet DNS服务器
- 支持 Kerberos 安全的 DNS 更新 (Windows
ipconfig /registerdns
) 或类似的 - Active Directory (AD) 林中没有信任或其他域
- 仅允许基本类型的 DNS 记录 (
A
,AAAA
,CNAME
,MX
,NS
,SRV
,TXT
)。
其他一切都是“更复杂的 DNS 设置”。