我正在尝试在 Azure IaaS 中设置公共 DNS 服务器。我已成功创建服务器、安装 DNS 并配置我的权威区域。我已为 TCP 和 UDP 端口 53 配置了端点。Windows 防火墙目前已关闭,以用于测试目的。
当我执行 nslookup 并指定 localhost 时,一切正常。但是,当我执行 nslookup 并指定公共 IP 地址时,请求超时。
我应该采取什么步骤来诊断该问题?
答案1
如果我理解正确的话,你通过 DNS 服务器查找虚拟机的公共 IP 地址,然后收到错误“DNS 请求超时”。我建议你采取以下步骤来解决问题:
- 确保您的虚拟机上没有第三方防火墙软件。
- 确保您已正确设置 DNS 服务器。
- 您可以使用 nslookup 的调试功能检查您机器上的 nslookup 情况,以查找是否存在网络问题。
例如:
C:\Administrator>nslookup
>set debug
>[Your test IP address]
- 如果您的网络配置正确,则此问题可能是由 nslookup Tools 问题引起的。您可以使用 'nosearch' 和 'srchlist='
例如:
C:/>nslookup -nosearch <Test IP address>
C:/>nslookup -srchlist= <Test IP address>
如果以上所有内容都不能帮助您解决这个问题,您可以向我提供有关您如何测试、如何设置 DNS 服务器以及错误信息的更多详细信息,以便我可以清楚地排除故障。
注意:您也可以参考这个关联在 Azure VM 上设置公共 DNS 服务器。
答案2
我推测公共 IP 是在 Azure 防火墙上设置的,而不是在虚拟机 vNIC 上设置的。nslookup 在虚拟机本身上运行时,如果网络配置不正确,则无法进入外部网络然后循环回到虚拟机。如果您在另一台独立主机上执行它(既不在 Azure 中也不在您的 LAN 中),它会起作用吗?
答案3
我最终通过删除网络安全组并将其重新分配给网卡来解决了这个问题。