Мне интересно, нужно ли мне очистить какой-то кеш или что-то еще с моей проблемой.
Я пытаюсь удалить записи A из зоны DNS и заменить их записью CName с тем же именем хоста.
Remove-DnsServerResourceRecord -Zonename $line -InputObject $record -Force
Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname -TimeToLive $ttl -HostNameAlias $target
Это меня бросает:
Add-DnsServerResourceRecordCName: не удалось создать запись ресурса @ в зоне zone.tld на сервере NS01. В C: \ admin \ updatettl.ps1: 56 символов: 4 + Add-DnsServerResourceRecordCName -Zonename $ line -Name $ hostname> -TimeToLive ... + ~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ResourceExists: (@: root / Microsoft / ... urceRecordCName)> [Add-DnsServerResourceRecordCName], CimException + FullyQualifiedErrorId: WIN32 9709, Add-DnsServerResourceRecordCName
Любые идеи? Спасибо
Реализация DNS-сервера Microsoft не позволит вам создать CNAME на вершине зоны в соответствии с RFC 1034 §3.6.2.
Вы получаете сообщение об ошибке (9709, DNS_ERROR_CNAME_COLLISION
) немного загадочен, но вы все равно не сможете (и не должны) его добавить.
С другой стороны, размещение записи CNAME RR на вершине эффективно приводит к конфликту с записями NS и SOA для зоны, и в этот момент ошибка действительно имеет смысл.
Я мог бы успешно создать ALIAS или CNAME, используя следующий синтаксис, как предложено в документации Microsoft
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
paramater - это уже существующее имя, для которого будет создано новое имя ALIAS.
Изначально я использовал указанные выше параметры противоположным образом, что привело к точно указанной выше ошибке «9709».
Надеюсь это поможет.