我已经在 Ubuntu 18.04 LTS 上运行了 Samba 4 AD DC 设置。我使用本教程来使其工作:
https://www.tecmint.com/install-samba4-active-directory-ubuntu/
问题是我无法让我的 Windows 7 或 10 客户端连接到域。
这是我的krb5.conf
文件:
[logging]
default = FILE:/var/log/krb-def.log
kdc = FILE:/var/log/kdc.log
admin_server = FILE:/var/log/lrb-adm.log
[libdefaults]
default_realm = MVPOSERVER.LAN
[realms]
MVPOSERVER.LAN = {
default_domain = mvposerver.lan
kdc = adc1.mvposerver.lan:88
}
我的主机文件:
127.0.0.1 localhost
192.168.9.50 mvposerver
192.168.9.50 mvposerver.lan adc1 _kerberos._udp _ldap._tcp _ldap._tcp.dc._msdcs
192.168.9.50 adc1.mvposerver.lan
192.168.9.50 _kerberos._udp.mvposerver.lan
192.168.9.50 _ldap._tcp.mvposerver.lan
192.168.9.50 _ldap._tcp.dc._msdcs.mvposerver.lan
我的netplan
IP 配置是:
network:
version: 2
renderer: NetworkManager
ethernets:
enp1s0:
dhcp4: no
dhcp6: no
addresses: [192.168.9.50/24]
gateway4: 192.168.9.250
nameservers:
search: [mvposerver.lan]
addresses: [127.0.0.1, 192.168.9.250]
Samba 配置:
主机返回 IP:
# host -t A mvposerver.lan
mvposerver.lan has address 192.168.9.50
服务器的主机名是adc1
。klist
返回创建的管理员,因此它正在连接:
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
06/18/2019 15:34:17 06/19/2019 01:34:17 krbtgt/[email protected]
renew until 06/19/2019 15:34:14
并samba-tool
适用于用户列表:
# samba-tool user list
Administrator
krbtgt
Guest
但是连接 Windows 7 Pro 不会返回主机名上的 ping,也不会连接到控制器。如果我 ping 主机名mvposerver.lan
,它会返回服务器本身的 IP,但它不会解析它:
如果我 ping Samba NETBIOS 名称,它会返回一个 IP:
另外,我知道 Kerberos 正在运行,因为在 Windows 7 中,如果我创建我的域,mvposerver
它mvposerver.lan
确实会要求我使用凭据进行连接,但随后会出现错误:
一旦通过 DC 在 DNS 上,我也无法google.com
从 Windows 客户端 ping 或任何其他域名。我可以google.com
从终端中的 DC 服务器顺利 ping,也可以8.8.8.8
从客户端 ping,只是无法解析域。
编辑
我安装了 Bind9,设置了 DNS 记录,现在服务器无法 ping 自己的主机名,客户端也一样。但客户端现在有互联网了。
DNS 设置:
编辑2
我已经更新了我的 DNS 记录并使 DNS 正常工作,现在客户端可以访问互联网并能正确检测主机名:
因此现在客户端可以通过主机名很好地找到 DC,甚至可以找到主机名和 IP,但却找不到正在运行的 DC 软件,尽管 Samba 说它在那里。
答案1
这听起来像是 DNS 问题。我假设您显示的 hosts 文件在服务器上?这是用于服务器的 DNS 客户端组件,而不是用于服务器的 DNS 服务器组件。这也不会帮助其他客户端解析 AD 的 DNS。
您是否有托管 AD 的 DNS 区域的 DNS 服务器?如果没有,您需要一个,并且需要配置要加入域的客户端以使用它。
答案2
我会将其添加到 SAMBA 配置中:
在[全局]下添加:
最小协议 = SMB2
然后重新启动它。
(SMB1 已弃用)