我有一台 Ubuntu Server 12.10,其中 Apache 充当 Web 服务器。
我必须通过 DEV01.local 的方式 ping 它,因为 DEV01 本身无法解析。
我想要一个子域名,比如redmine.DEV01.local。
我有一个从 ISP 获得的调制解调器/路由器,我认为它没有 DNS,但有 DHCP。
为了使 DEV01.local ping 正常工作,我必须在两台 Ubuntu PC 上安装 AVAHI-DAEMON。
是否可以在服务器中添加子域,而不必将其手动添加到所有 LAN PC 主机文件中?
答案1
这是可行的 - 但不是直接的(即它需要很好地掌握 DNS、DHCP 和路由 - 所有这些都是互补的组件 - DHCP 不会取代 DNS)
实现方法:
将服务器上的 IP 地址更改为静态 IP 地址。(即使您运行 DHCP,也应该这样做,因为它是一台服务器)
将工作站上的 IP 地址临时更改为静态 IP 地址(假设您的工作站不是服务器)
确保您的路由器有一条默认路由。
您可能需要临时将计算机上的 DNS 设置更改为 8.8.8.8(或其他名称服务器。8.8.8.8 是 Google 的,很容易记住)
安装并配置 DNSMasq 来处理 DHCP 和 DNS。互联网上有很多指南。一个简单的指南是 - http://wiki.debian.org/HowTo/dnsmasq
您可能需要将所需的主机名添加到运行 DNSMasq 的服务器上的 /etc/hosts 中(DNSMasq 可以读取 /etc/hosts 并将其添加到 DNS - 您可能需要调整设置以使其完全按照您的要求工作,但“开箱即用”的安装应该或多或少可以工作)
在路由器上禁用 DHCP。
将您的工作站改回使用 DHCP。
答案2
要使用子域名,您需要将 DNS 指向本地网络上的服务器。这意味着在您的网络上设置 DNS 服务器。您需要为 DEV01.local 配置正向查找区域、为任何子域名配置 CNAME 记录,并为 Internet 配置指向 8.8.8.8 的转发器。