Share via


Alternativ för DNS-namnmatchning för virtuella Linux-datorer i Azure

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️

Azure tillhandahåller DNS-namnmatchning som standard för alla virtuella datorer som finns i ett enda virtuellt nätverk. Du kan implementera en egen LÖSNING för DNS-namnmatchning genom att konfigurera dina egna DNS-tjänster på dina virtuella datorer som Azure är värd för. Följande scenarier bör hjälpa dig att välja den som fungerar för din situation.

Vilken typ av namnmatchning du använder beror på hur dina virtuella datorer och rollinstanser behöver kommunicera med varandra.

I följande tabell visas scenarier och motsvarande lösningar för namnmatchning:

Scenario Lösning Suffix
Namnmatchning mellan rollinstanser eller virtuella datorer i samma virtuella nätverk Namnmatchning som Azure tillhandahåller värdnamn eller fullständigt kvalificerat domännamn (FQDN)
Namnmatchning mellan rollinstanser eller virtuella datorer i olika virtuella nätverk Kundhanterade DNS-servrar som vidarebefordrar frågor mellan virtuella nätverk för lösning av Azure (DNS-proxy). Se Namnmatchning med din egen DNS-server. Endast FQDN
Lösning av lokala datorer och tjänstnamn från rollinstanser eller virtuella datorer i Azure Kundhanterade DNS-servrar (till exempel lokal domänkontrollant, lokal skrivskyddad domänkontrollant eller en sekundär DNS-synkronisering med hjälp av zonöverföringar). Se Namnmatchning med din egen DNS-server. Endast FQDN
Lösning av Azure-värdnamn från lokala datorer Vidarebefordra frågor till en kundhanterad DNS-proxyserver i motsvarande virtuella nätverk. Proxyservern vidarebefordrar frågor till Azure för lösning. Se Namnmatchning med din egen DNS-server. Endast FQDN
Omvänd DNS för interna IP-adresser Namnmatchning med din egen DNS-server saknas

Namnmatchning som Azure tillhandahåller

Tillsammans med matchning av offentliga DNS-namn tillhandahåller Azure intern namnmatchning för virtuella datorer och rollinstanser som finns i samma virtuella nätverk. I virtuella nätverk som baseras på Azure Resource Manager är DNS-suffixet konsekvent i det virtuella nätverket. FQDN behövs inte. DNS-namn kan tilldelas till både nätverkskort (NÄTVERKSKORT) och virtuella datorer. Även om den namnmatchning som Azure tillhandahåller inte kräver någon konfiguration, är det inte lämpligt val för alla distributionsscenarier, som du ser i föregående tabell.

Funktioner och överväganden

Funktioner:

  • Ingen konfiguration krävs för att använda namnmatchning som Azure tillhandahåller.
  • Den namnmatchningstjänst som Azure tillhandahåller är mycket tillgänglig. Du behöver inte skapa och hantera kluster av dina egna DNS-servrar.
  • Den namnmatchningstjänst som Azure tillhandahåller kan användas tillsammans med dina egna DNS-servrar för att matcha både lokala och Azure-värdnamn.
  • Namnmatchning tillhandahålls mellan virtuella datorer i virtuella nätverk utan att FQDN behövs.
  • Du kan använda värdnamn som bäst beskriver dina distributioner i stället för att arbeta med automatiskt genererade namn.

Överväganden:

  • DNS-suffixet som Azure skapar kan inte ändras.
  • Du kan inte registrera dina egna poster manuellt.
  • WINS och NetBIOS stöds inte.
  • Värdnamn måste vara DNS-kompatibla. Namn får bara använda 0-9, a-z och "-", och de kan inte starta eller sluta med "-". Se RFC 3696 avsnitt 2.
  • DNS-frågetrafik begränsas för varje virtuell dator. Begränsning bör inte påverka de flesta program. Om begränsning av begäran observeras kontrollerar du att cachelagring på klientsidan är aktiverat. Mer information finns i Få ut mesta möjliga av den namnmatchning som Azure tillhandahåller.

Få ut mesta möjliga av den namnmatchning som Azure tillhandahåller\

Cachelagring på klientsidan:

Vissa DNS-frågor skickas inte över nätverket. Cachelagring på klientsidan hjälper till att minska svarstiden och förbättra motståndskraften mot nätverksinkonsekvenser genom att lösa återkommande DNS-frågor från en lokal cache. DNS-poster innehåller TTL (Time-To-Live) som gör att cacheminnet kan lagra posten så länge som möjligt utan att påverka postens färskhet. Därför är cachelagring på klientsidan lämplig för de flesta situationer.

Vissa Linux-distributioner inkluderar inte cachelagring som standard. Vi rekommenderar att du lägger till en cache i varje virtuell Linux-dator när du har kontrollerat att det inte redan finns någon lokal cache.

Flera olika DNS-cachelagringspaket, till exempel dnsmasq, är tillgängliga. Här följer stegen för att installera dnsmasq på de vanligaste distributionerna:

  1. Installera dnsmasq-paketet:
sudo apt-get install dnsmasq
  1. Aktivera dnsmasq-tjänsten:
sudo systemctl enable dnsmasq.service
  1. Starta dnsmasq-tjänsten:
sudo systemctl start dnsmasq.service

Återförsök på klientsidan

DNS är främst ett UDP-protokoll. Eftersom UDP-protokollet inte garanterar meddelandeleverans hanterar SJÄLVA DNS-protokollet logik för återförsök. Varje DNS-klient (operativsystem) kan uppvisa olika logik för återförsök beroende på skaparens önskemål:

  • Windows-operativsystem försöker igen efter en sekund och sedan igen efter ytterligare två, fyra och ytterligare fyra sekunder.
  • Standardinställningen för Linux försöker igen efter fem sekunder. Du bör ändra detta till att försöka igen fem gånger med en sekunds intervall.

Om du vill kontrollera de aktuella inställningarna på en virtuell Linux-dator, "cat /etc/resolve.conf", och titta på raden alternativ, till exempel:

sudo cat /etc/resolv.conf
options timeout:1 attempts:5

Filen /etc/resolv.conf genereras automatiskt och bör inte redigeras. De specifika steg som lägger till raden "alternativ" varierar beroende på distribution:

Ubuntu (använder resolveconf)

  1. Lägg till alternativraden i /etc/resolvconf/resolv.conf.d/head filen.
  2. Kör sudo resolvconf -u för att uppdatera.

SUSE (använder netconf)

  1. Lägg till timeout:1 attempts:5 i parametern NETCONFIG_DNS_RESOLVER_OPTIONS="" i /etc/sysconfig/network/config.
  2. Kör sudo netconfig update för att uppdatera.

CentOS av Rogue Wave Software (tidigare OpenLogic) (använder NetworkManager)

  1. Lägg till RES_OPTIONS="timeout:1 attempts:5" i /etc/sysconfig/network.
  2. Kör systemctl restart NetworkManager för att uppdatera.

Namnmatchning med din egen DNS-server

Dina namnmatchningsbehov kan gå utöver de funktioner som Azure tillhandahåller. Du kan till exempel kräva DNS-matchning mellan virtuella nätverk. För att täcka det här scenariot kan du använda dina egna DNS-servrar.

DNS-servrar i ett virtuellt nätverk kan vidarebefordra DNS-frågor till rekursiva matchare i Azure för att matcha värdnamn som finns i samma virtuella nätverk. En DNS-server som körs i Azure kan till exempel svara på DNS-frågor för sina egna DNS-zonfiler och vidarebefordra alla andra frågor till Azure. Med den här funktionen kan virtuella datorer se både dina poster i zonfilerna och värdnamnen som Azure tillhandahåller (via vidarebefordraren). Åtkomst till rekursiva matchare i Azure tillhandahålls via den virtuella IP-adressen 168.63.129.16.

DNS-vidarebefordran möjliggör även DNS-matchning mellan virtuella nätverk och gör det möjligt för dina lokala datorer att matcha värdnamn som Azure tillhandahåller. För att lösa värdnamnet för en virtuell dator måste den virtuella DNS-serverdatorn finnas i samma virtuella nätverk och konfigureras för att vidarebefordra värdnamnsfrågor till Azure. Eftersom DNS-suffixet skiljer sig åt i varje virtuellt nätverk kan du använda regler för villkorlig vidarebefordran för att skicka DNS-frågor till rätt virtuellt nätverk för lösning. Följande bild visar två virtuella nätverk och ett lokalt nätverk som utför DNS-matchning mellan virtuella nätverk med hjälp av den här metoden:

DNS-matchning mellan virtuella nätverk

När du använder namnmatchning som Azure tillhandahåller tillhandahålls det interna DNS-suffixet till varje virtuell dator med hjälp av DHCP. När du använder din lösning för egen namnmatchning tillhandahålls inte det här suffixet till virtuella datorer eftersom suffixet stör andra DNS-arkitekturer. Om du vill referera till datorer med FQDN eller för att konfigurera suffixet på dina virtuella datorer kan du använda PowerShell eller API:et för att fastställa suffixet:

  • För virtuella nätverk som hanteras av Azure Resource Manager är suffixet tillgängligt via nätverkskortresursen. Du kan också köra azure network public-ip show <resource group> <pip name> kommandot för att visa information om din offentliga IP-adress, som innehåller det fullständiga domännamnet för nätverkskortet.

Om vidarebefordran av frågor till Azure inte passar dina behov måste du ange en egen DNS-lösning. DNS-lösningen måste:

  • Ange lämplig värdnamnsmatchning, till exempel via DDNS. Om du använder DDNS kan du behöva inaktivera rensning av DNS-poster. DHCP-lån i Azure är mycket långa och rensning kan ta bort DNS-poster i förtid.
  • Ange lämplig rekursiv lösning för att tillåta lösning av externa domännamn.
  • Vara tillgänglig (TCP och UDP på port 53) från de klienter som den betjänar och kunna komma åt Internet.
  • Skyddas mot åtkomst från Internet för att minimera hot från externa agenter.

Kommentar

För bästa prestanda, när du använder virtuella datorer i Azure DNS-servrar, inaktiverar du IPv6 och tilldelar en offentlig IP-adress på instansnivå till varje virtuell DNS-serverdator.