Konfigurera DNS-vidarebefordring för Azure Files

Azure Files kan du skapa privata slutpunkter för de lagringskonton som innehåller dina filresurser. Även om de är användbara för många olika program är privata slutpunkter särskilt användbara för att ansluta till dina Azure-filresurser från ditt lokala nätverk med hjälp av en VPN- eller ExpressRoute-anslutning med privat peering.

För att anslutningar till ditt lagringskonto ska kunna gå via nätverkstunneln måste det fullständigt kvalificerade domännamnet (FQDN) för ditt lagringskonto matcha den privata slutpunktens privata IP-adress. För att uppnå detta måste du vidarebefordra lagringsslutpunktssuffixet (core.windows.net för offentliga molnregioner) till den privata DNS-tjänsten i Azure som är tillgänglig inifrån ditt virtuella nätverk. Den här guiden visar hur du konfigurerar DNS-vidarebefordran för korrekt matchning till lagringskontots privata slutpunkts-IP-adress.

Vi rekommenderar starkt att du läser Planera för en Azure Files distribution och Azure Files nätverksöverväganden innan du slutför stegen som beskrivs i den här artikeln.

Gäller för

Typ av filresurs SMB NFS
Standardfilresurser (GPv2), LRS/ZRS Ja Inga
Standardfilresurser (GPv2), GRS/GZRS Ja Inga
Premiumfilresurser (FileStorage), LRS/ZRS Ja Yes

Översikt

Azure Files innehåller följande typer av slutpunkter för åtkomst till Azure-filresurser:

  • Offentliga slutpunkter, som har en offentlig IP-adress och kan nås var som helst i världen.
  • Privata slutpunkter, som finns i ett virtuellt nätverk och har en privat IP-adress inifrån adressutrymmet för det virtuella nätverket.
  • Tjänstslutpunkter, som begränsar åtkomsten till den offentliga slutpunkten till specifika virtuella nätverk. Du har fortfarande åtkomst till lagringskontot via den offentliga IP-adressen, men åtkomst är endast möjlig från de platser som du anger i konfigurationen.

Offentliga och privata slutpunkter finns på Azure Storage-kontot. Ett lagringskonto är en hanteringskonstruktion som representerar en delad lagringspool där du kan distribuera flera filresurser, samt andra lagringsresurser, till exempel blobcontainrar eller köer.

Varje lagringskonto har ett fullständigt kvalificerat domännamn (FQDN). För de offentliga molnregionerna följer detta FQDN mönstret storageaccount.file.core.windows.net där storageaccount är namnet på lagringskontot. När du gör begäranden mot det här namnet, till exempel att montera resursen på din arbetsstation, utför operativsystemet en DNS-sökning för att matcha det fullständigt kvalificerade domännamnet till en IP-adress.

Som standard storageaccount.file.core.windows.net matchas den offentliga slutpunktens IP-adress. Den offentliga slutpunkten för ett lagringskonto finns i ett Azure Storage-kluster som är värd för många andra lagringskontons offentliga slutpunkter. När du skapar en privat slutpunkt länkas en privat DNS-zon till det virtuella nätverk som den lades till i, med en CNAME-postmappning storageaccount.file.core.windows.net till en A-postpost för den privata IP-adressen för lagringskontots privata slutpunkt. På så sätt kan du använda storageaccount.file.core.windows.net FQDN i det virtuella nätverket och få det att matcha den privata slutpunktens IP-adress.

Eftersom vårt slutliga mål är att komma åt Azure-filresurserna som finns i lagringskontot lokalt med hjälp av en nätverkstunnel, till exempel en VPN- eller ExpressRoute-anslutning, måste du konfigurera dina lokala DNS-servrar för att vidarebefordra begäranden som görs till Azure Files-tjänsten till den privata Dns-tjänsten i Azure.

Du kan konfigurera DNS-vidarebefordring på något av två sätt:

  • Använd virtuella DNS-serverdatorer: Konfigurera villkorlig vidarebefordran av *.core.windows.net (eller lämpligt lagringsslutpunktssuffix för amerikanska myndigheter, tyskland eller nationella moln i Kina) till en virtuell DNS-serverdator som finns i ditt virtuella Azure-nätverk. Den här DNS-servern vidarebefordrar sedan rekursivt begäran till Azures privata DNS-tjänst, vilket löser FQDN för lagringskontot till lämplig privat IP-adress. Det här är ett engångssteg för alla Azure-filresurser som finns i ditt virtuella nätverk.

  • Använd Privat Matchare för Azure DNS: Om du inte vill distribuera en VM-baserad DNS-server kan du utföra samma uppgift med hjälp av Azure DNS Private Resolver.

Förutom Azure Files vidarebefordras DNS-namnmatchningsbegäranden för andra Azure-lagringstjänster (Azure Blob Storage, Azure Table Storage, Azure Queue Storage osv.) till Azures privata DNS-tjänst. Du kan lägga till ytterligare slutpunkter för andra Azure-tjänster om du vill.

Förutsättningar

Innan du kan konfigurera DNS-vidarebefordran till Azure Files behöver du följande:

Konfigurera DNS-vidarebefordran med hjälp av virtuella datorer

Om du redan har DNS-servrar på plats i ditt virtuella Azure-nätverk, eller om du föredrar att distribuera dina egna virtuella DNS-serverdatorer oavsett vilken metod din organisation använder, kan du konfigurera DNS med de inbyggda PowerShell-cmdletarna för DNS-servern.

Diagram som visar nätverkstopologin för att konfigurera D N S-vidarebefordran med hjälp av virtuella datorer i Azure.

Viktigt

Den här guiden förutsätter att du använder DNS-servern i Windows Server i din lokala miljö. Alla steg som beskrivs här är möjliga med alla DNS-servrar, inte bara Windows DNS-servern.

Skapa en villkorlig vidarebefordrare med hjälp av Add-DnsServerConditionalForwarderZonepå dina lokala DNS-servrar. Den här villkorliga vidarebefordraren måste distribueras på alla dina lokala DNS-servrar för att kunna vidarebefordra trafik till Azure korrekt. Kom ihåg att ersätta posterna <azure-dns-server-ip> med lämpliga IP-adresser för din miljö.

$vnetDnsServers = "<azure-dns-server-ip>", "<azure-dns-server-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $vnetDnsServers

På DNS-servrarna i ditt virtuella Azure-nätverk måste du också placera en vidarebefordrare på plats så att begäranden för lagringskontots DNS-zon dirigeras till den privata Azure DNS-tjänsten, som frontas av den reserverade IP-adressen 168.63.129.16. (Kom ihåg att fylla $storageAccountEndpoint i om du kör kommandona i en annan PowerShell-session.)

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers "168.63.129.16"

Konfigurera DNS-vidarebefordran med azure DNS Private Resolver

Om du föredrar att inte distribuera virtuella DNS-serverdatorer kan du utföra samma uppgift med hjälp av Azure DNS Private Resolver. Se Skapa en privat Azure DNS-matchare med hjälp av Azure Portal.

Diagram som visar nätverkstopologin för att konfigurera D N S-vidarebefordran med azure D N S private resolver.

Det finns ingen skillnad i hur du konfigurerar dina lokala DNS-servrar, förutom att i stället för att peka på IP-adresserna för DNS-servrarna i Azure pekar du på matcharens inkommande slutpunkts-IP-adress. Matcharen kräver ingen konfiguration eftersom den vidarebefordrar frågor till den privata Azure DNS-servern som standard. Om en privat DNS-zon är länkad till det virtuella nätverk där matcharen distribueras kan matcharen svara med poster från DNS-zonen.

Varning

När du konfigurerar vidarebefordrare för core.windows.net-zonen vidarebefordras alla frågor för den här offentliga domänen till din Azure DNS-infrastruktur. Detta orsakar ett problem när du försöker komma åt ett lagringskonto för en annan klientorganisation som har konfigurerats med privata slutpunkter, eftersom Azure DNS svarar på frågan för lagringskontots offentliga namn med ett CNAME som inte finns i din privata DNS-zon. En lösning på det här problemet är att skapa en privat slutpunkt mellan klientorganisationer i din miljö för att ansluta till lagringskontot.

Om du vill konfigurera DNS-vidarebefordran med azure DNS Private Resolver kör du det här skriptet på dina lokala DNS-servrar. Ersätt <resolver-ip> med matcharens inkommande slutpunkts-IP-adress.

$privateResolver = "<resolver-ip>"

$storageAccountEndpoint = Get-AzContext | `
    Select-Object -ExpandProperty Environment | `
    Select-Object -ExpandProperty StorageEndpointSuffix

Add-DnsServerConditionalForwarderZone `
        -Name $storageAccountEndpoint `
        -MasterServers $privateResolver

Bekräfta DNS-vidarebefordrare

Innan du testar för att se om DNS-vidarebefordrarna har tillämpats rekommenderar vi att du rensar DNS-cachen på den lokala arbetsstationen med hjälp av Clear-DnsClientCache. Om du vill testa om du kan matcha FQDN för ditt lagringskonto använder Resolve-DnsName du eller nslookup.

# Replace storageaccount.file.core.windows.net with the appropriate FQDN for your storage account.
# Note that the proper suffix (core.windows.net) depends on the cloud you're deployed in.
Resolve-DnsName -Name storageaccount.file.core.windows.net

Om namnmatchningen lyckas bör du se att den matchade IP-adressen matchar IP-adressen för ditt lagringskonto.

Name                              Type   TTL   Section    NameHost
----                              ----   ---   -------    --------
storageaccount.file.core.windows. CNAME  29    Answer     csostoracct.privatelink.file.core.windows.net
net

Name       : storageaccount.privatelink.file.core.windows.net
QueryType  : A
TTL        : 1769
Section    : Answer
IP4Address : 192.168.0.4

Om du monterar en SMB-filresurs kan du också använda Test-NetConnection kommandot för att bekräfta att en TCP-anslutning kan upprättas till ditt lagringskonto.

Test-NetConnection -ComputerName storageaccount.file.core.windows.net -CommonTCPPort SMB

Se även