我家里有一个局域网,位于路由器(Linksys WRT54G)后面。分配给 Linux 机器的 IP 地址是
192.168.0.101
192.168.0.102
192.168.0.103
路由器还连接到我的 ISP 提供的调制解调器,以访问互联网。现在,路由器已分配 IP 地址192.168.0.1
,并且还配置为开始192.168.0.100
使用 DHCP 协议分配 IP 地址。
现在我有一个应用程序需要为每台机器提供 FQDN(完全限定域名) - 类似于
phx1.mylocalnet.com
phx2.mylocalnet.com
phx3.mylocalnet.com
这可能吗?
答案1
...或者您可以让所有机器都使用动态分配的地址,并且:
- 拥有本地 DNS 服务器提供水平分割 DNS 服务,所有 DHCP 客户端均配置为在从 DHCP 服务器获取租约时向本地内容 DNS 服务器进行注册;或者
- 拥有本地 DNS 服务器,同样提供水平分割 DNS 服务,以及一个 DHCP 服务器(ISC 的 DHCP 服务器可以做到这一点。您的路由器的 DHCP 服务器可能不能。)来注册名称→地址映射本身与本地内容 DNS 服务器直接通信,这样 DHCP 客户端就无需再进行通信。
第二种方法的显著优势在于,只需要授予 DHCP 服务器执行 DNS 更新的权限,而不需要授予整个 LAN 上每台机器执行 DNS 更新的权限。 但它确实将您锁定在特定供应商的 DNS 服务器中。 BillThor 提到dnsmasq
,它是少数几个集内容 DNS 服务器和 DHCP 服务器于一体的软件之一。
答案2
查看dnsmasq
提供 DNS 并缓存 DNS 结果。您可以在一个系统上安装它,然后/etc/resolv.conf
为其他主机编辑。您可以使用dnsmasq
它来替换路由器作为 DHCP 服务器,也可以分配静态地址。对于服务器,我会分配固定地址,客户端无论哪种方式都可以。
答案3
首先,您需要先为它们分配静态 IP 地址,或者如果您的路由器支持,您可以使用 DHCP 服务器为它们分配一个保留的 IP 地址。我只会为它们分配 DHCP 服务器范围之外的 IP 地址,例如192.168.0.21-23
。这样 IP 地址就不会改变,也不会破坏下一步。其他发帖人没有提到这一点。
然后,除非您还想设置 DNS 服务器(我同意另一位发帖人的观点:Overkill),否则您将需要按照他的说法将条目添加到 HOSTS 文件中。
答案4
有几种方法可以做到这一点,其中一种方法是将一台机器设置为您的名称服务器(并让它告诉您的网络 phx1.mylcoalnet.com 是192.168.0.101
,等等)。这是一种不太老套的方法,但实施起来比较困难,而且可能有点矫枉过正。
一种更简单的方法是使用 hosts 文件欺骗托管 FQDN 应用程序的计算机(它存在于 Linux 和 Windows 下/etc/hosts
)Windir\system32\drivers\etc\hosts
。如果需要,您甚至可以在网络中的所有计算机上添加相同的条目。
这假设我对问题的理解是正确的,并且您实际上没有想要使用的真实域。如果我误解了你,那么解决方案仍然是第一个,除非你想将该 NS 设置为你的域的主要名称服务器。