我有几台 Windows 计算机和两台 Mac 计算机,它们都位于同一个路由器上。Windows 计算机可以通过主机名很好地找到彼此,因此例如 UNC 路径 \\HOSTNAME\SHARE 可以无错误地解析。我猜 Windows 计算机仍在使用某种类型的 TCP/IP 上的 NetBIOS 来实现这一点,它们肯定正在向子网广播主机名解析请求。但是当我使用 Mac 时,如果我想通过 SMB 以 smb://HOSTNAME/SHARE 的形式连接到 Windows 共享,我必须“sudo vim /etc/hosts”来静态设置每台 Windows 计算机的 IP 地址。幸运的是,我的路由器在可浏览的表中公开了 DHCP 客户端http://192.168.1.1/DHCPTable.asp(<<此 URL 只能在我的网络上解析,或者如果您有 Cisco-Linksys E4200 或其他具有类似 Web 管理员和 192.168.1.0 子网的路由器,则此 URL 只能在您的网络上解析)。
无论如何,我只是想知道是否有某种方法可以在 Mac 上自动执行此操作,以便 DNS 解析通过某种可能执行 NetBIOS 或类似操作的可配置过滤器,或者以某种方式自动更新 /etc/hosts 中的条目。
我认为理想情况下路由器应该在动态 DNS 实现中执行此操作,以便 Mac 将优先将路由器作为其 DNS 解析器,并且路由器将首先检查其 DHCP 客户端表,但我不认为我的路由器会这样做。 (再次说明,它是 Cisco-Linksys E4200。)编辑:实际上,该路由器确实支持 DDNS,但它用于公共 DDNS,而不是像 WINS 那样的本地 DDNS。
有什么想法吗?
答案1
好的。我大概明白了。路由器确实执行本地动态 DNS,并且为本地 DHCP 客户端提供服务。
在 Mac 网络设置中的高级下,在 DNS 选项卡下,默认 DNS 服务器可能由 ISP 提供,因此是预定义的且呈灰色。单击“+”按钮将自动用您输入的内容替换(删除)它们。输入路由器 IP:
192.168.1.1 (or 192.168.2.1 or whatever the router's IP really is)
然后,对于“搜索域”区域,互联网提供商提供的默认域(在我的情况下是 ph.cox.net,因为我是凤凰城都市区的 COX 宽带用户)是预定义的并且是灰色的;单击“+”按钮将自动用您输入的内容替换(删除)它。输入相同的值:
ph.cox.net (again, except matching your own ISP's domain as was already showing)
再次单击“+”以在其上方添加另一个条目以输入:
local
打开终端并尝试 ping Windows 服务器。它应该解析为服务器名称。当地的。
最后,这就是我所得到的:
DNS Servers:
192.168.1.1
Search Domains:
local
ph.cox.net
跟进:不幸的是,这只适用于我的部分设备。我仍然无法解析 DHCP 客户端列表中显示的所有主机,实际上只能解析其中的几个。