DNS-névfeloldási lehetőségek Linux rendszerű virtuális gépekhez az Azure-ban
Figyelemfelhívás
Ez a cikk a CentOS-ra, egy olyan Linux-disztribúcióra hivatkozik, amely közel áll az élettartam (EOL) állapotához. Fontolja meg a használatát, és ennek megfelelően tervezze meg. További információ: CentOS End Of Life útmutató.
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek rugalmas méretezési ✔️ csoportjai
Az Azure alapértelmezés szerint dns-névfeloldást biztosít az egyetlen virtuális hálózaton lévő összes virtuális géphez. Saját DNS-névfeloldási megoldást úgy valósíthat meg, hogy konfigurálja saját DNS-szolgáltatásait az Azure által üzemeltetett virtuális gépeken. Az alábbi forgatókönyvek segítenek kiválasztani a helyzetnek megfelelőt.
A használt névfeloldás típusa attól függ, hogy a virtuális gépeknek és a szerepkörpéldányoknak hogyan kell kommunikálniuk egymással.
Az alábbi táblázat a forgatókönyveket és a megfelelő névfeloldási megoldásokat mutatja be:
Forgatókönyv | Megoldás | Utótag |
---|---|---|
Névfeloldás szerepkörpéldányok vagy virtuális gépek között ugyanabban a virtuális hálózaton | Az Azure által biztosított névfeloldás | állomásnév vagy teljes tartománynév (FQDN) |
Névfeloldás a különböző virtuális hálózatok szerepkörpéldányai vagy virtuális gépei között | Ügyfél által felügyelt DNS-kiszolgálók, amelyek lekérdezéseket továbbítanak a virtuális hálózatok között az Azure által történő megoldás érdekében (DNS-proxy). Lásd: Névfeloldás saját DNS-kiszolgáló használatával. | Csak teljes tartománynév |
Helyszíni számítógépek és szolgáltatásnevek feloldása szerepkörpéldányokból vagy virtuális gépekről az Azure-ban | Ügyfél által felügyelt DNS-kiszolgálók (például helyszíni tartományvezérlő, helyi írásvédett tartományvezérlő, vagy zónaátvitelekkel szinkronizált másodlagos DNS). Lásd: Névfeloldás saját DNS-kiszolgáló használatával. | Csak teljes tartománynév |
Helyszíni számítógépekről származó Azure-gazdagépnevek feloldása | Lekérdezések továbbítása az ügyfél által felügyelt DNS-proxykiszolgálóra a megfelelő virtuális hálózaton. A proxykiszolgáló továbbítja a lekérdezéseket az Azure-nak megoldás céljából. Lásd: Névfeloldás saját DNS-kiszolgáló használatával. | Csak teljes tartománynév |
Belső IP-címek DNS-ének megfordítása | Névfeloldás saját DNS-kiszolgáló használatával | n.a. |
Az Azure által biztosított névfeloldás
A nyilvános DNS-nevek feloldása mellett az Azure belső névfeloldást biztosít az ugyanazon a virtuális hálózaton található virtuális gépekhez és szerepkörpéldányokhoz. Az Azure Resource Manageren alapuló virtuális hálózatokban a DNS-utótag konzisztens a virtuális hálózaton; nincs szükség a teljes tartománynévre. A DNS-nevek a hálózati adapterekhez és a virtuális gépekhez is hozzárendelhetők. Bár az Azure által biztosított névfeloldás nem igényel konfigurációt, az előző táblázatban látható módon nem megfelelő választás az összes üzembe helyezési forgatókönyvhez.
Funkciók és szempontok
Funkciók:
- Az Azure által biztosított névfeloldás használatához nincs szükség konfigurációra.
- Az Azure által biztosított névfeloldási szolgáltatás magas rendelkezésre állású. Nem kell saját DNS-kiszolgálók fürtöit létrehoznia és kezelnie.
- Az Azure által biztosított névfeloldási szolgáltatás a saját DNS-kiszolgálóival együtt használható a helyszíni és az Azure-beli gazdagépnevek feloldásához.
- A névfeloldás a virtuális hálózatok virtuális gépei között történik, és nincs szükség a teljes tartománynévre.
- Az automatikusan létrehozott nevek használata helyett olyan gazdagépneveket használhat, amelyek a legjobban leírják az üzemelő példányokat.
Szempontok:
- Az Azure által létrehozott DNS-utótag nem módosítható.
- Saját rekordjait nem regisztrálhatja manuálisan.
- A WINS és a NetBIOS nem támogatott.
- A gazdagépneveknek DNS-kompatibilisnek kell lenniük. A neveknek csak 0-9, a-z és "-" karaktereket kell használniuk, és nem kezdődhetnek és nem végződhetnek "-" betűvel. Lásd: RFC 3696 2. szakasz.
- A DNS-lekérdezések forgalmát minden virtuális gép szabályozza. A szabályozás nem befolyásolhatja a legtöbb alkalmazást. Ha a kérések szabályozása figyelhető meg, győződjön meg arról, hogy az ügyféloldali gyorsítótárazás engedélyezve van. További információ: Az Azure által biztosított névfeloldás a lehető legtöbbet nyújtja.
A legtöbbet az Azure által biztosított névfeloldásból szerzi be\
Ügyféloldali gyorsítótárazás:
Egyes DNS-lekérdezéseket a rendszer nem küld a hálózaton keresztül. Az ügyféloldali gyorsítótárazás segít csökkenteni a késést és javítani a hálózati inkonzisztenciák rugalmasságát a helyi gyorsítótárból származó ismétlődő DNS-lekérdezések feloldásával. A DNS-rekordok egy élettartamot (TTL) tartalmaznak, amely lehetővé teszi a gyorsítótár számára, hogy a rekordot a lehető legnagyobb ideig tárolja anélkül, hogy ez hatással lenne a rekord frissességére. Ennek eredményeképpen az ügyféloldali gyorsítótárazás a legtöbb helyzetben megfelelő.
Egyes Linux-disztribúciók alapértelmezés szerint nem tartalmazzák a gyorsítótárazást. Javasoljuk, hogy adjon hozzá gyorsítótárat minden Linux rendszerű virtuális géphez, miután ellenőrizte, hogy nincs-e már helyi gyorsítótár.
Számos különböző DNS-gyorsítótárazási csomag érhető el, például a dnsmasq. A dnsmasq telepítésének lépései a leggyakoribb disztribúciókra:
- Telepítse a dnsmasq csomagot:
sudo apt-get install dnsmasq
- Engedélyezze a dnsmasq szolgáltatást:
sudo systemctl enable dnsmasq.service
- Indítsa el a dnsmasq szolgáltatást:
sudo systemctl start dnsmasq.service
Ügyféloldali újrapróbálkozások
A DNS elsősorban UDP protokoll. Mivel az UDP protokoll nem garantálja az üzenetek kézbesítését, maga a DNS-protokoll kezeli az újrapróbálkozások logikáját. Minden DNS-ügyfél (operációs rendszer) a létrehozó preferenciájától függően eltérő újrapróbálkozási logikát mutathat:
- A Windows operációs rendszerek egy másodperc után újrapróbálkoznak, majd újabb két, négy és újabb négy másodperc után újra próbálkoznak.
- Az alapértelmezett Linux-beállítás öt másodperc után újrapróbálkozza. Ezt úgy kell módosítania, hogy egy másodperces időközönként ötször próbálkozzon újra.
A Linux rendszerű virtuális gépek aktuális beállításainak ellenőrzéséhez tekintse meg a "cat /etc/resolv.conf" kifejezést, és tekintse meg a "beállítások" sort, például:
sudo cat /etc/resolv.conf
options timeout:1 attempts:5
A /etc/resolv.conf
fájl automatikusan létrejön, és nem szerkeszthető. A "beállítások" sor hozzáadásának konkrét lépései eloszlás szerint változnak:
Ubuntu (a resolvconf függvényt használja)
- Adja hozzá a beállítássort a fájlhoz
/etc/resolvconf/resolv.conf.d/head
. - Futtassa
sudo resolvconf -u
a frissítést.
SU Standard kiadás (netconf-et használ)
- Hozzáadás
timeout:1 attempts:5
a paraméterhez aNETCONFIG_DNS_RESOLVER_OPTIONS=""
következőben:/etc/sysconfig/network/config
. - Futtassa
sudo netconfig update
a frissítést.
CentOS by Rogue Wave Software (korábbi nevén OpenLogic) (a NetworkManagert használja)
- Hozzáadás
RES_OPTIONS="timeout:1 attempts:5"
a fájlhoz/etc/sysconfig/network
- Futtassa
systemctl restart NetworkManager
a frissítést.
Névfeloldás saját DNS-kiszolgáló használatával
A névfeloldási igények túlléphetnek az Azure által biztosított funkciókon. Előfordulhat például, hogy DNS-feloldást kell igényelni a virtuális hálózatok között. Ennek a forgatókönyvnek a lefedéséhez használhatja a saját DNS-kiszolgálóit.
A virtuális hálózaton belüli DNS-kiszolgálók továbbíthatják a DNS-lekérdezéseket az Azure rekurzív feloldóinak az azonos virtuális hálózaton található gazdagépnevek feloldásához. Az Azure-ban futó DNS-kiszolgáló például válaszolhat a DNS-lekérdezésekre a saját DNS-zónafájljaihoz, és továbbíthatja az összes többi lekérdezést az Azure-nak. Ez a funkció lehetővé teszi a virtuális gépek számára, hogy az Azure által biztosított zónafájlokban és gazdagépnevekben egyaránt láthassák a bejegyzéseket (a továbbítón keresztül). Az Azure rekurzív feloldóihoz való hozzáférés a 168.63.129.16-os virtuális IP-címen keresztül érhető el.
A DNS-továbbítás lehetővé teszi a DNS-feloldást a virtuális hálózatok között, és lehetővé teszi a helyszíni gépek számára az Azure által biztosított gazdagépnevek feloldását. A virtuális gép gazdanevének feloldásához a DNS-kiszolgáló virtuális gépének ugyanabban a virtuális hálózaton kell lennie, és úgy kell konfigurálnia, hogy a gazdagépnév-lekérdezéseket továbbítsa az Azure-ba. Mivel a DNS-utótag minden virtuális hálózatban eltérő, feltételes továbbítási szabályokkal dns-lekérdezéseket küldhet a megfelelő virtuális hálózatnak a megoldáshoz. Az alábbi képen két virtuális hálózat és egy helyszíni hálózat látható, amelyek DNS-feloldással végeznek dns-feloldási eljárást a virtuális hálózatok között ezzel a módszerrel:
Ha az Azure által biztosított névfeloldást használja, az egyes virtuális gépek belső DNS-utótagja DHCP használatával lesz megadva. Ha saját névfeloldási megoldást használ, a rendszer nem adja meg ezt az utótagot a virtuális gépeknek, mert az utótag zavarja a többi DNS-architektúrát. A teljes tartománynév alapján történő gépekre való hivatkozáshoz vagy a virtuális gépek utótagjának konfigurálásához használhatja a PowerShellt vagy az API-t az utótag meghatározásához:
- Az Azure Resource Manager által felügyelt virtuális hálózatok esetében az utótag a hálózati adapterkártya-erőforráson keresztül érhető el. A parancs futtatásával megjelenítheti a nyilvános IP-cím részleteit is
azure network public-ip show <resource group> <pip name>
, amely tartalmazza a hálózati adapter teljes tartománynevét.
Ha a lekérdezések azure-ba történő továbbítása nem felel meg az igényeinek, saját DNS-megoldást kell biztosítania. A DNS-megoldásnak a következőket kell tennie:
- Adjon meg megfelelő állomásnévfeloldásokat, például DDNS-en keresztül. Ha DDNS-t használ, előfordulhat, hogy le kell tiltania a DNS-rekordok lefaragását. Az Azure DHCP-bérletei nagyon hosszúak, és a törlés idő előtt eltávolíthatja a DNS-rekordokat.
- Adjon meg megfelelő rekurzív felbontást a külső tartománynevek feloldásához.
- Legyen elérhető (TCP és UDP az 53-ai porton) az általa kiszolgált ügyfelektől, és legyen képes az internethez való hozzáférésre.
- Az internetről való hozzáféréssel szemben védve kell lennie a külső ügynökök által jelentett fenyegetések mérséklése érdekében.
Feljegyzés
A legjobb teljesítmény érdekében, ha virtuális gépeket használ az Azure DNS-kiszolgálókon, tiltsa le az IPv6-ot, és rendeljen hozzá példányszintű nyilvános IP-címet minden DNS-kiszolgáló virtuális géphez.