首先介绍一下背景:
我们的小型企业曾经为我们的域名运行自己的绑定/命名名称服务器:
- ns0.mydomain.com
- ns1.mydomain.com
这些服务器位于我们的服务器机房内,可通过互联网访问。任何向whatever.mydomain.com,将从这些服务器获取他们的 DNS 信息,然后他们可以连接到正确的 IP 地址,无论是我们的安全FTP/SSH服务器,我们的VPN服务器,我们内部托管网站, ETC...
正如我刚才提到的,我们的网站也是内部托管的。当互联网上的任何人想访问我们的网站时:http://www.mydomain.com,他们将浏览托管在我们机房服务器中的网站上。
最近,为了节省资金并避免停机麻烦,我们已改用去吧爸爸托管我们的网站。我们还选择使用GoDaddy 的名称服务器。
通过这些更改,我们摆脱了内部网络服务器,因为它不再需要。我们还关闭了对我们 DNS 服务器的外部访问,因为互联网上任何试图访问任何内容.mydomain.com将连接到GoDaddy 的名称服务器来获取该信息。
但是,我们仍然需要托管名称服务器以供内部使用。这样,Bob 就可以使用以下地址 ssh 到我们的其中一台服务器大服务器或者bigserver.mydomain.com。
现在问题就出现了。从网络内部,我们无法访问我们的网站(http://我的域名.com或者http://www.mydomain.com) 托管于去吧爸爸。我认为只需改变mydomain.com A 记录在我们的 DNS 服务器上指向 GoDaddy 托管网站的 IP 地址就足够了。但我们的浏览器找不到它。但是 IP 是可以 ping 通的。
我确信我遗漏了一些东西命名. 我远不是一个绑定/命名专家。我可以跌跌撞撞地完成它,但仅此而已。任何帮助都将不胜感激。
如果您需要我从我的命名配置中复制/粘贴某些关键信息,请告诉我。
答案1
这里要问的简单问题是;
当您 ping mydomain.com 或 www.mydomain.com 时返回什么 IP?
这是正确的地址吗?
如果没有,则说明您缓存了响应、没有重新加载区域或者没有正确编辑。
我认为响应现在应该是公共 IP 而不是私有 IP。
您还应该直接查询 DNS 服务器,而不是“ping”;
dig @dns_server_ip mydomain.com A
答案2
答案3
更新绑定区域的完整方法(假设不允许动态更新)是:
- 进行 A 记录更改
- 增加区域序列号
- 告诉命名重新加载区域
前两个步骤在区域文件中;第三个步骤是从 shell 运行的命令,通常
# rndc reload
...将会实现这一目标。
答案4
使用子域名作为内部 DNS 并在网站上托管。例如 internal.mydomain.com。bigserver 将是 bigserver.internal.mydomain.com
这样就不会再有内部DNS和外部DNS冲突了。