Dynamische DNS gebruiken om hostnamen te registreren op uw eigen DNS-server
Azure biedt naamomzetting voor virtuele machines (VM's) en rolinstanties. Wanneer uw naamomzetting de mogelijkheden van de standaard-DNS van Azure overschrijdt, kunt u uw eigen DNS-servers opgeven. Door uw eigen DNS-servers te gebruiken, kunt u uw DNS-oplossing aanpassen aan uw eigen specifieke behoeften. U moet bijvoorbeeld toegang krijgen tot on-premises resources via uw Active Directory-domeincontroller.
Wanneer uw aangepaste DNS-servers worden gehost als Azure-VM's, kunt u hostnaamquery's voor hetzelfde virtuele netwerk doorsturen naar Azure om hostnamen om te zetten. Als u deze optie niet wilt gebruiken, kunt u uw VM-hostnamen registreren in uw DNS-server met behulp van dynamische DNS (DDNS). Azure beschikt niet over de referenties om rechtstreeks records op uw DNS-servers te maken, dus er zijn vaak alternatieve regelingen nodig. Enkele veelvoorkomende scenario's, met alternatieven, volgen:
Windows-clients
Windows-clients die niet lid zijn van een domein, proberen onbeveiligde DDNS-updates wanneer ze worden opgestart of wanneer hun IP-adres wordt gewijzigd. De DNS-naam is de hostnaam plus het primaire DNS-achtervoegsel. Azure laat het primaire DNS-achtervoegsel leeg, maar u kunt het achtervoegsel in de VIRTUELE machine instellen via de gebruikersinterface of PowerShell.
Windows-clients die lid zijn van een domein, registreren hun IP-adressen bij de domeincontroller met behulp van beveiligde DDNS. Het domeindeelnameproces stelt het primaire DNS-achtervoegsel op de client in en maakt en onderhoudt de vertrouwensrelatie.
Linux-clients
Linux-clients registreren zichzelf over het algemeen niet bij de DNS-server bij het opstarten, ze gaan ervan uit dat de DHCP-server dit doet. De DHCP-servers van Azure hebben niet de referenties voor het registreren van records op uw DNS-server. U kunt een hulpprogramma gebruiken met de naam nsupdate
, dat is opgenomen in het Bind-pakket, om DDNS-updates te verzenden. Omdat het DDNS-protocol gestandaardiseerd is, kunt u zelfs gebruiken nsupdate
wanneer u geen binding op de DNS-server gebruikt.
U kunt de hooks die worden geleverd door de DHCP-client gebruiken om de hostnaamvermelding in de DNS-server te maken en te onderhouden. Tijdens de DHCP-cyclus voert de client de scripts uit in /etc/dhcp/dhclient-exit-hooks.d/. U kunt de hooks gebruiken om het nieuwe IP-adres te registreren met behulp van nsupdate
. Bijvoorbeeld:
#!/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
U kunt ook de nsupdate
opdracht gebruiken om beveiligde DDNS-updates uit te voeren. Als u bijvoorbeeld een BIND DNS-server gebruikt, wordt een openbaar-persoonlijk sleutelpaar gegenereerd (http://linux.yyz.us/nsupdate/
). De DNS-server is geconfigureerd (http://linux.yyz.us/dns/ddns-server.html
) met het openbare deel van de sleutel, zodat de handtekening op de aanvraag kan worden gecontroleerd. Als u het sleutelpaar wilt opgeven voor nsupdate
, gebruikt u de -k
optie om de DDNS-updateaanvraag te ondertekenen.
Wanneer u een Windows DNS-server gebruikt, kunt u Kerberos-verificatie gebruiken met de -g
parameter in nsupdate
, maar deze is niet beschikbaar in de Windows-versie van nsupdate
. Als u Kerberos wilt gebruiken, gebruikt kinit
u om de referenties te laden. U kunt bijvoorbeeld referenties laden uit een keytab-bestand en vervolgens nsupdate -g
de referenties ophalen uit de cache.
Indien nodig kunt u een DNS-zoekachtervoegsel toevoegen aan uw VM's. Het DNS-achtervoegsel wordt opgegeven in het bestand /etc/resolv.conf . De meeste Linux-distributies beheren automatisch de inhoud van dit bestand, dus meestal kunt u het niet bewerken. U kunt het achtervoegsel echter overschrijven met behulp van de opdracht van supersede
de DHCP-client. Als u het achtervoegsel wilt overschrijven, voegt u de volgende regel toe aan het bestand /etc/dhcp/dhclient.conf :
supersede domain-name <required-dns-suffix>;