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 namnmatchningen behöver överskrida funktionerna i Azures standard-DNS kan du ange dina egna DNS-servrar. Genom att använda dina egna DNS-servrar kan du skräddarsy din DNS-lösning så att den passar 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 dina VM-värdnamn på DNS-servern med dynamisk DNS (DDNS). Azure har inte autentiseringsuppgifterna för att direkt skapa poster på dina DNS-servrar, så det krävs ofta alternativa arrangemang. 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, utan förutsätter att DHCP-servern gör det. Azures DHCP-servrar har inte autentiseringsuppgifter 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 hookar som tillhandahålls av DHCP-klienten för att skapa och underhålla posten värdnamn i 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 av nsupdate
. Ett 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 Bind 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 nsupdate
använder du -k
alternativet för att DDNS-uppdateringsbegäran 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 kinit
du 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 cachen.
Om det behövs kan du lägga till ett DNS-söksuffix till dina virtuella datorer. DNS-suffixet anges i filen /etc/resolve.conf . De flesta Linux-distributioner hanterar automatiskt innehållet i den här filen, så vanligtvis kan du inte redigera den. Du kan dock å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 filen /etc/dhcp/dhclient.conf :
supersede domain-name <required-dns-suffix>;