Configurar o reencaminhamento de DNS para Ficheiros do AzureConfiguring DNS forwarding for Azure Files

O Azure Files permite-lhe criar pontos finais privados para as contas de armazenamento que contêm as suas ações de ficheiro.Azure Files enables you to create private endpoints for the storage accounts containing your file shares. Embora úteis para muitas aplicações diferentes, os pontos finais privados são especialmente úteis para ligar às suas ações de ficheiros Azure da sua rede de acesso ao local utilizando uma ligação VPN ou ExpressRoute utilizando o peering privado.Although useful for many different applications, private endpoints are especially useful for connecting to your Azure file shares from your on-premises network using a VPN or ExpressRoute connection using private-peering.

Para que as ligações à sua conta de armazenamento se debruçassem sobre o seu túnel de rede, o nome de domínio totalmente qualificado (FQDN) da sua conta de armazenamento deve resolver-se para o endereço IP privado do seu ponto final privado.In order for connections to your storage account to go over your network tunnel, the fully qualified domain name (FQDN) of your storage account must resolve to your private endpoint's private IP address. Para isso, deve encaminhar o sufixo de ponto final de armazenamento core.windows.net (para regiões de nuvem pública) para o serviço de DNS privado Azure acessível a partir da sua rede virtual.To achieve this, you must forward the storage endpoint suffix (core.windows.net for public cloud regions) to the Azure private DNS service accessible from within your virtual network. Este guia mostrará como configurar e configurar o reencaminhamento de DNS para resolver corretamente o endereço IP do seu ponto final privado da sua conta de armazenamento.This guide will show how to setup and configure DNS forwarding to properly resolve to your storage account's private endpoint IP address.

Recomendamos vivamente que leia Planeamento para uma implementação de Ficheiros Azure e considerações de networking de Ficheiros Azure antes de completar os passos descritos neste artigo.We strongly recommend that you read Planning for an Azure Files deployment and Azure Files networking considerations before you complete the steps described in this article.

Descrição GeralOverview

A Azure Files fornece dois tipos principais de pontos finais para aceder a ações de ficheiros Azure:Azure Files provides two main types of endpoints for accessing Azure file shares:

  • Pontos finais públicos, que têm um endereço IP público e podem ser acedidos a partir de qualquer parte do mundo.Public endpoints, which have a public IP address and can be accessed from anywhere in the world.
  • Pontos finais privados, que existem dentro de uma rede virtual e têm um endereço IP privado a partir do espaço de endereço dessa rede virtual.Private endpoints, which exist within a virtual network and have a private IP address from within the address space of that virtual network.

Os pontos finais públicos e privados existem na conta de armazenamento Azure.Public and private endpoints exist on the Azure storage account. Uma conta de armazenamento é uma construção de gestão que representa um conjunto partilhado de armazenamento no qual você pode implementar várias partilhas de arquivos, bem como outros recursos de armazenamento, tais como recipientes blob ou filas.A storage account is a management construct that represents a shared pool of storage in which you can deploy multiple file shares, as well as other storage resources, such as blob containers or queues.

Cada conta de armazenamento tem um nome de domínio totalmente qualificado (FQDN).Every storage account has a fully qualified domain name (FQDN). Para as regiões de nuvem pública, este FQDN segue o padrão storageaccount.file.core.windows.net onde está o nome da conta de storageaccount armazenamento.For the public cloud regions, this FQDN follows the pattern storageaccount.file.core.windows.net where storageaccount is the name of the storage account. Quando faz pedidos contra este nome, como a montagem da parte na sua estação de trabalho utilizando o SMB, o seu sistema operativo realiza uma procura de DNS para resolver o nome de domínio totalmente qualificado para um endereço IP ao qual pode usar para enviar os pedidos de SMB.When you make requests against this name, such as mounting the share on your workstation using SMB, your operating system performs a DNS lookup to resolve the fully qualified domain name to an IP address which it can use to send the SMB requests to.

Por predefinição, storageaccount.file.core.windows.net resolve-se o endereço IP do ponto final público.By default, storageaccount.file.core.windows.net resolves to the public endpoint's IP address. O ponto final público de uma conta de armazenamento está hospedado num cluster de armazenamento Azure que acolhe os pontos finais públicos de muitas outras contas de armazenamento.The public endpoint for a storage account is hosted on an Azure storage cluster which hosts many other storage accounts' public endpoints. Quando cria um ponto final privado, uma zona privada de DNS está ligada à rede virtual a que foi adicionada, com um mapeamento de registo CNAME storageaccount.file.core.windows.net para uma entrada de registo para o endereço IP privado do ponto final privado da sua conta de armazenamento.When you create a private endpoint, a private DNS zone is linked to the virtual network it was added to, with a CNAME record mapping storageaccount.file.core.windows.net to an A record entry for the private IP address of your storage account's private endpoint. Isto permite-lhe utilizar storageaccount.file.core.windows.net o FQDN dentro da rede virtual e resolvê-lo para o endereço IP do ponto final privado.This enables you to use storageaccount.file.core.windows.net FQDN within the virtual network and have it resolve to the private endpoint's IP address.

Uma vez que o nosso objetivo final é aceder às ações de ficheiros Azure a partir das instalações através de um túnel de rede, como uma ligação VPN ou ExpressRoute, deve configurar os seus servidores DNS no local para encaminhar pedidos feitos ao serviço Azure Files para o serviço DNS privado Azure.Since our ultimate objective is to access the Azure file shares hosted within the storage account from on-premises using a network tunnel such as a VPN or ExpressRoute connection, you must configure your on-premises DNS servers to forward requests made to the Azure Files service to the Azure private DNS service. Para isso, você precisa configurar o encaminhamento condicional *.core.windows.net de (ou o sufixo de ponto final de armazenamento apropriado para o Governo dos EUA, Alemanha ou nuvens nacionais da China) para um servidor DNS hospedado dentro da sua rede virtual Azure.To accomplish this, you need to set up conditional forwarding of *.core.windows.net (or the appropriate storage endpoint suffix for the US Government, Germany, or China national clouds) to a DNS server hosted within your Azure virtual network. Este servidor DNS irá então recursivamente encaminhar o pedido para o serviço privado de DNS da Azure que irá resolver o nome de domínio totalmente qualificado da conta de armazenamento para o endereço IP privado apropriado.This DNS server will then recursively forward the request on to Azure's private DNS service that will resolve the fully qualified domain name of the storage account to the appropriate private IP address.

Configurar o encaminhamento de DNS para Azure Files exigirá executar uma máquina virtual para hospedar um servidor DNS para encaminhar os pedidos, no entanto este é um passo único para todas as ações de ficheiros Azure hospedadas na sua rede virtual.Configuring DNS forwarding for Azure Files will require running a virtual machine to host a DNS server to forward the requests, however this is a one time step for all the Azure file shares hosted within your virtual network. Além disso, este não é um requisito exclusivo para a Azure Files - qualquer serviço Azure que suporte pontos finais privados que você deseja aceder a partir de instalações pode fazer uso do reencaminhamento DNS que você configurará neste guia: Azure Blob armazenamento, SQL Azure, Cosmos DB, etc.Additionally, this is not an exclusive requirement to Azure Files - any Azure service that supports private endpoints that you want to access from on-premises can make use of the DNS forwarding you will configure in this guide: Azure Blob storage, SQL Azure, Cosmos DB, etc.

Este guia mostra os passos para configurar o encaminhamento de DNS para o ponto final de armazenamento Azure, por isso, para além dos Ficheiros Azure, os pedidos de resolução de nomes DNS para todos os outros serviços de armazenamento Azure Blob (armazenamento Azure Blob, armazenamento de mesa Azure, armazenamento da fila Azure, etc.) serão encaminhados para o serviço privado dns da Azure.This guide shows the steps for configuring DNS forwarding for the Azure storage endpoint, so in addition to Azure Files, DNS name resolution requests for all of the other Azure storage services (Azure Blob storage, Azure Table storage, Azure Queue storage, etc.) will be forwarded to Azure's private DNS service. Os pontos finais adicionais para outros serviços Azure também podem ser adicionados se desejar.Additional endpoints for other Azure services can also be added if desired. O encaminhamento de DNS para os seus servidores DNS no local também será configurado, permitindo que os recursos em nuvem dentro da sua rede virtual (como um servidor DFS-N) resolvam nomes de máquinas no local.DNS forwarding back to your on-premises DNS servers will also be configured, enabling cloud resources within your virtual network (such as a DFS-N server) to resolve on-premises machine names.

Pré-requisitosPrerequisites

Antes de configurar o encaminhamento de DNS para os Ficheiros Azure, tem de ter concluído os seguintes passos:Before you can setup DNS forwarding to Azure Files, you need to have completed the following steps:

  • Uma conta de armazenamento contendo uma partilha de ficheiroS Azure que gostaria de montar.A storage account containing an Azure file share you would like to mount. Para aprender a criar uma conta de armazenamento e uma partilha de ficheiros Azure, consulte Criar uma partilha de ficheiros Azure.To learn how to create a storage account and an Azure file share, see Create an Azure file share.
  • Um ponto final privado para a conta de armazenamento.A private endpoint for the storage account. Para aprender a criar um ponto final privado para ficheiros Azure, consulte Criar um ponto final privado.To learn how to create a private endpoint for Azure Files, see Create a private endpoint.
  • A versão mais recente do módulo Azure PowerShell.The latest version of the Azure PowerShell module.

Importante

Este guia pressupõe que está a utilizar o servidor DNS dentro do Windows Server no seu ambiente no local.This guide assumes you are using the DNS server within Windows Server in your on-premises environment. Todos os passos descritos neste guia são possíveis com qualquer servidor DNS, e não apenas com o Servidor DNS do Windows.All of the steps described in this guide are possible with any DNS server, not just the Windows DNS Server.

Reencaminhamento manual de DNSManually configuring DNS forwarding

Se já tiver servidores DNS no lugar dentro da sua rede virtual Azure, ou se simplesmente preferir implementar as suas próprias máquinas virtuais para serem servidores DNS, seja qual for a metodologia que a sua organização utiliza, pode configurar o DNS manualmente com os cmdlets do servidor DNS embutida.If you already have DNS servers in place within your Azure virtual network, or if you simply prefer to deploy your own virtual machines to be DNS servers by whatever methodology your organization uses, you can configure DNS manually with the built-in DNS server PowerShell cmdlets.

Nos servidores DNS no local, crie um reencaminhador condicional utilizando Add-DnsServerConditionalForwarderZone .On your on-premises DNS servers, create a conditional forwarder using Add-DnsServerConditionalForwarderZone. Este reencaminhador condicional deve ser implantado em todos os seus servidores DNS no local para ser eficaz no encaminhamento adequado do tráfego para Azure.This conditional forwarder must be deployed on all of your on-premises DNS servers to be effective at properly forwarding traffic to Azure. Lembre-se de substituir <azure-dns-server-ip> pelos endereços IP apropriados para o seu ambiente.Remember to replace <azure-dns-server-ip> with the appropriate IP addresses for your environment.

$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

Nos servidores DNS dentro da sua rede virtual Azure, também terá de colocar um reencaminhador para que os pedidos para a conta de armazenamento DNS sejam direcionados para o serviço DNS privado Azure, que é frontalizado pelo endereço IP 168.63.129.16 reservado.On the DNS servers within your Azure virtual network, you also will need to put a forwarder in place such that requests for the storage account DNS zone are directed to the Azure private DNS service, which is fronted by the reserved IP address 168.63.129.16. (Lembre-se de povoar $storageAccountEndpoint se estiver a executar os comandos numa sessão diferente do PowerShell.)(Remember to populate $storageAccountEndpoint if you are running the commands within a different PowerShell session.)

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

Utilizar o módulo Azure Files Hybrid para configurar o encaminhamento de DNSUsing the Azure Files Hybrid module to configure DNS forwarding

De forma a tornar o encaminhamento de DNS o mais fácil possível, fornecemos automatização no módulo Azure Files Hybrid.In order to make configuring DNS forwarding as easy as possible, we have provided automation in the Azure Files Hybrid module. Os cmdlets previstos para manipular o DNS neste módulo irão ajudá-lo a implementar servidores DNS na sua rede virtual Azure e atualizar os servidores DNS no local para os encaminhar.The cmdlets provided for manipulating DNS in this module will help you deploy DNS servers in your Azure virtual network and update your on-premises DNS servers to forward to them.

Se nunca utilizou o módulo Azure Files Hybrid, tem primeiro de o instalar na sua estação de trabalho.If you've never used the Azure Files Hybrid module, you must first install it on your workstation. Descarregue a versão mais recente do módulo Azure Files Hybrid PowerShell:Download the latest version of the Azure Files Hybrid PowerShell module:

# Unzip the downloaded file
Expand-Archive -Path AzFilesHybrid.zip

# Change the execution policy to unblock importing AzFilesHybrid.psm1 module
Set-ExecutionPolicy -ExecutionPolicy Unrestricted

# Navigate to where AzFilesHybrid is unzipped and stored and run to copy the files into your path
.\AzFilesHybrid\CopyToPSPath.ps1 

# Import AzFilesHybrid module
Import-Module -Name AzFilesHybrid

A implementação da solução de encaminhamento de DNS tem dois passos, criando um conjunto de regras de encaminhamento de DNS, que define quais os serviços Azure a que pretende encaminhar os pedidos, e a implantação real dos reencaminhadores dns.Deploying the DNS forwarding solution has two steps, creating a DNS forwarding rule set, which defines which Azure services you want to forward requests to, and the actual deployment of the DNS forwarders.

O exemplo seguinte remete pedidos para a conta de armazenamento, pedidos inclusivos para Azure Files, armazenamento Azure Blob, armazenamento de mesa Azure e armazenamento da fila Azure.The following example forwards requests to the storage account, inclusive requests to Azure Files, Azure Blob storage, Azure Table storage, and Azure Queue storage. Se desejar, pode adicionar o encaminhamento para um serviço adicional de Azure à regra através -AzureEndpoints do parâmetro do New-AzDnsForwardingRuleSet cmdlet.If desired, you can add forwarding for additional Azure service to the rule via the -AzureEndpoints parameter of the New-AzDnsForwardingRuleSet cmdlet. Lembre-se de substituir <virtual-network-resource-group> , e com os <virtual-network-name> <subnet-name> valores apropriados para o seu ambiente.Remember to replace <virtual-network-resource-group>, <virtual-network-name>, and <subnet-name> with the appropriate values for your environment.

# Create a rule set, which defines the forwarding rules
$ruleSet = New-AzDnsForwardingRuleSet -AzureEndpoints StorageAccountEndpoint

# Deploy and configure DNS forwarders
New-AzDnsForwarder `
        -DnsForwardingRuleSet $ruleSet `
        -VirtualNetworkResourceGroupName "<virtual-network-resource-group>" `
        -VirtualNetworkName "<virtual-network-name>" `
        -VirtualNetworkSubnetName "<subnet-name>"

Pode ainda achar útil/necessário fornecer vários parâmetros adicionais:You may additionally find it useful/necessary to supply several additional parameters:

Nome do parâmetroParameter name TipoType DescriptionDescription
DnsServerResourceGroupName string Por predefinição, os servidores DNS serão implantados no mesmo grupo de recursos que a rede virtual.By default, the DNS servers will be deployed into the same resource group as the virtual network. Se isso não for desejado, este parâmetro permite-lhe escolher um grupo de recursos alternativos para que sejam implantados.If this is not desired, this parameter allows you to pick an alternate resource group for them to be deployed into.
DnsForwarderRootName string Por predefinição, os servidores DNS que são implantados no Azure têm os nomes DnsFwder-* , onde o asterisco é povoado por um iterador.By default, the DNS servers that are deployed in Azure have the names DnsFwder-*, where the asterisk is populated by a iterator. Este parâmetro altera a raiz desse nome (isto é, DnsFwder ).This parameter changes the root of that name (i.e. DnsFwder).
VmTemporaryPassword SecureString Por predefinição, uma palavra-passe aleatória é escolhida para a conta por defeito temporária que um VM tem antes de ser unida ao domínio.By default, a random password is chosen for the temporary default account a VM has before it is domain joined. Depois de ser desativado o domínio, a conta predefinida é desativada.After it is domain joined, the default account is disabled.
DomainToJoin string O domínio para se juntar ao DNS VM(s) para se juntar.The domain to join the DNS VM(s) to join. Por predefinição, este domínio é escolhido com base no domínio do computador onde está a executar os cmdlets.By default, this domain is chosen based on the domain of the computer where you are running the cmdlets.
DnsForwarderRedundancyCount int O número de DNS VMs para implantar para a sua rede virtual.The number of DNS VMs to deploy for your virtual network. Por predefinição, New-AzDnsForwarder implementa dois servidores DNS na sua rede virtual Azure, num Conjunto de Disponibilidade, para garantir a redundância.By default, New-AzDnsForwarder deploys two DNS servers in your Azure virtual network, in an Availability Set, to ensure redundancy. Este número pode ser modificado conforme desejado.This number may be modified as desired.
OnPremDnsHostNames HashSet<string> Uma lista manualmente especificada de nomes de anfitriões DNS no local para criar reencaminhadores ligados.A manually specified list of on-premises DNS host names to create forwarders on. Este parâmetro é útil quando não pretende aplicar reencaminhadores em todos os servidores DNS no local, como quando tem um leque de clientes com nomes DNS especificados manualmente.This parameter is useful when you do not want to apply forwarders on all on-premises DNS servers, such as when you have a range of clients with manually specified DNS names.
Credential PSCredential Uma credencial a utilizar ao atualizar os servidores DNS.A credential to use when updating the DNS servers. Isto é útil quando a conta de utilizador com que fez login não tem permissões para modificar as definições de DNS.This is useful when the user account you have logged in with does not have permissions to modify DNS settings.
SkipParentDomain SwitchParameter Por padrão, os reencaminhadores DNS são aplicados ao domínio de nível mais alto que existe no seu ambiente.By default, DNS forwarders are applied to the highest level domain that exists in your environment. Por exemplo, se northamerica.corp.contoso.com for um domínio infantil de , o corp.contoso.com reencaminhador será criado para os servidores DNS associados a corp.contoso.com .For example, if northamerica.corp.contoso.com is a child domain of corp.contoso.com, the forwarder will be created for the DNS servers associated with corp.contoso.com. Este parâmetro fará com que os reencaminhadores sejam criados em northamerica.corp.contoso.com .This parameter will cause forwarders to be created in northamerica.corp.contoso.com.

Confirmar os reencaminhadores dnsConfirm DNS forwarders

Antes de testar para ver se os reencaminhadores de DNS foram aplicados com sucesso, recomendamos a limpeza da cache DNS na sua estação de trabalho local utilizando Clear-DnsClientCache .Before testing to see if the DNS forwarders have successfully been applied, we recommend clearing the DNS cache on your local workstation using Clear-DnsClientCache. Para testar para ver se consegue resolver com sucesso o nome de domínio totalmente qualificado da sua conta de armazenamento, utilize Resolve-DnsName ou nslookup .To test to see if you can successfully resolve the fully qualified domain name of your storage account, use Resolve-DnsName or nslookup.

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

Se a resolução do nome for bem sucedida, deverá ver o endereço IP resolvido corresponder ao endereço IP da sua conta de armazenamento.If the name resolution is successful, you should see the resolved IP address match the IP address of your storage account.

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

Se já criou uma ligação VPN ou ExpressRoute, também pode usar Test-NetConnection para ver se uma ligação TCP pode ser feita com sucesso na sua conta de armazenamento.If you have already set up a VPN or ExpressRoute connection, you can also use Test-NetConnection to see that a TCP connection can be successfully made to your storage account.

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

Ver tambémSee also