【问题标题】:Azure DNS - Domains Not Being Found By Public InternetAzure DNS - 公共 Internet 未找到域
【发布时间】:2016-01-08 18:04:18
【问题描述】:

我已经编写了一个 PowerShell 脚本来为我的所有域名创建所有 A/CNAME/MX 记录等。

它针对我的 Azure 订阅运行而没有错误。

我可以进入我的 Azure 网站的配置部分并将这些域名映射到我的网站,它会正确解析域名。

我已将注册商处的 NamesServers 设置为我要返回的正确名称服务器

$zone = Get-AzureRmDnsZone –Name activistmanager.info –ResourceGroupName DNSRecords
Get-AzureRmDnsRecordSet –Name “@” –RecordType NS –Zone $zone

我可以看到域名服务器有正确的 NameServers

但它不起作用

即使使用 NSLOOKUP(将服务器切换到 Azure DNS 服务器之后)

我跑

ls x.com

然后它返回

Can't list the domain x.com:Non Existent domain
The DNS server refused to transfer the zone X.com to your computer
If This is incorrect, check the zone transfer security settings for X.com on the DNS

当我将这些区域一一转移到 Azure 时,我们一整天都在解决这些区域,但在某些时候它们停止了工作。我错过了什么?

#---------------------------------------------------------------------------------------------
#freedomnstuff.org
#New-AzureRmDnsZone -Name freedomnstuff.org -ResourceGroupName DNSRecords
# A
$rs = New-AzureRmDnsRecordSet -Name "*" -RecordType A -ZoneName "freedomnstuff.org" -ResourceGroupName "DNSRecords" -Ttl 60 -Overwrite -Force          
Add-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address 168.62.48.183
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

# CNAME

$rs = New-AzureRmDnsRecordSet -Name "awverify" -RecordType "CNAME" -ZoneName "freedomnstuff.org" -ResourceGroupName "DNSRecords" -Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "awverify.freedomnstuff.azurewebsites.net"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

$rs = New-AzureRmDnsRecordSet -Name "awverify.www" -RecordType "CNAME" -ZoneName "freedomnstuff.org" -ResourceGroupName "DNSRecords" -Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "awverify.freedomnstuff.azurewebsites.net"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

$rs = New-AzureRmDnsRecordSet -Name "www" -RecordType "CNAME" -ZoneName "freedomnstuff.org" -ResourceGroupName "DNSRecords" -Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "freedomnstuff.org"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

【问题讨论】:

  • 假设这是您在 powershell sn-p 中命名的域!我刚刚看过它,似乎注册的唯一(明显)记录是 www 的 CNAME - 你能显示你用来注册它们的代码吗
  • 其中一个域的代码现在包含在上面。基本上它是 A 记录的代码指向 IP 地址和 www CNAME 指向 A 记录中指定的名称。还有两条 awverify 记录,因此 Azure 门户将允许我将网站配置为接受对这些域名的请求。这就是疯狂的部分 - Azure 门户可以很好地处理它 - 只是不是现实世界。
  • 这是关于域的 DNS 报告 - 我觉得不错 - viewdns.info/dnsreport/?domain=freedomnstuff.org
  • 这可能是传播错误,因为这似乎正在工作......
  • 我仍然收到 DNS 错误。看起来每个人都失败了 - downforeveryoneorjustme.com/freedomnstuff.org

标签: azure dns


【解决方案1】:

好的,我刚刚发现了您的问题!

您不能对顶点记录使用通配符。

通配符用于*.example.com 的域记录(注意 * 和域之间的点)这将匹配 something.example.com

“@”前缀指的是域本身。这样就可以匹配example.com

当您创建 CNAME 并将其指向 example.com 时,下一个查找是 example.com 的 A 记录,而通配符域与该记录不匹配。 (你需要通配符 *.com 才能匹配!)

添加这个,它应该会按预期工作......

$rs = New-AzureRmDnsRecordSet -Name "@" `
         -RecordType "A" `
         -ZoneName "freedomnstuff.org" `
         -ResourceGroupName "DNSRecords" `
         -Ttl 60 -Overwrite -Force

Add-AzureRmDnsRecordConfig -RecordSet $rs `
         -Ipv4Address 168.62.48.183

Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite

【讨论】:

  • Bingo - 这就是为什么不应该允许像我这样的数据库人员在他们自己的 DNS 服务器上工作的原因。过于依赖通配符......让我重做所有记录,看看是否一切正常。
  • 我的注册商有一条指向 webapp IP 的 A 记录,并且更新了带有 azure DNS 区域 example.com 的名称服务器。虽然能够将 www.example.com 和 example.com 添加到 webapp 下的域,但只有 example.com 将我带到应用程序。我错过了什么吗?
  • @Michael 我已经上传了一张带有我的 DNS 区域设置实际值的图片,因为我的眼球通过我的每个设置浏览了这里但无法辨认。 [链接]stackoverflow.com/questions/38774313/…
猜你喜欢
  • 1970-01-01
  • 2020-02-05
  • 2014-07-28
  • 2020-10-11
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多