Небольшая проблема с командлетами сервера системы доменных имен (DNS)

Я задаюсь вопросом, нужно ли мне очистить какой-то кеш или что-то с проблемой, которая у меня возникла.

Я пытаюсь удалить записи 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 char:4 + Add-DnsServerResourceRecordCName -Zonename $line -Name $hostname > -TimeToLive ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ResourceExists: (@:root/Microsoft/...urceRecordCName) > [Add-DnsServerResourceRecordCName], CimException + FullyQualifiedErrorId: WIN32 9709, Надстройка DnsServerResourceRecordCName

Есть идеи? Спасибо

1 ответ

Решение

Внедрение Microsoft DNS-сервера не позволит вам создать 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".

Надеюсь это поможет.

Другие вопросы по тегам