Share via


DNS-records en -recordsets beheren in Azure DNS met behulp van de Azure CLI

In dit artikel wordt beschreven hoe u DNS-records voor uw DNS-zone beheert met behulp van de platformoverschrijdende Azure CLI. De Azure CLI is beschikbaar voor Windows, Mac en Linux. U kunt uw DNS-records ook beheren met behulp van Azure PowerShell of de Azure Portal.

In de voorbeelden in dit artikel wordt ervan uitgegaan dat u de Azure CLI al hebt geïnstalleerd, aangemeld en een DNS-zone hebt gemaakt.

Introductie

Voordat u DNS-records in DNS Azure maakt, leest u eerst hoe Azure DNS DNS-records organiseert in DNS-recordsets.

Recordnamen

In Azure DNS worden records opgegeven met behulp van relatieve namen. Een FQDN ( Fully Qualified Domain Name) bevat de zonenaam, een relatieve naam niet. De relatieve recordnaam www in de zone contoso.com geeft bijvoorbeeld de volledig gekwalificeerde recordnaam www.contoso.com.

Een apexrecord is een DNS-record in de hoofdmap (of apex) van een DNS-zone. In de DNS-zone contoso.comheeft een apexrecord bijvoorbeeld ook de volledig gekwalificeerde naam contoso.com (dit wordt ook wel een naakt domein genoemd). Volgens de conventies wordt de relatieve naam '@' gebruikt om apexrecords te representeren.

Recordtypen

Elke DNS-record heeft een naam en een type. Records zijn ingedeeld in verschillende typen overeenkomstig de gegevens die ze bevatten. Het meest voorkomende type is een A-record, waarmee een naam aan een IPv4-adres wordt toegewezen. Een ander algemeen type is een MX-record, waarmee een naam aan een e-mailserver wordt toegewezen.

Azure DNS ondersteunt alle algemene DNS-recordtypen: A, AAAA, CAA, CNAME, MX, NS, PTR, SOA, SRV en TXT. Houd er rekening mee dat SPF-records worden gerepresenteerd door TXT-records.

Recordsets

Soms moet u meer dan één DNS-record maken met een bepaalde naam en een bepaald type. Stel bijvoorbeeld dat de website www.contoso.com wordt gehost op twee verschillende IP-adressen. De website vereist twee verschillende A-records, één voor elk IP-adres. Dit is een voorbeeld van een recordset:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

Azure DNS beheert alle DNS-records met recordsets. Een recordset (ook bekend als een resource-recordset) is een verzameling DNS-records in een zone die dezelfde naam hebben en van hetzelfde type zijn. De meeste recordsets bevatten één record. Voorbeelden zoals hierboven waarin een recordset meer dan één record bevat, zijn echter niet ongewoon.

Veronderstel bijvoorbeeld dat u al een A-record 'www' hebt gemaakt in de zone 'contoso.com' die naar het IP-adres '134.170.185.46' verwijst (de eerste record bovenaan). Als u nu de tweede record wilt maken, moet u deze toevoegen aan de bestaande recordset. U maakt dus geen aanvullende recordset.

De recordtypen SOA en CNAME zijn uitzonderingen. De DNS-standaarden staan voor deze typen niet toe dat er meerdere records zijn met dezelfde naam. Daarom kunnen deze recordsets slechts één record bevatten.

Zie DNS-zones en -records voor meer informatie over DNS-records in Azure DNS.

Een DNS-record maken

Als u een DNS-record wilt maken, gebruikt u de az network dns record-set <record-type> add-record opdracht (waarbij <record-type> het type record is, bijvoorbeeld srv, txt, enzovoort) Zie voor hulp az network dns record-set --help.

Wanneer u een record maakt, moet u de volgende gegevens opgeven:

  • Naam van de resourcegroep
  • Zonenaam
  • Naam van recordset
  • Recordtype

De opgegeven naam van de recordset moet een relatieve naam zijn, wat betekent dat de zonenaam moet worden uitgesloten. Als de recordset nog niet bestaat, wordt deze met deze opdracht voor u gemaakt. Met deze opdracht wordt echter de record toegevoegd die u opgeeft als de recordset al bestaat.

Als er een nieuwe recordset wordt gemaakt, wordt een standaard time-to-live (TTL) van 3600 gebruikt. Zie Een DNS-recordset maken voor instructies over het gebruik van verschillende TTL's.

In het volgende voorbeeld maakt u een A-record met de naam www in de zone contoso.com in de resourcegroep MyResourceGroup. Het IP-adres van de A-record is 1.2.3.4.

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 1.2.3.4

Als u een recordset wilt maken in de apex van de zone (in dit geval 'contoso.com'), gebruikt u de recordnaam @, inclusief de aanhalingstekens:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --ipv4-address 1.2.3.4

Een DNS-recordset maken

In de bovenstaande voorbeelden is de DNS-record toegevoegd aan een bestaande recordset of is de recordset impliciet gemaakt. U kunt de recordset ook expliciet maken voordat u er records aan toevoegt. Azure DNS ondersteunt 'lege' recordsets, die kunnen fungeren als een tijdelijke aanduiding om een DNS-naam te reserveren voordat u DNS-records maakt. Lege recordsets zijn zichtbaar in het Azure DNS-besturingsvlak, maar worden niet weergegeven op de Azure DNS-naamservers.

Recordsets worden gemaakt met behulp van de az network dns record-set <record-type> create opdracht . Zie az network dns record-set <record-type> create --help voor help.

Als u de recordset expliciet maakt, kunt u eigenschappen van recordsets opgeven, zoals de TTL (Time-To-Live) en metagegevens. Metagegevens van recordsets kunnen worden gebruikt om toepassingsspecifieke gegevens als sleutel-waardeparen te koppelen aan elke recordset.

In het volgende voorbeeld wordt een lege recordset van het type A gemaakt met een TTL van 60 seconden, met behulp van de --ttl parameter (korte vorm -l):

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --ttl 60

In het volgende voorbeeld wordt een recordset gemaakt met twee metagegevensvermeldingen, 'dept=finance' en 'environment=production', met behulp van de --metadata parameter :

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --metadata "dept=finance" "environment=production"

Nadat u een lege recordset hebt gemaakt, kunnen records worden toegevoegd met behulp van zoals azure network dns record-set <record-type> add-record beschreven in Een DNS-record maken.

Records van andere typen maken

In de volgende voorbeelden ziet u in detail hoe u A-records maakt. In de volgende voorbeelden ziet u hoe u records kunt maken van andere recordtypen die worden ondersteund door Azure DNS.

De parameters die u gebruikt om de gegevens van de record op te geven, variëren afhankelijk van het type record. Voor een record van het type 'A' geeft u bijvoorbeeld het IPv4-adres met de parameter --ipv4-address <IPv4 address> op. De parameters voor elk recordtype kunnen worden weergegeven met behulp van az network dns record-set <record-type> add-record --help.

In elk geval laten we zien hoe u één record maakt. De record wordt toegevoegd aan de bestaande recordset of een impliciet gemaakte recordset. Zie Een DNS-recordset maken voor meer informatie over het maken van recordsets en het expliciet definiëren van de parameter voor recordsets.

Er is geen voorbeeld voor het maken van een SOA-recordset, omdat SOA's worden gemaakt en verwijderd met elke DNS-zone. De SOA-record kan niet afzonderlijk worden gemaakt of verwijderd. De SOA kan echter worden gewijzigd, zoals wordt weergegeven in een later voorbeeld.

Een AAAA-record maken

az network dns record-set aaaa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-aaaa --ipv6-address 2607:f8b0:4009:1803::1005

Een CAA-record maken

az network dns record-set caa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-caa --flags 0 --tag "issue" --value "ca1.contoso.com"

Een CNAME-record maken

Notitie

De DNS-standaarden staan geen CNAME-records toe op de top van een zone (--Name "@"), noch recordsets die meer dan één record bevatten.

Zie CNAME-records voor meer informatie.

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.contoso.com

Een MX-record maken

In dit voorbeeld gebruiken we de naam van de recordset '@' om de MX-record te maken in het toppunt van de zone (in dit geval 'contoso.com').

az network dns record-set mx add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --exchange mail.contoso.com --preference 5

Een NS-record maken

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-ns --nsdname ns1.contoso.com

Een PTR-record maken

In dit geval vertegenwoordigt 'my-arpa-zone.com' de ARPA-zone die uw IP-bereik vertegenwoordigt. Elke PTR-recordset die is ingesteld in deze zone komt overeen met een IP-adres in dit IP-bereik. De recordnaam '10' is het laatste octet van het IP-adres binnen dit IP-bereik dat wordt vertegenwoordigd door deze record.

az network dns record-set ptr add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name my-arpa.zone.com --ptrdname myservice.contoso.com

Een SRV-record maken

Geef bij het maken van een SRV-recordset de _service en _protocol op in de naam van de recordset. Het is niet nodig om '@' op te nemen in de naam van de recordset bij het maken van een SRV-recordset in de zone-apex.

az network dns record-set srv add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name _sip._tls --priority 10 --weight 5 --port 8080 --target sip.contoso.com

Een TXT-record maken

In het volgende voorbeeld ziet u hoe u een TXT-record maakt. Zie TXT-records voor meer informatie over de maximale tekenreekslengte die wordt ondersteund in TXT-records.

az network dns record-set txt add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-txt --value "This is a TXT record"

Een recordset ophalen

Als u een bestaande recordset wilt ophalen, gebruikt u az network dns record-set <record-type> show. Zie az network dns record-set <record-type> show --help voor help.

Wanneer u een record of recordset maakt, moet de naam van de recordset een relatieve naam zijn. Deze naam bevat niet de zonenaam. U moet ook het recordtype, de zone met de recordset en de resourcegroep met de zone opgeven.

In het volgende voorbeeld wordt de record www van het type A opgehaald uit zone contoso.com in resourcegroep MyResourceGroup:

az network dns record-set a show --resource-group myresourcegroup --zone-name contoso.com --name www

Recordsets weergeven

U kunt alle records in een DNS-zone weergeven met behulp van de az network dns record-set list opdracht . Zie az network dns record-set list --help voor help.

In dit voorbeeld worden alle recordsets geretourneerd in de zone contoso.com, in resourcegroep MyResourceGroup:

az network dns record-set list --resource-group myresourcegroup --zone-name contoso.com

In dit voorbeeld worden alle recordsets geretourneerd die overeenkomen met het opgegeven recordtype (in dit geval A-records):

az network dns record-set a list --resource-group myresourcegroup --zone-name contoso.com 

Een record toevoegen aan een bestaande recordset

U kunt beide gebruiken az network dns record-set <record-type> add-record om een record te maken in een nieuwe recordset of om een record toe te voegen aan een bestaande recordset.

Zie Een DNS-record maken en Records van andere typen maken hierboven voor meer informatie.

Een record verwijderen uit een bestaande recordset.

Als u een DNS-record wilt verwijderen uit een bestaande recordset, gebruikt u az network dns record-set <record-type> remove-record. Zie az network dns record-set <record-type> remove-record -h voor help.

Met deze opdracht verwijdert u een DNS-record uit een recordset. Als de laatste record in een recordset wordt verwijderd, wordt de recordset zelf ook verwijderd. Als u in plaats daarvan de lege recordset wilt behouden, gebruikt u de --keep-empty-record-set optie.

Wanneer u de az network dns record-set <record-type> add-record opdracht gebruikt, moet u de record opgeven die wordt verwijderd en de zone waaruit moet worden verwijderd. Deze parameters worden beschreven in Een DNS-record maken en Records van andere typen maken hierboven.

In het volgende voorbeeld wordt de A-record met de waarde 1.2.3.4 verwijderd uit de recordset met de naam www in de zone contoso.com, in de resourcegroep MyResourceGroup.

az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "www" --ipv4-address 1.2.3.4

Een bestaande recordset wijzigen

Elke recordset bevat een time-to-live (TTL),metagegevens en DNS-records. In de volgende secties wordt uitgelegd hoe u elk van deze eigenschappen kunt wijzigen.

Een A-, AAAA-, CAA-, MX-, NS-, PTR-, SRV- of TXT-record wijzigen

Als u een bestaande record van het type A, AAAA, CAA, MX, NS, PTR, SRV of TXT wilt wijzigen, moet u eerst een nieuwe record toevoegen en vervolgens de bestaande record verwijderen. Zie de eerdere secties van dit artikel voor gedetailleerde instructies over het verwijderen en toevoegen van records.

In het volgende voorbeeld ziet u hoe u een A-record wijzigt van IP-adres 1.2.3.4 naar IP-adres 5.6.7.8:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 5.6.7.8
az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 1.2.3.4

U kunt de records in de automatisch gemaakte NS-recordset op de zone-apex (--Name "@"inclusief aanhalingstekens) niet toevoegen, verwijderen of wijzigen. Voor deze recordset zijn de enige toegestane wijzigingen het wijzigen van de TTL en metagegevens van de recordset.

Een CNAME-record wijzigen

In tegenstelling tot de meeste andere recordtypen kan een CNAME-recordset slechts één record bevatten. Daarom kunt u de huidige waarde niet vervangen door een nieuwe record toe te voegen en de bestaande record zoals andere recordtypen te verwijderen.

Gebruik az network dns record-set cname set-recordin plaats daarvan om een CNAME-record te wijzigen. Meer informatie vindt u in az network dns record-set cname set-record --help

In het voorbeeld wordt de CNAME-recordset www gewijzigd in de zone contoso.com, in resourcegroep MyResourceGroup, zodat deze verwijst naar 'www.fabrikam.net' in plaats van de bestaande waarde:

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.fabrikam.net

Een SOA-record wijzigen

In tegenstelling tot de meeste andere recordtypen kan een SOA-recordset slechts één record bevatten. Daarom kunt u de huidige waarde niet vervangen door een nieuwe record toe te voegen en de bestaande record zoals andere recordtypen te verwijderen.

Als u de SOA-record wilt wijzigen, gebruikt u az network dns record-set soa updatein plaats daarvan . Zie az network dns record-set soa update --help voor help.

In het volgende voorbeeld ziet u hoe u de eigenschap 'email' van de SOA-record instelt voor de zone contoso.com:

az network dns record-set soa update --resource-group myresourcegroup --zone-name contoso.com --email admin.contoso.com

NS-records wijzigen in de zone-apex

De NS-recordset op de zone-apex wordt automatisch gemaakt met elke DNS-zone. Het bevat de namen van de Azure DNS-naamservers die zijn toegewezen aan de zone.

U kunt meer naamservers toevoegen aan deze NS-recordset om cohostingdomeinen met meer dan één DNS-provider te ondersteunen. U kunt ook de TTL en metagegevens voor deze recordset wijzigen. U kunt de vooraf ingevulde Azure DNS-naamservers echter niet verwijderen of wijzigen.

Deze beperking is alleen van toepassing op de NS-recordset op de zone-apex. Andere NS-recordsets in uw zone (zoals gebruikt voor het delegeren van onderliggende zones) kunnen zonder beperking worden gewijzigd.

In het volgende voorbeeld ziet u hoe u een andere naamserver toevoegt aan de NS-recordset op de zone-apex:

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --nsdname ns1.myotherdnsprovider.com 

De TTL van een bestaande recordset wijzigen

Als u de TTL van een bestaande recordset wilt wijzigen, gebruikt u azure network dns record-set <record-type> update. Zie azure network dns record-set <record-type> update --help voor help.

In het volgende voorbeeld ziet u hoe u een TTL voor een recordset wijzigt, in dit geval in 60 seconden:

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set ttl=60

De metagegevens van een bestaande recordset wijzigen

Metagegevens van recordsets kunnen worden gebruikt om toepassingsspecifieke gegevens als sleutel-waardeparen te koppelen aan elke recordset. Als u de metagegevens van een bestaande recordset wilt wijzigen, gebruikt u az network dns record-set <record-type> update. Zie az network dns record-set <record-type> update --help voor help.

In het volgende voorbeeld ziet u hoe u een recordset wijzigt met twee metagegevensvermeldingen, 'dept=finance' en 'environment=production'. Bestaande metagegevens worden vervangen door de opgegeven waarden.

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set metadata.dept=finance metadata.environment=production

Een recordset verwijderen

Recordsets kunnen worden verwijderd met behulp van de az network dns record-set <record-type> delete opdracht . Zie azure network dns record-set <record-type> delete --help voor help. Als u een recordset verwijdert, worden ook alle records in de recordset verwijderd.

Notitie

U kunt de SOA- en NS-recordsets op de zone-apex (--name "@") niet verwijderen. Deze worden automatisch gemaakt wanneer de zone is gemaakt en worden automatisch verwijderd wanneer de zone wordt verwijderd.

In het volgende voorbeeld wordt de recordset met de naam www van het type A verwijderd uit de zone contoso.com in resourcegroep MyResourceGroup:

az network dns record-set a delete --resource-group myresourcegroup --zone-name contoso.com --name www

U wordt gevraagd de verwijderbewerking te bevestigen. Als u deze prompt wilt onderdrukken, gebruikt u de --yes schakeloptie.

Volgende stappen

Meer informatie over zones en records in Azure DNS.
Meer informatie over het beveiligen van uw zones en records bij het gebruik van Azure DNS.