我想要设置一个内部开发服务器(LAMP),我需要网络团队能够访问不同的开发站点,即:
example1.local example2.local example3.local 等等
来自网络内部。
我认为这与 DNS 有关?
答案1
解决方案 1:创建一个包含以下内容的“hosts”文件:
yourip example1.local
yourip example2.local
yourip example3.local
然后将此 hosts 文件复制到每个需要访问“.local”假域名的工作站
解决方案2:设置封闭视图的名称系统(只有您的网络可以查询)。
解决方案 3:在子域上尝试 ns 委派。
答案2
我在最近几个重要的开发服务器中已经做过这个了。
我使用 dbdns 在服务器上设置一个我控制的 DNS 服务器,并运行“tinydns”和“dnscache”程序。
在 tinydns 中,我设置了一个自定义/本地顶级 DNS 空间(/service/dnscache/root/data):
# Nameservers for the local TLDs
.virtual::ns.virtual
# an address for the machine
=virtual:192.168.1.100
=ns.virtual::192.168.1.100
# TLD and a second level DNS wildcard
+virtual:192.168.1.95:
+*.virtual:192.168.1.95:
# some have specific addresses
+fred.virtual:192.168.1.97
然后,我告诉 dnscache 在哪里寻找文件中的 *.virtual 域名:/service/dnscache/root/servers/virtual
# which IP address tinyDNS runs on
127.0.0.1
现在,转到 bill.virtual(或任何未具体给出的内容)将返回 192.168.1.95。
将 dnscache 服务器的地址设置为本地名称服务器,您也应该能够 ping bill.virtual 的地址 - 然后您可以使用 Apache 获取这些名称来为网站提供服务。
答案3
你需要使用基于名称的虚拟主机在您的 apache 配置中使 httpd 服务器根据 dns 对应的名称提供正确的网站服务。
为了使名称解析正常工作,如果您没有 DNS 服务器,您可以调整客户端工作站上的 hosts 文件。
希望这可以帮助。
答案4
虽然有很多方法可以实现这一点,但 DNS 是最好的,因为它将为您提供一个开放式系统,不需要对客户端进行任何更改。如果您已经拥有内部 DNS 服务器,只需创建一个具有适当设置和记录的新区域即可。
如果您还没有内部 DNS 服务器,您会发现 BIND 在 Linux 上安装和配置起来非常容易。如果您有 Windows 服务器,则可以在该服务器上使用 Windows DNS。