我在使用 Samba 3 服务器作为域控制器以及许多(但不是全部)Windows 7 Pro PC 继承的网络上遇到问题。此处和此处描述的问题并不能解决我的问题。
在启动时,在某些 PC 上,我收到一条错误消息,指出此工作站和域控制器之间的信任关系失败。我的谷歌搜索解释了从域中删除/重新添加机器,这需要手动干预,有时不起作用。我一直在做的,因为这是间歇性的,即使系统当前登录正常,也是从每台 PC 上的提升命令提示符运行以下命令:echo 192.168.0.3 smb > c:\windows\system32\drivers\etc\lmhosts
. 然后我重新启动,然后错误就消失了。
奇怪的是,有时它只是假设我的服务器位于不同的 IP 地址。计算机有时认为 SMB 服务器192.168.0.1
不是192.168.0.3
. 我可以验证这一点,因为当我这样做时net use \\smb
,我会得到一个Network name not found
,但我可以 ping 它并获得正确的地址。当我执行 anew view \\smb
时,它会转到旧服务器(现在是 192.168.0.1,虽然从来没有这个名字)。这样做net view \\192.168.0.3
会显示正确的服务器,然后让我只登录一次 Windows,直到重新启动。
我的问题是我需要弄清楚为什么会发生这种情况,所以我不需要接触每台电脑。这是一个快速修复,一旦一切加载,但并不理想。以下是我testparm
在主域控制器上的命令的输出:
Load smb config files from /etc/samba/smb.conf
rlimit_max: rlimit_max (1024) below minimum Windows limit (16384)
Processing section "[netlogon]"
Processing section "[homes]"
Processing section "[Programs]"
Processing section "[Login]"
Processing section "[Windsor]"
Processing section "[Office]"
Processing section "[Admin]"
Processing section "[Student_Share]"
Processing section "[Tech_Tips]"
Processing section "[Tech_Apps]"
Processing section "[DropBox]"
Processing section "[SSS]"
Processing section "[JMC]"
Processing section "[DRC]"
Processing section "[FASD]"
Processing section "[CLA]"
Processing section "[YAPS]"
Processing section "[IMAGES]"
Processing section "[Printer_Drivers]"
Processing section "[Self_Serve]"
Loaded services file OK.
WARNING: You have some share names that are longer than 12 characters.
These may not be accessible to some older clients.
(Eg. Windows9x, WindowsMe, and smbclient prior to Samba 3.0.)
Server role: ROLE_DOMAIN_PDC
所有股票都正常。每个工作站上的时间都与域控制器匹配(NET TIME \\SMB /SET /Y
在启动脚本中),我只能以本地管理员身份登录。我可以在我的 Samba 服务器上寻找什么而不需要这种奇怪的解决方法?
网络上是否有备份 Samba 服务器运行,它也是 DNS 服务器?它是否一直在尝试为 WINS 选举自己?将操作系统级别更改为
240
使主 WINS 服务器获胜 (255)。尝试禁用备份 Samba 服务器。禁用并等待大约 24 小时后,机器是否连接正常?可以用来解决这个问题的工具:主要是 Debian 中包含的 smbfind 工具
您可能会遇到问题,部分原因是 Samba 3 DC 并没有真正使用 Windows 7 Pro 从头开始设计用于操作的 Active Directory 版本。Samba 3 本身不具备现代 AD 环境所依赖的 Microsoft 特定的 Kerberos 或 DNS 可操作性。出于这个原因,我建议将您的域从 Samba 3 升级到 Samba4(链接用于就地升级),以利用更新后的 AD 兼容性,包括 Kerberos 和 DNS 功能,这可能会使您的 Win7 系统工作得更好,并且还提供诸如组策略之类的东西,使您不必反复触摸每个工作站来进行配置更改。
除此之外,在您当前的设置中,我想知道为什么您必须不断更改 LMHOSTS 文件?当您运行该命令时,它是否会以某种方式发生变化?在执行此操作之前,您是否检查过它的内容?如果您必须在每个工作站上手动配置名称解析,请查看与 LMHOSTS 相同目录中的 HOSTS 文件,并确保没有继续指向 192.168.0.1 服务器的条目。另外,您的 Win7 系统设置用于主/辅助 DNS 的地址是什么?它们是否仅指向 Internet 上的 DNS 服务器(例如,您的 ISP 或 Google 的服务器),还是有任何内部地址?
即使您确实选择升级 Samba,请注意,将使用对工作站上 HOSTS 或 LMHOSTS 文件的任何手动更改,而不是查询 DNS 以获取这些条目,因此您可能需要在每个工作站上进行清理(确保 HOSTS 仅具有的条目
127.0.0.1 localhost
)。