You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法通过域控制器解析跨VPC机器名称问题求助

可能的原因及排查步骤

我之前也碰到过类似的跨VPC DNS解析问题,结合你的场景,下面是几个最可能的原因和对应的排查方法:

  • 对等连接的DNS解析配置未双向生效
    AWS VPC对等连接的跨VPC DNS解析是需要两边都配置的,只开一边没用。你得登录AWS控制台,分别进入两个VPC的对等连接设置,确认以下两个选项都已开启:

    • 对发起方VPC:允许接收来自对等VPC的DNS解析请求(Allow DNS resolution from peer VPC)
    • 对接收方VPC:允许向对等VPC发送DNS解析请求(Allow DNS resolution of public hostnames to peer VPC)
      要是其中一个VPC用过AWS默认DNS(VPC CIDR+2),还要确保对等连接允许解析对方的私有DNS主机名。
  • Ubuntu实例的DNS配置未正确指向域控制器
    就算配置了DHCP选项集,Ubuntu有时候也可能没正确获取到DNS服务器地址。你可以用这两个命令检查:

    cat /etc/resolv.conf
    

    要是用的是systemd-resolved,就执行:

    systemd-resolve --status
    

    确认输出里的nameserver是你的内部域控制器IP。如果不是,可以手动修改/etc/resolv.conf(systemd环境下可能要改/etc/systemd/resolved.conf),或者重启实例重新获取DHCP配置。

  • Windows实例未在域控制器DNS中注册主机名
    跨VPC解析完全依赖域控制器上的DNS记录,你得确认Windows实例的主机名已经正确注册:

    1. 在Windows实例的命令提示符里执行ipconfig /registerdns,强制重新注册DNS
    2. 登录域控制器,打开DNS管理器,检查对应区域下有没有该Windows实例的A记录和PTR记录
  • DNS流量被安全组/网络ACL拦截
    虽然IP通信正常,但DNS用的是UDP 53(大查询会用TCP 53),得确保:

    • Ubuntu实例的安全组允许出站UDP/TCP 53流量到域控制器IP
    • 域控制器实例的安全组允许入站UDP/TCP 53流量来自Ubuntu所在的VPC CIDR
    • 两个VPC的网络ACL都允许UDP/TCP 53的双向流量(入站和出站规则都要配)
  • 主机名缺少域名后缀
    如果Windows实例加入了域(比如corp.example.com),直接用MACHINE-NAME解析可能失败,因为Ubuntu的DNS搜索域可能没包含这个域。你可以试试用完整的FQDN解析:

    nslookup MACHINE-NAME.corp.example.com
    

    要是能成功,说明得在Ubuntu的DHCP选项集或本地DNS配置里把这个域名加到搜索域列表里。

  • AWS DNS的局限性(如果用过的话)
    要是你尝试过用AWS默认DNS(VPC CIDR+2),得注意它默认只能解析同一VPC内的私有主机名,跨VPC解析必须开对等连接的DNS解析选项,而且两个VPC的域名不能冲突。如果两个VPC用了相同的域名后缀,AWS DNS可能没法正确区分,这时候就必须用内部域控制器来解析。


内容的提问来源于stack exchange,提问作者Muhammad Rehan Saeed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 07:20:51