如何解析我的 Windows / Linux 网络上的主机名?

如何解析我的 Windows / Linux 网络上的主机名?

我有一个小型商业网络。我们在网络上有几台 Windows 机器、一台基于 Linux 的 NAS 机箱和一台 Linux 机箱。所有设备都通过 DSL 路由器 (Netopia 3000) 连接到互联网。

我将其设置为 Netopia 作为 DHCP 服务器。

问题是我只能通过 IP 地址访问 Linux 机器,而不能通过主机名访问。当我们在该机器上安装 CentOS 时,我们选择了向 DHCP 服务器报告主机名的选项。但是它不起作用;我无法通过名称 ping 机器。

这很奇怪,因为基于 Linux 的 NAS 盒(DLink DNS-323)在 Windows 资源管理器中显示正常,而且我可以 ping 它。

我需要做什么才能让 Linux 机器显示出来?

答案1

您对 DNS 了解多少?DNS 是域名服务,它将名称转换为 IP 地址。如果您的网络内部目前有 DNS 服务器,则需要确保您的客户端正在使用它,并且 Linux 服务器中有条目。

如果没有,请设置一个。

如果不能,您将必须更新网络中每台机器上的 HOSTS 文件,然后在每次添加或更改主机名时更新它。

答案2

在 Linux 上安装 bind 并使用一些内部 DNS 名称进行配置,例如 -公司.loc将路由器或 ISP 的 DNS 定义为转发器。在所有工作站上将 Linux 的 IP 指定为 DNS。或者更好的是,将 DHCP 移动到 Linux 服务器并让其分发 IP 和 DNS 定义。

答案3

您需要设置本地 DNS 服务器来保存您计算机的记录,DHCP 不会这样做...假设这些计算机也需要使用互联网,您需要为您无法控制的域设置根提示,以便您的服务器知道在哪里请求 IP。

答案4

您需要一个 DNS 服务器和一个 DHCP 服务器来实现这一点。XP 中的 Windows 首先尝试基于 DNS 的解析,然后尝试 NetBIOS。因此,您可以轻松设置 DNS 服务器(在 CentOS 上最好使用 BIND)来解析这些名称。使用命令安装命名(这是 Red Hat 世界中 BIND 的名称)yum install named。例如,设置 DHCP 以将 DNS 后缀发送到客户端.local。之后,您应该在 BIND 中创建本地区域。如下所示/etc/named/host.local:` $ttl 38400

本地。在 SOA 服务器中。youremail.domain.com。(

                    1275728857
                    10800
                    3600
                    604800
                    38400 )

本地。IN NS 服务器

服务器 1 在 10.1.1.1 中

服务器2 在 10.1.1.2

`

named.conf.local 将使用此区域加载您的服务器,当您尝试访问 server1 时,DNS 将附加后缀,并完美解析 server1.local。DNS 设置后,请不要忘记调用service named restart以应用您的新配置。

相关内容