我想知道我是否需要清除一些缓存或者解决我遇到的问题。
我正在尝试从 DNS 区域中删除 A 记录并将其替换为具有相同主机名的 CName 记录。
Remove-DnsServerResourceRecord -Zonename $line -InputObject $record -Force
Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname -TimeToLive $ttl -HostNameAlias $target
这让我:
Add-DnsServerResourceRecordCName:无法在服务器 NS01 上的区域 zone.tld 中创建资源记录 @。在 C:\admin\updatettl.ps1:56 char:4 + Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname > -TimeToLive ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo:ResourceExists:(@:root/Microsoft/...urceRecordCName)> [Add-DnsServerResourceRecordCName],CimException + FullyQualifiedErrorId:WIN32 9709,Add-DnsServerResourceRecordCName
有什么想法吗?谢谢
答案1
Microsoft 的 DNS 服务器实施不允许您按照以下要求在区域顶点创建 CNAME:RFC 1034§3.6.2。
您收到的错误(9709,DNS_ERROR_CNAME_COLLISION
) 有点神秘,但无论如何你都无法(也不应该)添加它。
另一方面,将 CNAME RR 放置在顶点实际上会与区域的 NS 和 SOA 记录发生冲突,此时错误确实有一定意义
答案2
我可以按照 Microsoft 文档中的建议,使用以下语法成功创建 ALIAS 或 CNAME
PS C:> Add-DnsServerResourceRecordCName -Name "THE-NEW-ALIAS-NAME" -HostNameAlias "ALREADY-EXISTING-NAME" -ZoneName "example.com"
示例测试:
PS C:> Add-DnsServerResourceRecordCName -Name "mylabcn" -HostNameAlias "cslab" -ZoneName "example.com"
mylabcn:要创建为现有名称的新别名:cslab.example.com
这里的-Name
参数是要创建的新 ALIAS/CNAME,而-HostNameAlias
参数是将要创建新 ALIAS 名称的现有名称。
最初我以相反的方式使用了上述参数,结果出现了上述错误“9709”
希望这可以帮助。