我公司的局域网中有一个 Windows Server 2008,用作 DNS 服务器。在同一个局域网中,有一个运行 redmine 网站的 Linux 服务器(192.168.1.85)我希望它是可访问的直接从局域网和互联网,只需使用此地址项目.xxx.com。
我的问题是,我经常项目.xxx.com无法从本地网络访问,大概需要 10 分钟,然后我将被重定向到公司的公共 IPxxx.xxx.121.254。参见下面的 wireshark 扫描。 然后经过一段时间,我终于能够访问服务器本地地址(192.168.1.85) 使用项目.xxx.com一切正常时,请参见下面的 wireshark 扫描: 在 Windows DNS 服务器上,我添加了一个正向查找区域如下所示: 以下是转发器和 Root 提示:
最后,所有 Windows 客户端都使用 Windows DNS 服务器,如下所示:
- 问题是否出在 DNS 服务器的配置上?
- 即使刷新 Windows DNS 缓存后(#ipconfig /flushdns) 同样的问题。
我将非常高兴能够得到有关这个问题的一些建议,谢谢。
附言:我的电脑ip是192.168.1.62
答案1
Windows DNS 中有一个选项,可以按照最接近客户端子网掩码的顺序返回结果。
在“高级”(如您的屏幕截图所示)中,取消选中“启用循环”并选中“启用网络掩码排序”,然后重新启动服务并刷新客户端/服务器缓存。
我发现 host project.xxx.com 返回的结果最好。如果 DNS 返回 IPv6 结果,则它们可能不适用于您的情况。
我无法从给出的信息中看出这一点,但最佳做法是创建一个 corpprivate.xxx.com 子域,这样 project.corpprivate.xxx.com 就会有 192.168.xx 地址,而 project.xxx.com 就会有公共 IP 地址。这也会消除问题,因为 nslookup project.corpprivate.xxx.com 只会返回 192.168.xx 地址,而 nslookup project.xxx.com 只会返回公共 IP。