好的情况是这样的。
昨天,我公司更换了 DNS 服务器,因为之前的服务器太不稳定,无法使用。今天我去了我们的一台 Mac 服务器,因为新的 DNS 服务器需要对其进行配置。因此,我尝试登录本地管理员,因为由于域名转移,它无法找到网络帐户服务器,但尝试登录时它就冻结了。
好吧,所以我去了我们的服务器机房,在本地查看了一下。我尝试登录本地管理员,但又卡住了。所以我尝试拔掉网线,突然间我就可以正常登录了。
我再次尝试通过 vnc 登录,但它就挂了。这比冻结要好,但仍然是一个问题。所以我在本地登录。转到系统偏好设置来编辑网络帐户服务器的路径,这样 mac 服务器就可以再次找到它,但是当我转到登录选项时,它就冻结了系统偏好设置。
所以我来回重启了一段时间,终于编辑了网络帐户服务器的路径,但是当我输入它时,mac 服务器只是说网络帐户服务器没有响应,尽管所有其他计算机(包括 linux 和 mac)都在正常使用它。我尝试更新,在没有网络的情况下重新启动。尝试了网络帐户服务器的 FQDN、ip 和主机名,但都不起作用。
有人知道发生了什么事吗?因为我真的不知道除了重新安装系统之外还能做什么,如果可能的话我想避免这种情况。
答案1
简短回答:确保新的 DNS 服务器具有(或可以快速解析)Mac 服务器的正向(名称 -> IP)和反向(IP -> 名称)条目。
长答案:OS X Server 倾向于通过 DNS 查找自身,即使对于您根本不希望 DNS 参与的事情也是如此。(我认为这是通过反向查找其主 IP 地址来检查其自身主机名的副作用。)如果查找成功,它会在本地缓存,并且一切正常。如果它立即失败(例如网络断开连接,或者 DNS 服务器立即给出 NXDOMAIN),服务器不会完全满意,但至少您可以做一些事情。
如果 DNS 查找超时,则每次服务器软件的某个部分决定检查其主机名(或正在执行的任何操作)时,您都必须一次又一次地等待它超时。它会显示冻结,但如果您等待的时间足够长,它最终会让您执行操作,但每一步都需要您等待一个或多个 DNS 超时期。
要从 Mac 检查 DNS 解析,请登录(如果需要,请拔下网络),打开终端,重新插入网络,然后运行:
host [hostname] # host queries DNS directly, bypassing the system resolver and cache
host [ipaddress]
dscacheutil -q host -a name [hostname] # dscacheutil uses the system resolver and cache
dscacheutil -q host -a ip_address [ipaddress]
如果其中任何一个没有立即返回,则表示您的 DNS 尚未正常工作。
答案2
问题出在 YP 绑定。它仍然认为应该从旧 IP 获取 OD 帐户,所以这就是它找不到它们的原因。
我删除了 /var/yp/binding/ 中与域关联的文件并重新启动了系统。现在,该机器可以正常使用 ssh 并从 gui 登录。