DNS na Sua Rede Virtual na Nuvem

O DNS (Domain Name System) permite que os computadores usem nomes de host, em vez de endereços IP, para se comunicar entre si. Esse recurso é limitado ao tráfego dentro de uma rede virtual na nuvem (VCN), para uso do DNS com tráfego na internet, consulte DNS e Traffic Management

Opções para DNS na Sua VCN

Veja a seguir as opções para a resolução de nomes de DNS das instâncias na sua VCN. Você faz essa escolha para cada sub-rede na VCN, usando o conjunto de opções de DHCP da sub-rede. Esse procedimento é semelhante a configurar qual tabela de roteamento e quais listas de segurança serão associadas a cada sub-rede. Para obter mais informações, consulte as Opções de DHCP.

Observação

Você usa a opção de DHCP do Servidor de Nomes de Domínio para especificar o Tipo de DNS da sub-rede associada. Se você alterar o valor da opção, reinicie o cliente DHCP na instância ou reinicialize a instância. Caso contrário, a alteração não será efetivada até que o cliente DHCP atualize a concessão (em até 24 horas).

OPÇÃO PADRÃO: RESOLVEDOR DE INTERNET E VCN
Esta é uma opção fornecida pela Oracle que inclui duas partes:
  • Resolvedor de Internet: permite que as instâncias resolvam os nomes de host divulgados publicamente na internet. As instâncias não precisam ter acesso à internet por meio de um gateway de internet  ou de uma conexão com a sua rede on-premises (como conexão IPSec VPN Site a Site por meio de um DRG ).
  • Resolvedor de VCN: permite que as instâncias resolvam os nomes de host (que você pode designar) de outras instâncias na mesma VCN. Para obter mais informações, consulte Sobre os Domínios DNS e Nomes de Host.
Por padrão, as novas VCNs criadas utilizam o Resolvedor de Internet e VCN. Se você estiver usando a API do serviço Networking, essa opção fará referência à enumeração VcnLocalPlusInternet no objeto DhcpDnsOption.
Observação

Por padrão , o Resolvedor de Internet e VCN não permite que as instâncias resolvam os nomes de hosts da rede on-premises conectada à VCN por meio de VPN Site a Site ou FastConnect. Essa funcionalidade pode ser obtida usando um resolvedor personalizado ou configurando o resolvedor de DNS privado da VCN.

RESOLVEDOR PERSONALIZADO
Use servidores DNS da sua escolha para resolução (máximo de três). Eles podem ser servidores DNS que:
  • Estão disponíveis na internet Por exemplo, 216.146.35.35 para o Guia de Internet da Dyn.
  • Na sua VCN.
  • Em sua rede on-premises, que está conectada à sua VCN por meio de uma VPN Site a Site VPN ou FastConnect (por meio de um DRG ).

Sobre Domínios de DNS e Nomes de Host

Ao criar inicialmente uma VCN e sub-redes, você pode especificar labels de DNS para cada uma delas. Os labels de DNS de sub-rede só poderão ser definidos se a própria VCN for criada com um label de DNS. Os labels, juntamente com o domínio pai de oraclevcn.com, formam o nome de domínio de VCN e o nome de domínio de sub-rede:

  • Nome do domínio da VCN: <VCN-DNS-label>.oraclevcn.com
  • Nome do domínio de sub-rede: <subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Ao iniciar uma instância, você pode designar um nome de host. Esse nome é designado à VNIC que é criada automaticamente durante o envio da instância (ou seja, a VNIC principal). Juntamente com o nome do domínio da sub-rede, o nome do host forma o nome de domínio totalmente qualificado da instância (FQDN):

  • FQDN da Instância: <hostname>.<subnet-DNS-label>.<VCN-DNS-label>.oraclevcn.com

Por exemplo: database1.privatesubnet1.abccorpvcn1.oraclevcn.com.

O FQDN é resolvido como o endereço IP privado da instância. O Resolvedor de Internet e VCN também possibilita uma pesquisa de DNS reverso, que permite determinar o nome do host correspondente ao endereço IP privado.

Se você adicionar uma VNIC secundária a uma instância, poderá especificar um nome de host. O FQDN resultante é resolvido como o endereço IP privado da VNIC (ou seja, o IP privado principal).

Se você adicionar um IP privado secundário à VNIC, poderá especificar um nome de host. O FQDN resultante é resolvido como esse endereço IP privado.

Importante

A Oracle recomenda que você sempre use o FQDN da instância ao enviar mensagens para um host ou, se preferir, especifique apenas o nome do host das mensagens enviadas dentro de uma VCN.

Requisitos para Labels de DNS e Nomes de Host.

  • Labels de VCN e de sub-rede: Máximo de 15 caracteres alfanuméricos e deve começar com uma letra. Observe que hifens e sublinhados NÃO são permitidos. O valor não pode ser alterado posteriormente.
  • Nomes de host: São permitidos no máximo 63 caracteres, letras e números. Hifens são permitidos. Observe que NÃO são permitidos pontos nem hifens no início ou no final do nome do host; além disso, o nome não pode ser todo numérico. Os nomes de host devem estar em conformidade com as RFCs 952 e 1123. O valor pode ser alterado posteriormente.
Importante

O serviço Networking permite nomes de host com até 63 caracteres. No entanto, alguns sistemas operacionais mais antigos forçam a utilização de nomes de host mais curtos. No Linux, esta é a forma de determinar o tamanho máximo permitido para o nome do host:

getconf HOST_NAME_MAX

Se uma instância tiver um nome de host maior que o tamanho máximo específico para o Sistema Operacional, o FQDN da instância não poderá ser resolvido dentro da VCN. Você pode usar o serviço Networking para atualizar a VNIC e alterar o nome do host para um valor menor.

Exclusividade:

  • O label de DNS da VCN deve ser exclusivo nas suas VCNs (isso não é obrigatório, mas é uma prática recomendada)
  • Os labels de DNS de sub-rede devem ser exclusivos dentro da VCN
  • Os nomes de host devem ser exclusivos dentro da sub-rede
Dica

Não confunda o label de DNS ou o nome do host com o nome amigável que você pode designar ao objeto (ou seja, o nome para exibição), que não precisa ser exclusivo.

Validação e Geração do Nome do Host

Se você tiver definido labels de DNS para a VCN e para sub-redes, o nome do host será validado para confirmar a conformidade e a exclusividade do DNS durante a inicialização da instância. Se um desses requisitos não for atendido, a solicitação de inicialização falhará.

Se você não especificar um nome de host durante a inicialização da instância, o sistema tentará usar o nome para exibição da instância como o nome do host. Se o nome para exibição não passar na validação, o sistema gerará automaticamente um nome de host compatível com DNS que seja exclusivo na sub-rede. Você pode ver o nome do host gerado na página da instância na Console. Na API, o nome do host faz parte do objeto VNIC.

Se você não fornecer um nome de host ou um nome para exibição durante a inicialização da instância usando o SDK ou a CLI, a Oracle não vai gerar um nome para exibição nem um nome de host. Isso significa que a instância não poderá ser resolvida usando o Resolvedor de Internet e VCN.

Se você não fornecer um nome de host ou um nome para exibição durante a inicialização da instância usando a Console, a Oracle vai gerar automaticamente um nome para exibição e um registro de DNS correspondente, desde que a sub-rede tenha um label de DNS válido associado a ela.

Observação

O nome do host de Sistema Operacional Linux na instância é definido automaticamente como o nome do host definido durante a inicialização da instância (ou como o nome gerado pelo sistema). Se você alterar o nome do host diretamente na instância, o FQDN da instância não será atualizado.

Se você adicionar uma VNIC secundária a uma instância ou adicionar um IP privado secundário a uma VNIC, o sistema nunca tentará gerar um nome de host. Forneça um nome de host válido se quiser que o endereço IP privado seja resolvido com o Resolvedor de Internet e VCN.

Opções de DHCP para DNS

Duas opções de DHCP estão relacionadas ao DNS na sua VCN:

  • Servidor de Nomes de Domínio: para especificar a sua escolha em relação ao tipo de DNS (Resolvedor de Internet e VCN ou Resolvedor Personalizado).

    • Valor padrão no conjunto padrão de opções de DHCP: Resolvedor de Internet e VCN
  • Domínio de Pesquisa: para especificar um único domínio de pesquisa. Ao resolver uma consulta de DNS, o Sistema Operacional anexa este domínio de pesquisa ao valor que está sendo consultado. Você só pode especificar um domínio de pesquisa para o conjunto de opções de DHCP.

    • Valor padrão no conjunto padrão de opções de DHCP: O nome do domínio da VCN (<VCN-DNS-label>.oraclevcn.com), se você tiver especificado um label de DNS para a VCN durante a criação, mas não tiver especificado um valor de domínio de pesquisa. Se você tiver especificado um valor de domínio de pesquisa, esse valor será usado para a opção de Domínio de Pesquisa. Se você NÃO tiver especificado um label de DNS, o conjunto padrão de opções de DHCP não incluirá uma opção de Domínio de Pesquisa.
Cuidado

A Oracle recomenda que você sempre use o FQDN da instância ao enviar mensagens para um host em outra sub-rede/VCN e não confie no domínio de pesquisa do DNS.

Importante

Em geral, quando qualquer conjunto de opções de DHCP é criado inicialmente (o conjunto padrão ou um conjunto personalizado criado por você), o serviço Networking adiciona automaticamente a opção Domínio de Pesquisa e a define como nome de domínio da VCN ( <VCN-DNS-label>.oraclevcn.com), se todos esses atributos forem verdadeiros:

  • A VCN tem um label de DNS
  • Tipo de DNS = Resolvedor de Internet e VCN
  • Você NÃO especificou um domínio de pesquisa da sua escolha durante a criação do conjunto de opções de DHCP

Após o conjunto de opções de DHCP ser criado, você sempre poderá remover a opção Pesquisar Domínio ou poderá defini-la com outro valor.

Como Permitir o Uso de Nomes de Host DNS na Sua VCN

Somente as novas VCNs criadas após o lançamento da funcionalidade Resolvedor de Internet e VCN têm acesso automático a ela. A forma de permitir o uso de nomes de host DNS para uma nova VCN dependerá da interface que você está usando.

Se você criar uma VCN e novas sub-redes com a Console
  1. Ao criar a VCN:
    • Marque a caixa de seleção para Usar Nomes de Host do DNS nesta VCN
    • Especifique um label de DNS da sua escolha para a VCN. Se você marcar a caixa de seleção, mas não especificar um label de DNS, a Console vai assumir que você deseja usar o Resolvedor de Internet e VCN na sua VCN e vai gerar automaticamente um label de DNS para a VCN. A Console usa o nome de VCN fornecido, remove caracteres não alfanuméricos, garante que o primeiro caractere seja uma letra e trunca o label para 15 caracteres. A Console exibe o resultado mas, se não gostar dele, você poderá informar o seu próprio valor no campo Label de DNS. Consulte Sobre Domínios de DNS e Nomes de Host.
  2. Ao criar as sub-redes:
    • Novamente, marque a caixa de seleção para Usar Nomes de Host do DNS nesta Sub-rede
    • Especifique um label de DNS da sua escolha para cada sub-rede. Se você marcar a caixa de seleção, mas não especificar um label de DNS para uma sub-rede, a Console vai assumir que você deseja usar o Resolvedor de Internet e VCN para a sub-rede e vai gerar automaticamente um label de DNS para a sub-rede. A Console usa o nome de sub-rede fornecido, remove caracteres não alfanuméricos, garante que o primeiro caractere seja uma letra e trunca o label para 15 caracteres. A Console exibe o resultado mas, se não gostar dele, você poderá informar o seu próprio valor no campo Label de DNS. Consulte Sobre Domínios de DNS e Nomes de Host.
      Observação

      Os labels de DNS de Sub-rede só poderão ser definidos se a própria VCN for criada com um label de DNS.
    • Associe qualquer conjunto de opções de DHCP que tenha o tipo de DNS = Resolvedor de Internet e VCN. O conjunto padrão de opções de DHCP na VCN usa o Resolvedor de Internet e VCN por padrão.
  3. Ao iniciar instâncias:
    • Selecione a opção para designar um registro de DNS privado.
    • Especifique um nome de host (ou pelo menos um nome para exibição) para cada instância. Para obter mais informações, consulte Sobre os Domínios DNS e Nomes de Host.

Se você não marcar a caixa de seleção Usar Nomes de Host do DNS nesta VCN ao criar a VCN, não poderá definir o label de DNS para a VCN ou para as sub-redes e não poderá especificar um nome de host durante a inicialização da instância.

Observação

O procedimento anterior supõe que você cria a VCN e as sub-redes uma de cada vez na Console. A Console tem uma funcionalidade que cria automaticamente uma VCN com sub-redes e um gateway de internet ao mesmo tempo. Se você usar essa funcionalidade para criar a VCN e as sub-redes, a Console gerará automaticamente labels de DNS para elas.

Se você criar uma VCN e as sub-redes com a API
  1. Ao criar a VCN:

    • Especifique um label de DNS para a VCN. Consulte Sobre Domínios de DNS e Nomes de Host. Se você não definir um valor (se ele for nulo), o sistema vai assumir que você não deseja usar o Resolvedor de Internet e VCN, mesmo que as opções de DHCP tenham DhcpDnsOption serverType = VcnLocalPlusInternet.
  2. Ao criar as sub-redes:

    • Especifique um label de DNS para cada sub-rede. Consulte Sobre Domínios de DNS e Nomes de Host. Se você especificou um label de DNS para a VCN, mas não especificar um para a sub-rede, o sistema Oracle vai assumir que você não deseja que as instâncias na sub-rede usem o Resolvedor de Internet e VCN e a capacidade de usar nomes de host para se comunicar com instâncias na VCN não estará mais disponível.
      Observação

      Os labels de DNS de Sub-rede só poderão ser definidos se a própria VCN tiver sido criada com um label de DNS.
    • Associe qualquer conjunto de opções de DHCP que tenha DhcpDnsOptionserverType = VcnLocalPlusInternet, que é a opção de DHCP padrão na VCN.
  3. Ao iniciar instâncias:

    • Selecione a opção para designar um registro de DNS privado.
    • Especifique um nome de host (ou pelo menos um nome para exibição) para cada instância. Para obter mais informações, consulte Sobre os Domínios DNS e Nomes de Host.

Se você não especificar um label de DNS ao criar a VCN, não poderá fazer o seguinte:

  • Definir o label de DNS das sub-redes (fazendo com que a chamada CreateSubnet falhe)
  • Especificar um nome de host durante a inicialização da instância (fazendo com que a chamada LaunchInstance falhe)
  • Designar um nome de host a uma VNIC secundária ou a um IP privado secundário

Cenário 1: Use o Resolvedor de Internet e VCN com nomes de host DNS na VCN

O cenário típico é ativar o Resolvedor de Internet e VCN em toda a VCN, o que permite que todas as instâncias da VCN se comuniquem entre si sem saber seus endereços IP. Para fazer isso, siga as instruções em Sobre Domínios de DNS e Nomes de Host e designe um label de DNS à VCN e a cada sub-rede. Em seguida, designe a cada instância um nome de host (ou pelo menos um nome para exibição) na inicialização. Se você adicionar uma VNIC secundária ou um IP privado secundário, também deverá designar um respectivo nome de host. Dessa forma, as instâncias poderão se comunicar entre elas usando FQDNs, em vez de endereços IP.

Cenário 2: Use um Resolvedor de DNS Privado para Resolver Nomes de Host de DNS

Você pode usar um resolvedor de DNS privado para responder às consultas de DNS de uma VCN usando uma configuração que você cria. Por padrão, o resolvedor atende em 169.254.169.254, mas também permite definir pontos finais para listening de consultas e encaminhamento delas a outros resolvedores em outras VCNs, uma rede local do cliente ou outra rede privada. Para obter mais informações, consulte Resolvedores de DNS Privado.

Cenário 3: Use Diferentes Opções de DHCP por Sub-rede

O Cenário 1 pressupõe que você deseja usar o Resolvedor de Internet e VCN da mesma forma entre todas as sub-redes e, portanto, entre todas as instâncias da VCN. Porém, você poderá configurar diferentes definições de DNS para cada sub-rede, visto que as opções de DHCP são configuradas no nível de sub-rede. O importante é entender que a sub-rede na qual você deseja gerar a consulta de DNS é aquela na qual você precisa configurar as respectivas definições do Resolvedor de Internet e VCN.

Por exemplo, se você quiser que a instância A na sub-rede A resolva o nome do host da instância B na sub-rede B, deverá configurar a sub-rede A para usar o Resolvedor de Internet e VCN. Por outro lado, se você quiser que a instância B resolva o nome do host da instância A, deverá configurar a sub-rede B para usar o Resolvedor de Internet e VCN.

É possível configurar um conjunto de opções de DHCP específico para cada sub-rede. Por exemplo, você pode definir o Domínio de Pesquisa da sub-rede A como subneta.vcn1.oraclevcn.com. Isso significa que todas as instâncias da sub-rede A podem usar apenas nomes de host para se comunicar entre si. É possível definir de forma semelhante o domínio de Pesquisa da sub-rede B como subnetb.vcn1.oraclevcn.com para permitir que as instâncias da Sub-rede B se comuniquem entre si usando apenas nomes de host.