BlogWie funktioniert eigentlich die Namensauflösung in Azure?

Wie funktioniert eigentlich die Namensauflösung in Azure?

Stellst du eine virtuelle Maschine in Azure bereit, erhält diese eine private IP-Adresse aus dem Netzwerkbereich des virtuellen Azure-Netzwerkes, in dem sie erstellt wird. Sie erhält aber scheinbar keinen privaten DNS-Namen. Ob du eine öffentliche IP-Adresse erhältst, kannst du im Rahmen der Bereitstellung in Abhängigkeit des jeweiligen Bereitstellungswerkzeugs entscheiden. Sie erhält aber per Default keinen öffentlichen DNS-Namen. Wir verraten dir im Folgenden, wie du private und öffentliche DNS-Namen in Azure einrichten kannst.

Du benötigst mehr Know-how rund um MS Azure? Dann empfehlen wir dir unsere Microsoft Azure Schulungen!

Starten wir ausnahmsweise mit einem Fazit, das die verschiedenen verfügbaren Methoden systematisiert. Für die DNS-Auflösung stehen folgende Möglichkeiten zur Verfügung:

Private DNS-Auflösung

  • Azure DNS-Service (PaaS)
  • In Azure gehostete „private DNS -Zone“ (PaaS)
  • Azure DNS-Resolver (PaaS)
  • Benutzerdefinierter DNS-Server auf einer Azure-VM (IaaS)

Öffentliche DNS-Auflösung

  • Azure DNS-Service (PaaS)
  • In Azure gehostete „DNS -Zone“ (PaaS)
  • Benutzerdefinierter DNS-Server auf einer Azure-VM (IaaS)

Welche Methode der Namensauflösung du nutzen solltest, hängt von Aspekten wie Kosten und Verwaltbarkeit und unter anderem auch davon ab, wie die Ressourcen miteinander kommunizieren und wie komplex das Gesamt-Szenario aussieht, z. B. im Kontext einer hybriden-Umgebungen mit ADDS-DCs on premise UND in der Cloud.

Private DNS-Auflösung

Für die einfache private Namensauflösung zwischen virtuellen Computern, die sich im gleichen virtuellen Netzwerk befinden oder die mit anderen Azure Cloud Services-Rolleninstanzen im gleichen Clouddienst kommunizieren, kannst du wahlweise die von der Azure-Plattform bereitgestellte Namensauflösung verwenden oder eine private DNS-Zone in Azure erstellen. Der erste Fall ist quasi Default und erfordert von dir kein weiteres Eingreifen. Bei dieser Lösung wird ein von Azure bereitgestellter DNS-Dienst verwendet. Das kannst du leicht verifizieren, indem du beim ausgewählten virtuellen Netzwerk ins Menü „DNS Server“ navigierst. Hier ist per Default „Standard (von Azure bereitgestellt)“ eingetragen. Hier wäre ggf. auch der Ansatzpunkt, durch einen Wechsel auf „Benutzerdefiniert“ zu einem eigenen DNS-Server zu wechseln.

Per Default verwenden alle virtuellen Azure-Netzwerke einen von der Plattform bereitgestellten DNS-Server.

Die Einstellung vererbt sich auf jedes Netzwerkinterface, das mit diesem Netzwerk verbunden ist oder verbunden wird, wenn du eine neue VM in diesem Netzwerk erstellst. Navigiere dazu in Menü „DNS-Server“ der ausgewählten Netzwerkkarte.

Der vom jeweiligen NIC verwendete DNS wird entweder von VNET geerbt oder ist „Benutzerdefiniert“.

Die Kommunikation mit dem zugehörigen „virtuellen Azure-DNS-Server“ erfolgt aus der VM heraus immer über die spezifische IP-Adresse 168.63.129.16, welche für die betreffende VM eine gefilterte Namensauflösung bereitstellt. Streng genommen handelt es sich bei dieser IP-Adresse um eine virtuelle öffentliche IP, die einen Kommunikationskanal zu den Ressourcen der Azure-Plattform ermöglicht und noch andere Aufgaben übernimmt wie, z. B die Kommunikationen zwischen dem Azure-VM-Agenten und der Azure Plattform, für das Ermitteln des Integritätsstatus der VM für Azure-Load Balancer, für die Bereitstellung von Taktsignalen des Azure-Gast-Agenten oder das Abrufen einer dynamischen IP-Adresse vom Azure DHCP-Dienst. Du kannst das gut nachvollziehen, wenn du „in“ der VM das Ergebnis von „ip config / all“ ansiehst:

Diese von Azure gesteuerte Namensauflösung stellt jedoch nur essenzielle autoritative DNS-Funktionen bereit, wobei Azure die DNS-Zonennamen und -Einträge vollständig für dich verwaltet, d. h. du kannst weder den vorgegeben DNS-Zonennamen noch den Lebenszyklus der DNS-Einträgen steuern. Den Zonennamen musst du ohnehin gar nicht angeben, denn bei via Ressource Manager bereitgestellten virtuellen Netzwerkwerken ist der DNS-Suffix aller virtuellen Computer im virtuellen Netzwerk einheitlich, sodass du den vollständigen FQDN nicht benötigst.

Das gilt sowohl für virtuelle Computer als auch für Instanzen in einem Azure-Clouddienst. Wie du der Abbildung 4 entnehmen kannst, löst die VM „dnsdemo-vm0“ die VM „dnsdemo-vm1“ über den DNS-Server 168.63.129.16 anstandslos auf, auch ohne DNS-Suffix „….. internal.cloudapp.net“

Interne Namensauflösung innerhalb eines Azure-VNETs funktioniert bei Azure per Default auch ohne FQDN.

Möchtest du den Namen des DNS-Zone für die private Namensauflösung in Azure selbst bestimmen, kannst du in Azure den PaaS-Dienst „Private-DNS-Zonen“ nutzen. Suche im Azure Portal nach dem Dienst (Du findest ihn auch über die Kategorisierung „Alle Dienste“ im Abschnitt „Netzwerk“) und klicke auf „Private DNS-Zone erstellen“, um eine eigene nicht öffentliche DNS-Zone in Azure zu hosten. Die Zone benötigt keinen Standort, da es sich um einen globalen Service handelt. Du brauchen lediglich eine Ressourcengruppe und den Namen.

Das Erstellen einer privaten DNS-Zone in Azure

Wurde die DNS-Zone erstellt, kannst du der Übersichtsseite entnehmen, dass diese zunächst nur über ein einziges Record-Set, den so genannten SOA-Eintrag (Source of authority) verfügt. Im Falle von virtuellen Maschinen als Ziele benötigst du noch A- (IPv4), bzw. AAAA- (IPv6) Einträge für deine VMs. Diese können bei privaten DNS-Zonen automatisch erzeugt werden, indem du die DNS-Zone mit dem gewünschten virtuellen Netzwerk verknüpfst.

Klicke dazu im Abschnitt „Einstellungen“ auf „Verknüpfungen virtueller Netzwerke“, um dort mit „+ Hinzufügen“ ein neues VNET zu verknüpfen. Dieser „Link“ benötigt lediglich einen Namen und das Ziel-Netzwerk aus dem gewünschten Abonnement. Setzt du dabei die Option „Automatische Registrierung aktivieren“, erhält jede VM, die sich gegenwärtig in diesem Netzwerk befindet, sowie jede Künftige, automatisch deinen A-Eintrag in dieser Zone.

Beim Verknüpfen der DNS-Zone mit einen VNET kann die automatische Registrierung aktiviert werden.

Du kannst das anschließend auf der Übersichtsseite leicht verifizieren und die Namesauflösung anschließend in der gleichen Weise testen wie im Beispiel oben, nur dass du hier den vorständigen FQDN angeben musst.

Private Azure-DNS-Zonen erlauben das automatische Registrieren von A-/AAAA-Einträgen.

Die beiden bisher vorgestellten Lösungen kannst du für die Namensauflösung zwischen virtuellen Computern im gleichen virtuellen Netzwerk oder Azure Cloud Services-Rolleninstanzen im gleichen Cloud-Service verwenden. Für die Namensauflösung aus den Azure App Services (Web App, Azure Funktion) mithilfe von Integration virtueller Netzwerke in Rolleninstanzen oder die Namensauflösung aus App Service-Web-Apps in virtuelle Computer im gleichen virtuellen Netzwerk, sowie in ein anderes virtuelles Netzwerk hingegen, benötigst du entweder den Azure-PaaS-Dienst „Private DNS Resolver“ oder einen eigenen (z. B. auf einer Azure-VM gehosteten) DNS-Server. Gleiches gilt für die Auflösung lokaler Computer- und Dienstnamen von VMs oder Rolleninstanzen in Azure. Zur Auflösung von Azure-Hostnamen von lokalen Computern durch Weiterleitung von Abfragen an einen vom Kunden verwalteten DNS-Proxyserver im zugehörigen virtuellen Netzwerk, benötigst du in jeden Fall einen eigenen DNS-Server. Einen solchen kannst du z. B. mit Hilfe eines Windows- oder Linux-Servers (Bind DNS) mit Hilfe den jeweiligen Bordmitteln oder durch eine 3rd-Py-Lösung wie z. B. „infoblox“ realisieren. Der Azure-Marktplatz bietet hier reichlich Auswahl:

Der Azure-Marktplatz bietet reichlich Auswahl ein Lösungen für eine Custom-DNS-Server.
Unter den 3rd-Party-DNS-Lösungen finden sich auch Enterprise-Produkte wie „infoblox“:

Beim Azure DNS Private Resolver handelt es sich um einen relativ neuen Dienst, mit dem du von einer lokalen Umgebung private Zonen in Azure DNS abfragen kannst und umgekehrt, ohne dass du dazu selbst einen DNS-Server auf Basis einer virtuellen Maschine breitstellen musst.

Die PaaS-Alternative für die Namensauflösung in hybriden Umgebungen ist der „Private DNS Resolver“.

Der Dienst ist ziemlich mächtig, da es sich quasi um einen vollständig verwalteten und vorkonfigurierten DNS-Server handelt und demzufolge auch nicht ganz billig im Vergleich zu einer in Azure gehosteten Zone. Möchtest du den Azure DNS Private Resolver einsetzen, benötigst du dazu vorher ein Azure Virtual Network. Bei der Assistenten-geführten Konfiguration musst du „Eingehende Endpunkte“, „Ausgehende Endpunkte“ und „Regelsätze“ einrichten. Eingehende Endpunkte empfangen Anforderungen zur Auflösung von Domänennamen. Ausgehende Endpunkte des Resolvers arbeiten DNS-Abfragen auf Basis der von dir erstellten DNS-Weiterleitungsregeln („Regelsatz“) ab. DNS-Abfragen, die in mit einem Regelsatz verknüpften Netzwerken initiiert werden, lassen sich dann z. B. an andere DNS-Server senden. Du musst keinerlei DNS-Client-Einstellungen auf deiner VMs anpassen, um den Azure DNS Private Resolver verwenden zu können.

Öffentliche DNS-Auflösung

Die einfachste Form der öffentlichen Namensauflösung für Azure-VMs, die über öffentliche IP-Konnektivität verfügen, erreichst du ganz einfach dadurch, dass du auf der Übersichtsseite einer ausgewählten VM neben „DNS-Name“ auf den Link „Nicht konfiguriert“ klickst oder alternativ im Abschnitt „Eigenschaften“ rechts neben „DNS-Name“ auf „Konfigurieren“. Voraussetzung dafür ist, dass die VM über eine öffentliche IP-Adresse verfügt.

Ein von der Azure-Plattform bereitgestellter öffentlicher DNS-Name.

Alternativ kannst du auch das Netzwerkinterface der VM auswählen und auf „Konfiguration“ klicken

Der öffentliche DNS-Name ist letztendlich eine Eigenschaft der öffentlichen IP-Adresse.

Trage dann bei „DNS-Namenbezeichnung (optional)“ einen beliebigen, aber eindeutigen DNS-Präfix ein. Dieser muss eindeutig sein, weil sich alle Azure-VMS bezüglich der öffentlichen Namensauflösung in der DNS Domäne „<location>.cloudapp.azure.com“ befinden. Am besten du arbeitest mit einem zufälligen Präfix. Zum Testen der Namensauflösung kannst du „nslookup“ verwenden. Da es sich um öffentliche Namensauflösung befindet, musst du den Test natürlich von „außerhalb“ der VM initiieren, z. B. aus der Azure Cloud Shell oder von deinem Arbeitsplatzrechner.

Das Testen der Namensauflösung mit „nslookup“.

Eine Rückwärtsauflösung funktioniert auf diese Weise nicht.

Möchtest du den Namen der zu verwendenden DNS-Zone selbst bestimmen und außerdem Einfluss auf die zu erstellenden Datensätze nehmen, musst du eine „öffentliche DNS-Zone“ in Azure hosten. Suche dazu im Azure-Portal nach dem Eintrag „DNS Zonen“ oder navigiere über „Alle Dienste / Netzwerk“ dorthin.

Die DNS-Zone bekommt lediglich eine Ressourcengruppe und einen Namen, aber keinen Standort, weil es sich um einen globalen Dienst handelt.

Das Erstellen eine öffentlichen, in Azure gehosteten DNS-Zone.

Wie du an der Übersichtseite erkennen kannst, wird automatisch ein SOA-Datensatz angelegt, sowie ein NS-Datensatz mit 4 Nameserver-Einträgen. Die A- (IPv4) oder AAAA- (IPv6)-Einträge für deine VMs musst du hier allerdings selbst anlegen. Klicke dazu auf „+Datensatzgruppe)“      

Füge dann bei „Name“ den Domain-Präfix deiner VM und unten bei IP-Adresse die öffentliche IP-Adresse deiner VM ein. Du kannst pro Datensatzgruppe bis zu 20 Datensätze einfügen, im Falle eines A-Records also bis zu 20 IP-Adressen.

Das Anlegen eines A- oder AAAA-Datensatzes muss in einer Public-DNS-Zone manuell erfolgen.

Tatsächlich funktionieren wird die öffentliche Namensauflösung auf die Weise indes erst dann, wenn die zuständigen Nameserver der Domäne an Azure delegiert werden, d. h. du musst (sofern dazu berechtigt) beim Registrar deiner DNS-Domäne die dort eingetragenen Nameserver (NS-Einträge) durch die 4 Azure-Nameserver ersetzen, wie sie auf der Übersichtseite angezeigt werden. Hier ein Beispiel für eine bei AWS betriebene Zone.

Das Delegieren der Nameserver einer bei AWS gehosteten DNS-Zone an die Azure-Name-Server.

Möchtest du die Nameserver nicht wirklich delegieren, kannst du das korrekte Funktionieren der Namensauflösung aber trotzdem testen, z. B mit „nslookup“. Du musst dann beim Verwenden von „nslookup“ lediglich den zu verwendenden (Azure)-Nameserver explizit mit angeben, wie du folgender Abbildung einer testweise mit nslookup in der Cloud-Shell durchgeführten öffentlichen Namensauflösung entnehmen kannst

Das Testen der öffentlichen Namens-Auflösung ohne delegierte Nameserver mittels „nslookup“.

Selbstverständlich kannst du aber auch für die öffentliche Namensauflösung einen benutzerdefinierten DNS-Server z. B. auf einer Azure-VM betreiben, was wir in einem weiteren Artikel thematisieren werden, ebenso wie den „Azure Private DNS Resolver“.

Fazit

Wie einleitend erwähnt stellt dir Azure zahlreiche Möglichkeiten zur Verfügung, öffentliche und private DNS-Namen für Azure-VMs zu konfigurieren und wird damit vielen verschiedenen DNS-Auflösungs-Szenarien von grundlegend bis sehr komplex gerecht.

Kontakt

Dein INCAS Team
Akkordion öffnen
telephone-icon-contact-coaching-box
0800 4772466
email-icon-contact-coaching-box
info@incas-training.de

*“ zeigt erforderliche Felder an

Hidden
Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Schulungen die dich interessieren könnten

Bewertungen

Kundenstimme männlich
Torsten B.
Westdeutscher Rundfunk WDR
star-participantstar-participantstar-participantstar-participantstar-participant
Das Seminar hat nicht nur Spaß gemacht, sondern auch wirklich 'ne Menge gebracht :-)
Kundenstimme männlich
Philipp M.
Wacom Europe GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Sehr gute Organisation, guter Trainer - alles super!
Kundenstimme männlich
Markus H.
CARAT Dreieich
star-participantstar-participantstar-participantstar-participantstar-participant
Der Trainer machte einen sehr netten und kompetenten Eindruck und ging auf unsere Wünsche und Anregungen sehr praxisorientiert ein .
Kundenstimme männlich
Mausolf B.
Struers GmbH
star-participantstar-participantstar-participantstar-participantstar-participant
Tolle Schulung - kompetenter Trainer, der geduldig auf alle Fragen einging, diese beantworten konnte und darüber hinaus viele neue Anregungen mit auf den Weg gab. Die Schulung hat Spaß gemacht.