Dela via


Använd dynamisk DNS för att registrera värdnamn i DNS-servern

Azure tillhandahåller namnmatchning för virtuella datorer (VM) och rollinstanser. När din namnmatchning behöver överskrida de funktioner som tillhandahålls av Azures standarddomännamnssystem (DNS) kan du ange dina egna DNS-servrar. Med dina egna DNS-servrar kan du skräddarsy DIN DNS-lösning efter dina egna specifika behov. Du kan till exempel behöva komma åt lokala resurser via din Active Directory-domänkontrollant.

När dina anpassade DNS-servrar finns som virtuella Azure-datorer kan du vidarebefordra värdnamnsfrågor för samma virtuella nätverk till Azure för att matcha värdnamn. Om du inte vill använda det här alternativet kan du registrera värdnamnen för den virtuella datorn på DNS-servern med hjälp av dynamisk DNS (DDNS). Azure har inte autentiseringsuppgifterna för att direkt skapa poster på dina DNS-servrar, så alternativa arrangemang behövs ofta. I den här artikeln beskrivs några vanliga scenarier med alternativ.

Windows-klienter

Icke-domänanslutna Windows-klienter försöker med oskyddade DDNS-uppdateringar när de startar eller när deras IP-adress ändras. DNS-namnet är värdnamnet plus det primära DNS-suffixet. Azure lämnar det primära DNS-suffixet tomt, men du kan ange suffixet på den virtuella datorn via användargränssnittet eller PowerShell.

Domänanslutna Windows-klienter registrerar sina IP-adresser med domänkontrollanten med hjälp av säker DDNS. Domänanslutningsprocessen anger det primära DNS-suffixet på klienten och skapar och underhåller förtroenderelationen.

Linux-klienter

Linux-klienter registrerar sig vanligtvis inte med DNS-servern vid start. De förutsätter att DHCP-servern (Dynamic Host Configuration Protocol) gör det. Azure DHCP-servrarna har inte autentiseringsuppgifterna för att registrera poster på DNS-servern. Du kan använda ett verktyg med namnet nsupdate, som ingår i bindningspaketet, för att skicka DDNS-uppdateringar. Eftersom DDNS-protokollet är standardiserat kan du använda nsupdate även när du inte använder Bindning på DNS-servern.

Du kan använda de krokar som tillhandahålls av DHCP-klienten för att skapa och underhålla posten värdnamn på DNS-servern. Under DHCP-cykeln kör klienten skripten i /etc/dhcp/dhclient-exit-hooks.d/. Du kan använda krokarna för att registrera den nya IP-adressen med hjälp nsupdateav . Till exempel:

#!/bin/sh
requireddomain=mydomain.local

# only execute on the primary nic
if [ "$interface" != "eth0" ]
then
    return
fi

# When you have a new IP, perform nsupdate
if [ "$reason" = BOUND ] || [ "$reason" = RENEW ] ||
   [ "$reason" = REBIND ] || [ "$reason" = REBOOT ]
then
   host=`hostname`
   nsupdatecmds=/var/tmp/nsupdatecmds
     echo "update delete $host.$requireddomain a" > $nsupdatecmds
     echo "update add $host.$requireddomain 3600 a $new_ip_address" >> $nsupdatecmds
     echo "send" >> $nsupdatecmds

     nsupdate $nsupdatecmds
fi

Du kan också använda nsupdate kommandot för att utföra säkra DDNS-uppdateringar. När du till exempel använder en bindnings-DNS-server genereras ett offentligt-privat nyckelpar (http://linux.yyz.us/nsupdate/). DNS-servern är konfigurerad (http://linux.yyz.us/dns/ddns-server.html) med den offentliga delen av nyckeln så att den kan verifiera signaturen på begäran. Om du vill ange nyckelparet till nsupdateanvänder du -k alternativet för DDNS-uppdateringsbegäran som ska signeras.

När du använder en Windows DNS-server kan du använda Kerberos-autentisering med parametern -g i nsupdate, men den är inte tillgänglig i Windows-versionen av nsupdate. Om du vill använda Kerberos använder du kinit för att läsa in autentiseringsuppgifterna. Du kan till exempel läsa in autentiseringsuppgifter från en nyckelfliksfil och sedan nsupdate -g hämta autentiseringsuppgifterna från cacheminnet.

Om det behövs kan du lägga till ett DNS-söksuffix till dina virtuella datorer. DNS-suffixet /etc/resolv.conf anges i filen. De flesta Linux-distributioner hanterar automatiskt innehållet i den här filen, så vanligtvis kan du inte redigera den. Du kan åsidosätta suffixet med hjälp av DHCP-klientens supersede kommando. Om du vill åsidosätta suffixet lägger du till följande rad i /etc/dhcp/dhclient.conf filen:

supersede domain-name <required-dns-suffix>;