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:

  1. Telepítse a dnsmasq csomagot:
sudo apt-get install dnsmasq
  1. Engedélyezze a dnsmasq szolgáltatást:
sudo systemctl enable dnsmasq.service
  1. 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)

  1. Adja hozzá a beállítássort a fájlhoz /etc/resolvconf/resolv.conf.d/head .
  2. Futtassa sudo resolvconf -u a frissítést.

SU Standard kiadás (netconf-et használ)

  1. Hozzáadás timeout:1 attempts:5 a paraméterhez a NETCONFIG_DNS_RESOLVER_OPTIONS="" következőben: /etc/sysconfig/network/config.
  2. Futtassa sudo netconfig update a frissítést.

CentOS by Rogue Wave Software (korábbi nevén OpenLogic) (a NetworkManagert használja)

  1. Hozzáadás RES_OPTIONS="timeout:1 attempts:5" a fájlhoz /etc/sysconfig/network
  2. 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:

DNS-feloldás virtuális hálózatok között

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.