我正在将所有DNS服务迁移到Azure DNS。使用Powershell我成功创建了CNAME记录,以便www.something.com解析为Azure网站 -
$rs = New-AzureRmDnsRecordSet -Name "www" -RecordType "CNAME" -ZoneName "something.com" -ResourceGroupName "DNSRecords" -Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "MySomethingAzureWebsite.azurewebsites.net"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite
但是如何为通配符和裸地址创建CNAME记录,如
* .somes.com或something.com
我假设它与
有关(没有双关语)New-AzureRmDnsRecordSet -Name“www”
但是通过所有文档和互联网示例,我似乎无法找到正确的措辞。
答案 0 :(得分:1)
您遇到的问题是rules of DNS的问题,该问题禁止存在另一条记录的CNAME记录。裸地址(或Apex)example.com已经有两条记录(SOA和NS),因此不允许使用CNAME。
如果节点上存在CNAME RR,则不应该有其他数据 当下;这可以确保规范名称及其别名的数据 不可能是不同的。此规则还可确保缓存的CNAME可以 使用时不使用权威服务器检查其他RR类型。
要创建Apex记录,例如example.com,您需要使用A记录,这意味着它需要指向Azure网站的IP。完成后,您可以创建从www到example.com的CNAME。 (这是受支持的方法 - 您的Azure网站的IP地址是静态的)
您正在寻找的命令,就像
$rs = New-AzureRmDnsRecordSet -Name "@" -RecordType A `
-ZoneName example.com -ResourceGroupName $RG `
-Ttl $ttl -Force -Overwrite
Add-AzureRmDnsRecordConfig -RecordSet $rs -Ipv4Address $IPAddress
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite
然后
$rs = New-AzureRmDnsRecordSet -Name "www" -RecordType "CNAME" `
-ZoneName "something.com" -ResourceGroupName "DNSRecords" `
-Ttl 60 -Overwrite -Force
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname "example.com"
Set-AzureRmDnsRecordSet -RecordSet $rs -Overwrite
这将创建您的区域顶点记录并将www cname指向它,使example.com和www.example.com指向同一位置。
对于通配符,您可以替换Apex" @"用asterix" *"像
这样的东西$rs = New-AzureRmDnsRecordSet -Name "*" -RecordType A `
-ZoneName example.com -ResourceGroupName $RG `
-Ttl $ttl -Force -Overwrite
#You know the rest
答案 1 :(得分:0)
如前面的答案所述,您无法在区域apex(name =“@”)创建CNAME。这是因为RFC约束,正确的方法是使用其他记录类型,例如正如之前的受访者解释的那样,在区域顶点的记录。
但是,您可以在区域顶点创建通配符CNAME。由于通配符与DNS中的空字符串不匹配,因此它们不会违反RFC约束。例如,在PowerShell中:
$z = New-AzureRmDnsZone -Name myzone.com -ResourceGroupName MyResourceGroup
$rs = New-AzureRmDnsRecordSet -Name "*" -Zone $z -Ttl 3600 -RecordType CNAME
Add-AzureRmDnsRecordConfig -RecordSet $rs -Cname cnametarget.com
Set-AzureRmDnsRecordSet -RecordSet $rs
这将解决查询到例如foo.myzone.com但不适用于myzone.com。
Wikipedia has a good page了解有关通配符DNS的更多信息。