Překlad názvů pro prostředky ve virtuálních sítích Azure

V závislosti na tom, jak používáte Azure k hostování řešení IaaS, PaaS a hybridních řešení, možná budete muset povolit vzájemnou komunikaci virtuálních počítačů a dalších prostředků nasazených ve virtuální síti. I když můžete povolit komunikaci pomocí IP adres, je mnohem jednodušší použít názvy, které lze snadno zapamatovat a nemění se.

Když prostředky nasazené ve virtuálních sítích potřebují přeložit názvy domén na interní IP adresy, mohou použít jednu ze tří metod:

To, který typ překladu názvů použijete, závisí na tom, jak spolu vaše prostředky potřebují vzájemně komunikovat. Následující tabulka ukazuje scénáře a odpovídající řešení překladu ip adres:

Poznámka

Azure DNS privátní zóny je upřednostňovaným řešením a poskytuje flexibilitu při správě zón a záznamů DNS. Další informace najdete v tématu o použití Azure DNS pro privátní domény.

Poznámka

Pokud použijete Azure Provided DNS, na virtuální počítače se automaticky použije odpovídající přípona DNS. U všech ostatních možností musíte buď použít plně kvalifikovaný název domény (FQDN), nebo pro virtuální počítače ručně použít odpovídající příponu DNS.

Scénář Řešení Přípona DNS
Překlad názvů mezi virtuálními počítači umístěnými ve stejné virtuální síti nebo Azure Cloud Services instancí rolí ve stejné cloudové službě. Azure DNS privátních zón nebo překlad adres IP poskytovanýCh Azure Název hostitele nebo plně kvalifikovaný název domény
Překlad názvů mezi virtuálními počítači v různých virtuálních sítích nebo instancemi rolí v různých cloudových službách. Azure DNS privátních zón nebo serverů DNS spravovaných zákazníkem, které předá dotazy mezi virtuálními sítěmi pro překlad azure (proxy server DNS). Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Překlad názvů z Azure App Service (webová aplikace, funkce nebo robot) s využitím integrace virtuální sítě do instancí rolí nebo virtuálních počítačů ve stejné virtuální síti. Servery DNS spravované zákazníkem předávat dotazy mezi virtuálními sítěmi pro překlad službou Azure (proxy DNS). Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Překlad názvů z App Service Web Apps na virtuální počítače ve stejné virtuální síti. Servery DNS spravované zákazníkem předávat dotazy mezi virtuálními sítěmi pro překlad službou Azure (proxy DNS). Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Překlad názvů z App Service Web Apps v jedné virtuální síti na virtuální počítače v jiné virtuální síti. Servery DNS spravované zákazníkem předávat dotazy mezi virtuálními sítěmi pro překlad službou Azure (proxy DNS). Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Překlad názvů místních počítačů a služeb z virtuálních počítačů nebo instancí rolí v Azure Servery DNS spravované zákazníkem (místní řadič domény, místní řadič domény jen pro čtení nebo sekundární server DNS synchronizovaný například pomocí přenosů zón). Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Překlad názvů hostitelů Azure z místních počítačů Předávat dotazy zákazníkovi spravovanému serveru DNS proxy server odpovídající virtuální síti, proxy server dotazy předá do Azure k vyřešení. Viz Překlad názvů pomocí vlastního serveru DNS. Pouze plně kvalifikovaný název domény
Reverzní DNS pro interní IP adresy. Azure DNS privátních zón, překlad adres IP poskytovaný Azure nebo překlad názvů pomocí vlastního serveru DNS. Neuvedeno
Překlad názvů mezi virtuálními počítači nebo instancemi rolí umístěnými v různých cloudových službách, nikoli ve virtuální síti. Neužívá se. Připojení mezi virtuálními počítači a instancemi rolí v různých cloudových službách není podporováno mimo virtuální síť. Neuvedeno

Překlad adres IP poskytovaný Azure

Překlad názvů poskytovaný Azure poskytuje pouze základní autoritativní funkce DNS. Pokud použijete tuto možnost, názvy zón DNS a záznamy se budou automaticky spravovat v Azure a nebudete moct řídit názvy zón DNS ani životní cyklus záznamů DNS. Pokud pro své virtuální sítě potřebujete plně vybavené řešení DNS, musíte použít Azure DNS zóny nebo servery DNS spravované zákazníkem.

Kromě překladu veřejných názvů DNS poskytuje Azure interní překlad adres IP pro virtuální počítače a instance rolí, které se nacházejí ve stejné virtuální síti nebo cloudové službě. Virtuální počítače a instance v cloudové službě sdílejí stejnou příponu DNS, takže stačí samotný název hostitele. Ale ve virtuálních sítích nasazených pomocí modelu nasazení Classic mají různé cloudové služby různé přípony DNS. V této situaci potřebujete plně kvalifikovaný název domény k překladu názvů mezi různými cloudovými službami. Ve virtuálních sítích nasazených pomocí modelu nasazení Azure Resource Manager je přípona DNS konzistentní napříč všemi virtuálními počítači ve virtuální síti, takže plně kvalifikovaný název domény není potřeba. Názvy DNS je možné přiřadit virtuálním počítačům i síťovým rozhraním. I když překlad názvů poskytovaný Azure nevyžaduje žádnou konfiguraci, není to vhodná volba pro všechny scénáře nasazení, jak je podrobně uvedené v předchozí tabulce.

Poznámka

Při používání webových a pracovních rolí cloudových služeb můžete také přistupovat k interním IP adresám instancí rolí pomocí služby Azure Service Management REST API. Další informace najdete v referenčních informacích k REST API správy služeb. Adresa je založená na názvu role a číslu instance.

Funkce

Překlad názvů poskytovaný Azure zahrnuje následující funkce:

  • Snadné použití. Není nutná žádná konfigurace.
  • Vysoká dostupnost Nemusíte vytvářet a spravovat clustery vlastních serverů DNS.
  • Službu můžete použít ve spojení s vlastními servery DNS k překladu názvů místních hostitelů i hostitelů Azure.
  • Překlad adres IP můžete použít mezi virtuálními počítače a instancemi rolí v rámci stejné cloudové služby, aniž by bylo nutné používat plně kvalifikovaný název domény.
  • Překlad adres IP můžete použít mezi virtuálními počítači ve virtuálních sítích, které používají Azure Resource Manager nasazení, a to bez použití plně kvalifikovaných názvů domény. Virtuální sítě v modelu nasazení Classic vyžadují plně kvalifikovaný název domény při překladu názvů v různých cloudových službách.
  • Místo práce s automaticky generovanými názvy můžete použít názvy hostitelů, které nejlépe popisují vaše nasazení.

Požadavky

Při použití překladu názvů poskytovaných Azure je třeba vzít v úvahu tyto body:

  • Příponu DNS vytvořenou v Azure není možné upravit.
  • Vyhledávání DNS je vymezené na virtuální síť. Názvy DNS vytvořené pro jednu virtuální síť nelze přeložit z jiných virtuálních sítí.
  • Nemůžete ručně zaregistrovat vlastní záznamy.
  • Wins a NetBIOS se nepodporují. Virtuální počítače se v Průzkumníku Windows exploreru.
  • Názvy hostitelů musí být kompatibilní s DNS. Názvy musí používat jenom 0–9, a–z a "-" a nesmí začíná ani končít na "-".
  • Provoz dotazů DNS se pro každý virtuální počítač omeští. Omezování by nemělo mít vliv na většinu aplikací. Pokud se pozoruje omezování požadavků, ujistěte se, že je povolené ukládání do mezipaměti na straně klienta. Další informace najdete v tématu Konfigurace klienta DNS.
  • V modelu nasazení Classic jsou pro každou virtuální síť zaregistrované jenom virtuální počítače v prvních 180 cloudových službách. Toto omezení se nevztahuje na virtuální sítě v Azure Resource Manager.
  • IP Azure DNS ip adresa je 168.63.129.16. Jedná se o statickou IP adresu, která se nezmění.

Reverzní aspekty DNS

Reverzní DNS se podporuje ve všech virtuálních sítích založených na ARM. Můžete vydávat reverzní dotazy DNS (dotazy PTR) pro mapování IP adres virtuálních počítačů na názvy FQDN virtuálních počítačů.

  • Všechny dotazy PTR pro IP adresy virtuálních počítačů vrátí názvy FQDN ve formátu [ název_virtuálního_počítače ] .internal.cloudapp.net
  • Dopředné vyhledávání na FQDN ve formátu název_virtuálního_počítače .internal.cloudapp.net se překládá na IP adresu přiřazenou [ ] virtuálnímu počítači.
  • Pokud je virtuální síť propojená s Azure DNS privátními zónami jako registrační virtuální síť, vrátí reverzní dotazy DNS dva záznamy. Jeden záznam bude ve tvaru [ název_virtuálního_počítače ] .[ privatednszonename] a druhá bude ve tvaru [ název_virtuálního_počítače ] .internal.cloudapp.net
  • Reverzní vyhledávání DNS je vymezeno na danou virtuální síť i v případě, že je v partnerském vztahu s jinými virtuálními sítěmi. Reverzní dotazy DNS (dotazy PTR) pro IP adresy virtuálních počítačů umístěných v partnerských virtuálních sítích vrátí NXDOMAIN.
  • Pokud chcete vypnout reverzní funkci DNS ve virtuální síti, můžete to udělat tak, že vytvoříte zónu zpětného vyhledávání pomocí privátních zón Azure DNS propoojíte tuto zónu s virtuální sítí. Pokud je například adresní prostor IP adres vaší virtuální sítě 10.20.0.0/16, můžete vytvořit prázdnou privátní zónu DNS 20.10.in-addr.arpa a propojit ji s virtuální sítí. Při propojování zóny s virtuální sítí byste měli na odkazu zakázat automatickou registraci. Tato zóna přepíše výchozí zóny zpětného vyhledávání pro virtuální síť a vzhledem k tomu, že je tato zóna prázdná, získáte NXDOMAIN pro vaše reverzní dotazy DNS. Podrobnosti o tom, jak vytvořit privátní zónu DNS a propojit ji s virtuální sítí, najdete v naší příručce Rychlý start.

Poznámka

Pokud chcete, aby zpětné vyhledávání DNS bylo rozloženo napříč virtuální sítí, můžete vytvořit zónu zpětného vyhledávání (v souboru in-addr.arpa) Azure DNS privátní zóny a propoutit ji s více virtuálními sítěmi. Budete ale muset ručně spravovat reverzní záznamy DNS pro virtuální počítače.

Konfigurace klienta DNS

Tato část se věnuje ukládání do mezipaměti na straně klienta a opakování na straně klienta.

Ukládání do mezipaměti na straně klienta

Ne každý dotaz DNS se musí odeslat přes síť. Ukládání do mezipaměti na straně klienta pomáhá snížit latenci a zlepšit odolnost proti síťovým třem tečkám tím, že překládání opakovaných dotazů DNS z místní mezipaměti. Záznamy DNS obsahují mechanismus hodnoty TTL (Time to Live), který mezipaměti umožňuje ukládat záznam co nejdéle, aniž by to ovlivnilo jeho úplnost. Ukládání do mezipaměti na straně klienta je proto vhodné pro většinu situací.

Výchozí nastavení Windows DNS má integrovanou mezipaměť DNS. Některé distribuce Linuxu ve výchozím nastavení nezahrnují ukládání do mezipaměti. Pokud zjistíte, že ještě není místní mezipaměť, přidejte do každého virtuálního počítače s Linuxem mezipaměť DNS.

K dispozici je řada různých balíčků pro ukládání do mezipaměti DNS (například dnsmasq). Tady je postup instalace dnsmasq na nejběžnější distribuce:

  • Ubuntu (používá resolvconf):
    • Nainstalujte balíček dnsmasq pomocí sudo apt-get install dnsmasq .
  • SUSE (používá netconf):
    • Nainstalujte balíček dnsmasq pomocí sudo zypper install dnsmasq .
    • Povolte službu dnsmasq pomocí systemctl enable dnsmasq.service .
    • Spusťte službu dnsmasq pomocí systemctl start dnsmasq.service .
    • Upravte /etc/sysconfig/network/config a změňte NETCONFIG_DNS_FORWARDER="" na dnsmasq.
    • Aktualizujte soubor resolv.conf na netconfig update , aby se mezipaměť nastavila jako místní překladač DNS.
  • CentOS (používá NetworkManager):
    • Nainstalujte balíček dnsmasq pomocí sudo yum install dnsmasq .
    • Povolte službu dnsmasq pomocí systemctl enable dnsmasq.service .
    • Spusťte službu dnsmasq pomocí systemctl start dnsmasq.service .
    • Přidejte prepend domain-name-servers 127.0.0.1; do /etc/dhclient-eth0.conf.
    • Restartujte síťovou službu pomocí service network restart , abyste nastavili mezipaměť jako místní překladač DNS.

Poznámka

Balíček dnsmasq je pouze jednou z mnoha mezipamětí DNS dostupných pro Linux. Než ji začnete používat, zkontrolujte její vhodnost pro vaše konkrétní potřeby a zkontrolujte, že není nainstalovaná žádná jiná mezipaměť.

Opakování na straně klienta

DNS je primárně protokol UDP. Vzhledem k tomu, že protokol UDP nezaručuje doručování zpráv, logika opakování se zpracovává v samotném protokolu DNS. Každý klient DNS (operační systém) může vykazovat různou logiku opakování v závislosti na předvolbách autora:

  • Windows operační systémy zkusí to znovu po jedné sekundě a potom znovu po dvou sekundách, čtyřech sekundách a dalších čtyřech sekundách.
  • Výchozí linuxová instalace se po pěti sekundách znovu zotočí. Doporučujeme změnit specifikace opakování na pětkrát v sekundových intervalech.

Zkontrolujte aktuální nastavení na virtuálním počítači s Linuxem pomocí cat /etc/resolv.conf . Podívejte se na řádek možností, například:

options timeout:1 attempts:5

Soubor resolv.conf se obvykle automaticky vygeneruje a neměl by se upravovat. Konkrétní kroky pro přidání řádku možností se liší podle rozdělení:

  • Ubuntu (používá resolvconf):
    1. Přidejte řádek možností do /etc/resolvconf/resolv.conf.d/tail.
    2. Spusťte resolvconf -u a aktualizujte ho.
  • SUSE (používá netconf):
    1. Přidejte parametr timeout:1 attempts:5 do parametru NETCONFIG_DNS_RESOLVER_OPTIONS="" v adresáři /etc/sysconfig/network/config.
    2. Spusťte netconfig update a aktualizujte ho.
  • CentOS (používá NetworkManager):
    1. Přidejte řádek RES_OPTIONS="options timeout:1 attempts:5" do souboru /etc/sysconfig/network-scripts/ifcfg-eth0.
    2. Aktualizujte pomocí systemctl restart NetworkManager.service .

Překlad názvů, který používá vlastní server DNS

Tato část se zabývá virtuálními počítače, instancemi rolí a webovými aplikacemi.

Virtuální počítače a instance rolí

Vaše potřeby překladu názvů můžou jít nad rámec funkcí poskytovaných Azure. Můžete například potřebovat použít domény Microsoftu Windows Server Active Directory, překládá názvy DNS mezi virtuálními sítěmi. Pro tyto scénáře azure poskytuje možnost používat vlastní servery DNS.

Servery DNS v rámci virtuální sítě mohou předávat dotazy DNS rekurzivním překladači v Azure. To vám umožní přeložit názvy hostitelů v rámci této virtuální sítě. Například řadič domény běžící v Azure může reagovat na dotazy DNS pro své domény a všechny ostatní dotazy předávat do Azure. Předávání dotazů umožňuje virtuálním počítačům zobrazit jak vaše místní prostředky (přes řadič domény), tak názvy hostitelů poskytované Azure (prostřednictvím služby předávání). Přístup k rekurzivním překladači v Azure se poskytuje prostřednictvím virtuální IP adresy 168.63.129.16.

Předávání DNS také umožňuje překlad DNS mezi virtuálními sítěmi a umožňuje místním počítačům překládávat názvy hostitelů poskytované Azure. Aby bylo možné přeložit název hostitele virtuálního počítače, musí se virtuální počítač serveru DNS nacházet ve stejné virtuální síti a musí být nakonfigurovaný k předávání dotazů na názvy hostitelů do Azure. Vzhledem k tomu, že se přípona DNS v každé virtuální síti liší, můžete pomocí pravidel podmíněného předávání odesílat dotazy DNS do správné virtuální sítě k překladu. Následující obrázek ukazuje dvě virtuální sítě a místní síť, která dělá překlad DNS mezi virtuálními sítěmi pomocí této metody. Příklad služby předávání DNS je k dispozici v galerii šablon Azure pro rychlý start aGitHub .

Poznámka

Instance role může provádět překlad adres IP virtuálních počítačů v rámci stejné virtuální sítě. Používá k tomu plně kvalifikovaný název domény, který se skládá z názvu hostitele virtuálního počítače a přípony internal.cloudapp.net DNS. V tomto případě je však překlad adres IP úspěšný pouze v případě, že má instance role název virtuálního počítače definovaný v souboru schématu role (soubor .cscfg). <Role name="<role-name>" vmName="<vm-name>">

Instance rolí, které potřebují provádět překlad adres IP virtuálních počítačů v jiné virtuální síti (plně kvalifikovaný název domény pomocí přípony internal.cloudapp.net), k tomu musí použít metodu popsanou v této části (vlastní servery DNS předáné mezi dvěma virtuálními sítěmi).

Diagram DNS mezi virtuálními sítěmi

Pokud používáte překlad adres IP poskytovaný Azure, protokol DHCP (Dynamic Host Configuration Protocol) Azure poskytne každému virtuálnímu počítači interní příponu DNS (.internal.cloudapp.net). Tato přípona umožňuje překlad názvů hostitelů, protože záznamy názvů hostitelů jsou v internal.cloudapp.net zóně. Pokud používáte vlastní řešení překladu ip adres, tato přípona se virtuálním počítači nezadá, protože narušuje jiné architektury DNS (například scénáře připojené k doméně). Místo toho Azure poskytuje ne funkční zástupný symbol (reddog.microsoft.com).

V případě potřeby můžete určit interní příponu DNS pomocí PowerShellu nebo rozhraní API:

Pokud předávání dotazů do Azure vašim potřebám vyhovuje, měli byste zadat vlastní řešení DNS. Vaše řešení DNS musí:

  • Zadejte odpovídající překlad názvů hostitelů, například prostřednictvím DDNS. Pokud používáte DDNS, možná budete muset zakázat generování záznamů DNS. Zapůjčení Azure DHCP jsou dlouhá a při předčasném úklidu se můžou odebrat záznamy DNS.
  • Zadejte odpovídající rekurzivní překlad, který umožní překlad externích názvů domén.
  • Být přístupný (TCP a UDP na portu 53) z klientů, které poskytuje, a mít přístup k internetu.
  • Zabezpečení před přístupem z internetu za účelem zmírnění hrozeb volaných externími agenty

Poznámka

Pokud pro nejlepší výkon používáte virtuální počítače Azure jako servery DNS, měl by být protokol IPv6 zakázaný.

Webové aplikace

Předpokládejme, že potřebujete provést překlad adres IP z webové aplikace vytvořené pomocí App Service propojených s virtuální sítí na virtuální počítače ve stejné virtuální síti. Kromě nastavení vlastního serveru DNS, který má službu předávání DNS, která předává dotazy do Azure (virtuální IP adresa 168.63.129.16), proveďte následující kroky:

  1. Pokud jste to ještě neudělali, povolte pro svou webovou aplikaci integraci virtuální sítě, jak je popsáno v článku Integrace aplikace s virtuální sítí.

  2. V části Azure Portal jako plán App Service hostující webovou aplikaci vyberte Synchronizovat síť v části Sítě a Virtual Network integrace.

    Snímek obrazovky s překladem názvů virtuálních sítí

Pokud potřebujete provést překlad adres IP z webové aplikace vytvořené pomocí služby App Service propojené s virtuální sítí na virtuální počítače v jiné virtuální síti, musíte v obou virtuálních sítích použít vlastní servery DNS, a to následujícím způsobem:

  • Nastavte server DNS v cílové virtuální síti na virtuálním počítači, který může také předávat dotazy rekurzivnímu překladači v Azure (virtuální IP adresa 168.63.129.16). Příklad služby předávání DNS je k dispozici v galerii šablon Azure pro rychlý start aGitHub .
  • Nastavte ve zdrojové virtuální síti na virtuálním počítači službu předávání DNS. Nakonfigurujte tento nástroj pro předávání DNS tak, aby předá dotazy na server DNS v cílové virtuální síti.
  • Nakonfigurujte zdrojový server DNS v nastavení zdrojové virtuální sítě.
  • Povolte integraci virtuální sítě, aby se vaše webová aplikace propojuje se zdrojovou virtuální sítí podle pokynů v tématu Integrace aplikace s virtuální sítí.
  • V části Azure Portal jako plán App Service hostující webovou aplikaci vyberte Synchronizovat síť v části Sítě a Virtual Network integrace.

Zadání serverů DNS

Když používáte vlastní servery DNS, Azure poskytuje možnost zadat pro každou virtuální síť více serverů DNS. Můžete také zadat více serverů DNS pro každé síťové rozhraní (pro Azure Resource Manager) nebo pro každou cloudovou službu (pro klasický model nasazení). Servery DNS zadané pro síťové rozhraní nebo cloudovou službu mají přednost před servery DNS zadanými pro virtuální síť.

Poznámka

Vlastnosti síťového připojení, jako jsou IP adresy serverů DNS, by se neměly upravovat přímo v rámci virtuálních počítače. Je to proto, že se můžou během nápravy služeb vymazat, když se adaptér virtuální sítě nahradí. To platí pro virtuální Windows i virtuální počítače s Linuxem.

Pokud používáte model nasazení Azure Resource Manager, můžete určit servery DNS pro virtuální síť a síťové rozhraní. Podrobnosti najdete v tématu Správa virtuální sítě a Správa síťového rozhraní.

Poznámka

Pokud pro virtuální síť zvolíte vlastní server DNS, musíte zadat alespoň jednu IP adresu serveru DNS. Jinak bude virtuální síť konfiguraci ignorovat a místo toho použije DNS poskytované Azure.

Pokud používáte model nasazení Classic, můžete zadat servery DNS pro virtuální síť v souboru Azure Portal nebo konfigurace sítě. Pro cloudové služby můžete určit servery DNS prostřednictvím konfiguračního souboru služby nebo pomocí PowerShellu s rutinou New-AzureVM.

Poznámka

Pokud změníte nastavení DNS pro virtuální síť nebo virtuální počítač, který je už nasazený, aby se nové nastavení DNS projeví, musíte na všech ovlivněných virtuálních počítači ve virtuální síti provést obnovení zapůjčení DHCP. U virtuálních Windows operačního systému to můžete udělat zadáním přímo ipconfig /renew do virtuálního počítače. Postup se liší v závislosti na operačním systému. Prohlédněte si příslušnou dokumentaci pro váš typ operačního systému.

Další kroky

Azure Resource Manager nasazení:

Model nasazení Classic: