有没有什么技巧可以加入并使用带有 Samba 4 (4.1.6) 的 Windows 8/8.1?

有没有什么技巧可以加入并使用带有 Samba 4 (4.1.6) 的 Windows 8/8.1?

看来 Samba 根本不喜欢我。我按照各种教程操作,但还是无法让 Windows 8 以 Ubuntu Server 作为域控制器正常工作。本周我下载了 ubuntu 14.04 lts 并设置了快速域配置。像往常一样,所有其他 Windows 版本(XP 和 7)都可以运行,但最新的 M$ 噩梦却不行。在这次尝试中,它甚至没有加入域,一直说我的用户名或密码错误。

我的 /etc/samba/smb.conf

# Global parameters
[global]
        workgroup = DOMAIN
        realm = DOMAIN.LAN
        netbios name = DOM
        server role = active directory domain controller
        dns forwarder = 8.8.8.8
        idmap_ldb:use rfc2307 = yes

[netlogon]
        path = /var/lib/samba/sysvol/domain.lan/scripts
        read only = No

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No

[test]
        path = /SHARES/test
        read only = no

有人有真正有用的教程吗?因为我试过很多,每个都有不同的配置,只有制作它们的人才能使用。

有没有办法可以导入我的旧 AD 用户、计算机和 ID,而不需要重新加入所有计算机?

[编辑]

现在我已经测试了从 4.0.0(最终版本)到 4.1.9 的各个版本,所有版本都可以在 Windows 8.1 上运行。

确保访问控制列表属性安装并设置在/etc/fstab文件:

# / was on /dev/sda1 during installation
/dev/sda1 /               ext4    user_xattr,acl,barrier=1,errors=remount-ro 0       1

重新挂载使用:

mount -o remount,rw /

我还添加了胜利选择/etc/nsswitch.conf文件:

hosts:          files wins dns

配置域:

$ samba-tool domain provision --domain=domain --adminpass=Abc12345 --server-role=dc --realm=domain.lan --dns-backend=SAMBA_INTERNAL

/etc/samba/smb.conf:

/etc/samba/smb.conf

# Global parameters
[global]
    workgroup = DOMAIN
    realm = DOMAIN.LAN
    netbios name = DOM
    server role = active directory domain controller
    dns forwarder = 8.8.8.8

[netlogon]
    path = /var/lib/samba/sysvol/domain.lan/scripts
    read only = No

[sysvol]
    path = /var/lib/samba/sysvol
    read only = No

设置完整名称/etc/hosts

127.0.1.1 dom
192.168.0.2 dom.domain.lan dom

和 /etc/hostname:

dom.domain.lan

设置静态 IP 地址:

auto eth0
 iface eth0 inet static
 address 192.168.0.2
 netmask 255.255.255.0
 network 192.168.0.0
 broadcast 192.168.0.255
 gateway 192.168.0.1
 dns-nameserver 8.8.8.8 208.67.222.222
 dns-search domain.lan

并将生成的 /var/lib/samba/private/krb5.conf 复制到 /etc

答案1

假设 Samba 没有版本问题,请确保您的时钟在允许的阈值范围内。Time 多次给我带来了同样的问题。使用 4.1.7,我的 8 台机器和现在的 8.1 台机器能够加入和登录。

深入研究您的配置,问题可能出在领域上。

Windows 8 存在一个问题,微软提出了新的域名政策。当域名中包含点(“.”)时(例如 example.com),Windows 8 会将此名称视为 Active Directory 名称,并尝试联系 Kerberos/LDAP 服务器,即使没有。因此无法加入此域,目前尚无已知的修复或解决方法。

来源:https://wiki.samba.org/index.php/Registry_changes_for_NT4-style_domains#Windows_8_and_classic_domain_.28NT-4_style.29_with_a_dot_in_its_name

答案2

我对不同版本的所有测试都成功了。即使是测试版,包括 4.0.0beta2。我设法从 Debian 反向移植升级到版本 4.1.11,而没有破坏系统(呼)。解决了一些问题,但没有加入 Windows 8/8.1。所以经过一次又一次的测试,我们发现了问题。

在我的测试中起作用的原因是我用了仅将 Samba 服务器的 IP 地址用作虚拟机上的 DNS。在生产网络上,我们有一个主 DNS 和一个辅助 DNS,这是由于域而导致的问题。如果我们仅使用 samba 服务器 IP 作为 DNS,Windows 8/81 可以毫无问题地加入域。这会导致一个问题,即我们无法导航到内部页面/服务,如内部网和一些内部系统。

现在问题更大了,与 Windows 8/8,1 无关。我们必须更改领域名称。

如果你有一个像 mysite.com 这样的外部网站,那么它似乎是错误的:

samba-tool domain provision --realm=**mysite.com** --domain=mysite

而应该是这样的:

samba-tool domain provision --realm=ad.mysite.com --domain=mysite

smb配置文件

[global]
workgroup = MYSITE
realm = ad.mysite.com
netbios name = SHARES
dns forwarder = <one of your choice>
server role = active directory domain controller

感谢大家!

答案3

现已修复:我使用调试选项手动启动了 Samba,发现由于客户端和服务器之间的时间偏差,密码匹配失败(Kerberos 票证已过期)。修复时差后,客户端加入域(即使使用 Samba 4.1.6)...

相关内容