Delen via


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

In dit artikel leest u 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 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.

Inleiding

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, terwijl een relatieve naam dat niet doet. 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 apex-record 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.

Aanvullende recordtypen worden ondersteund als de zone is ondertekend met DNS-beveiligingsextensies (DNSSEC), zoals DS-delegering (DS) en TLSA-bronrecords (Transport Layer Security Authentication).

DNSSEC-bronrecordtypen, zoals DNSKEY, RRSIG en NSEC3-records, worden automatisch toegevoegd wanneer een zone is ondertekend met DNSSEC. Deze typen DNSSEC-resourcerecords kunnen niet worden gemaakt of gewijzigd na het ondertekenen van de zone.

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. Hier volgt 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 (waar <record-type> is het type record, d.w.z. a, 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 deze de zonenaam moet uitsluiten. 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 TTU'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 203.0.113.111.

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

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 203.0.113.11

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 als tijdelijke aanduiding kunnen fungeren 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 maakt, kunt u expliciet eigenschappen van recordset opgeven, zoals de TTL (Time-To-Live) en metagegevens. Metagegevens van recordsets kunnen worden gebruikt om toepassingsspecifieke gegevens te koppelen aan elke recordset, als sleutel-waardeparen.

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 azure network dns record-set <record-type> add-record de instructies in Een DNS-record maken.

Records van andere typen maken

De volgende voorbeelden laten zien hoe u A-records maakt. In de volgende voorbeelden ziet u hoe u een record maakt 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 vermeld 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 recordset die impliciet is gemaakt. Zie Een DNS-recordset maken voor meer informatie over het maken van recordsets en het expliciet definiëren van een parameter voor recordset.

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 FD00::1

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 aan de apex van een zone (--Name "@"), noch staan ze recordsets toe 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.fabrikam.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 de 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

Wanneer u een SRV-recordset maakt, geeft u de _service en _protocol op in de naam van de recordset. Het is niet nodig om @op te nemen in de recordsetnaam 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.

Bij het maken van een record of recordset moet de opgegeven 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 de zone contoso.com in de 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 in een nieuwe recordset te maken 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 uit een bestaande recordset wilt verwijderen, 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 wordt een DNS-record uit een recordset verwijderd. Als de laatste record in een recordset wordt verwijderd, wordt de recordset zelf ook verwijderd. Als u 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 u wilt verwijderen. Deze parameters worden beschreven in Een DNS-record maken en records maken van andere typen hierboven.

In het volgende voorbeeld wordt de A-record met de waarde '203.0.113.111' 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 203.0.113.11

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 203.0.113.111 naar IP-adres 203.0.113.22:

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

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

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.

Als u in plaats daarvan een CNAME-record wilt wijzigen, gebruikt u az network dns record-set cname set-record. Zie voor hulp 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 in plaats daarvan de SOA-record wilt wijzigen, gebruikt u az network dns record-set soa update. Zie az network dns record-set soa update --help voor help.

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

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 geldt alleen voor de NS-recordset in 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 in de zone-apex:

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --nsdname ns1.fabrikam.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 tot 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 te koppelen aan elke recordset, als sleutel-waardeparen. 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 niet verwijderen in de zone-apex (--name "@"). 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 om de verwijderbewerking te bevestigen. Gebruik de --yes schakeloptie om deze prompt te onderdrukken.

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.