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:
- Azure DNS privátních zón
- Překlad adres IP poskytovaný Azure
- Překlad názvů, který používá vlastní server DNS (který může předávat dotazy serverům DNS poskytovaným Azure)
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.
- Nainstalujte balíček dnsmasq pomocí
- 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.
- Nainstalujte balíček dnsmasq pomocí
- 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.
- Nainstalujte balíček dnsmasq pomocí
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):
- Přidejte řádek možností do /etc/resolvconf/resolv.conf.d/tail.
- Spusťte
resolvconf -ua aktualizujte ho.
- SUSE (používá netconf):
- Přidejte parametr timeout:1 attempts:5 do parametru NETCONFIG_DNS_RESOLVER_OPTIONS="" v adresáři /etc/sysconfig/network/config.
- Spusťte
netconfig updatea aktualizujte ho.
- CentOS (používá NetworkManager):
- Přidejte řádek RES_OPTIONS="options timeout:1 attempts:5" do souboru /etc/sysconfig/network-scripts/ifcfg-eth0.
- 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).

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:
- Pro virtuální sítě v modelech nasazení Azure Resource Manager je přípona dostupná prostřednictvím rozhraní REST API,rutiny PowerShellu Get-AzNetworkInterface Azure Resource Manager příkazu az network nic show Azure CLI.
- V modelech nasazení Classic je přípona dostupná prostřednictvím volání rozhraní API Get Deployment nebo rutiny Get-AzureVM -Debug.
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:
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í.
V části Azure Portal jako plán App Service hostující webovou aplikaci vyberte Synchronizovat síť v části Sítě a Virtual Network integrace.

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: