Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Configurar o Sistema de Nomes de Domínio BIND9 no Oracle Cloud Infrastructure
Introdução
A OraStage é uma empresa líder no setor de energia, especializada em soluções de energia renovável e tecnologias de energia inovadoras, a empresa anunciou uma decisão estratégica de migrar suas cargas de trabalho para a Oracle Cloud Infrastructure (OCI) para melhorar o desempenho, a escalabilidade e a segurança.
Tendo em conta as necessidades e condições específicas que o OraStage delineou, a empresa requer uma solução híbrida de Domain Name System (DNS) na nuvem, e por híbrida aqui significa: usar seu próprio sistema DNS Berkeley Internet Name Domain versão 9 (BIND9) além do serviço DNS do OCI, onde a arquitetura final que eles estão procurando construir é mostrada na imagem a seguir.
OraStage Requisitos de DNS:
-
A empresa tem vários domínios e subdomínios internos, todos eles devem ser resolvidos pelo DNS BIND9 na OCI, em que OraStage gerenciará todas as zonas e registros relacionados. Um desses domínios é
orastage.com
, que usaremos neste tutorial. Portanto, qualquer consulta paraorastage.com
deve ser encaminhada para seu BIND9. -
Eles ainda precisam resolver domínios nativos do OCI (
oraclevcn.com
,oraclecloud.com
etc.) em alguns casos, e isso será feito usando componentes DNS privados do OCI: views privadas, pontos finais e regras de encaminhamento e pontos finais de listening. -
Todas as consultas devem ser inspecionadas por uma instância de firewall pfSense.
-
Para evitar um único ponto de falha, o OraStage planeja usar outro servidor DNS e aproveitar o OCI Load Balancer para distribuir consultas entre o DNS primário e secundário.
Esta série de tutoriais irá guiá-lo passo a passo para alcançar os requisitos descritos acima, construindo toda a solução do zero. Você pode navegar facilmente para cada tutorial na lista abaixo:
-
Tutorial 1: Configurar DNS BIND9 no OCI. Saiba como instalar e configurar o BIND9 em uma instância de computação, tornando-o o servidor DNS local para dois ambientes de teste no OCI. Esses ambientes consistirão em servidores "Frontend" e "Backend", cada um hospedado em uma rede spoke separada. O servidor BIND9 tratará todas as consultas DNS direcionadas para
orastage.com
. -
Tutorial 2: Implementar Alta Disponibilidade no cenário de DNS BIND9 no OCI. Este tutorial se concentra na adição de um servidor BIND9 secundário e na configuração de um Balanceador de Carga de Rede (NLB) para distribuir o tráfego de DNS entre os dois servidores. As consultas de DNS para
orastage.com
serão direcionadas para o IP do NLB, que balanceará a carga entre os servidores BIND9 primários e secundários. Se um servidor ficar indisponível, a resolução de DNS continuará sem interrupção do serviço. -
Tutorial 3: Usar o DNS do OCI para resolver domínios nativos. Concentrando-se apenas em um caso de uso específico, em que utilizamos componentes DNS nativos na OCI, caso haja necessidade de resolver domínios nativos, como
oraclevcn.com
eoraclecloud.com
. BIND9 O DNS não é usado neste tutorial. -
Tutorial 4: Adicionando segurança à arquitetura de DNS usando o Firewall pfSense. Concentrando-se na instalação de um Firewall pfSense na VCN hub no OCI e faça a configuração de rede necessária para rotear todo o tráfego Leste-Oeste, incluindo consultas de DNS (concluídas nos tutoriais anteriores) por meio do firewall a ser inspecionado.
Visão Geral do BIND9
O BIND9 (Berkeley Internet Name Domain versão 9) é um dos pacotes de software de servidor DNS (Domain Name System) mais usados e maduros do mundo. É desenvolvido e mantido pelo Internet Systems Consortium (ISC). O BIND9 serve como a espinha dorsal de grande parte da infraestrutura de DNS da Internet, fornecendo serviços de DNS robustos e confiáveis para implementações de pequena e grande escala.
BIND9 flexibilidade, robustez e amplo conjunto de recursos o tornam adequado para uma ampla gama de aplicativos DNS, desde pequenas redes internas até os maiores serviços públicos de DNS na Internet.
Principais Recursos do BIND9
-
Suporte ao Protocolo DNS: Suporta todos os principais recursos e protocolos DNS, incluindo IPv4 e IPv6, DNSSEC (Extensões de Segurança DNS) e TSIG (Transação SIGnature).
-
DNSSEC (Extensões de Segurança de DNS): Fornece recursos de segurança avançados para proteger a integridade e a autenticidade dos dados de DNS, evitando ataques como envenenamento e falsificação de cache.
-
Escalabilidade e Desempenho: Adequado para implantações de DNS pequenas a muito grandes, com recursos para lidar com cargas de consulta altas e zonas grandes com eficiência.
-
Flexibilidade e Personalização:
- Altamente configurável com extensas opções para ajuste fino do comportamento de DNS, gerenciamento de zonas e processamento de consultas.
- Suporta vários tipos de zonas, incluindo zonas mestre (principal), subordinada (secundária) e stub.
-
DNS Dinâmico: Suporta DNS Dinâmico (DDNS), permitindo atualizações em tempo real em registros DNS sem reiniciar o servidor.
-
Controle de Acesso e Segurança:
- Implementa listas de controle de acesso (ACLs) para restringir o acesso a serviços de DNS e gerenciar quem pode consultar ou atualizar zonas.
- Suporta views para fornecer respostas diferentes a consultas de DNS com base na origem da consulta.
-
Logging e Monitoring:
- Recursos abrangentes de registro em log para rastrear consultas, atualizações e desempenho do servidor.
- Integração com ferramentas de monitoramento para garantir alta disponibilidade e solução rápida de problemas.
-
Armazenamento em Cache: Fornece mecanismos de armazenamento em cache robustos para melhorar o desempenho e reduzir a carga em servidores DNS confiáveis, armazenando em cache as respostas de DNS.
-
Transferências de Zona: Suporta transferências de zona segura entre servidores DNS usando AXFR (transferência de zona completa) e IXFR (transferência de zona incremental).
Casos de Uso Comuns do BIND9
-
Servidor de DNS Autorizado: Hospeda registros de DNS para domínios, fornecendo respostas autorizadas para consultas de DNS.
-
Servidor DNS Recursivo: Resolve consultas de DNS para clientes consultando recursivamente outros servidores DNS.
-
Encaminhando Servidor DNS: Encaminha consultas DNS para outros servidores DNS, geralmente usadas em conjunto com o armazenamento em cache.
-
Servidor DNS Secundário (Escravo): Mantém cópias de dados de zona de um servidor principal, fornecendo redundância e balanceamento de carga.
Instalação e Configuração de BIND9
-
Instalação: BIND9 pode ser instalado em vários sistemas operacionais, incluindo Linux, UNIX e Windows. Ele está disponível através de gerenciadores de pacotes na maioria das distribuições Linux ou pode ser compilado a partir de uma fonte.
-
Configuração: O arquivo de configuração principal é
named.conf
, em que os administradores definem zonas, controles de acesso, opções de log e outras definições. Os arquivos de zona contêm os registros de DNS reais para cada domínio.
Usar BIND9 no OCI
Há vários motivos pelos quais alguns clientes podem optar por usar e gerenciar seus próprios serviços DNS (como BIND9) em vez de usar os serviços DNS gerenciados pelo OCI (Oracle Cloud Infrastructure):
-
Personalização e Flexibilidade:
-
Configurações Avançadas: As soluções de DNS personalizadas, como BIND9, oferecem ampla configurabilidade, permitindo que os clientes personalizem suas definições de DNS para atender a requisitos específicos que podem não ser suportados pelos serviços gerenciados.
-
Recursos Especializados: Algumas organizações precisam de recursos avançados, como registro de consulta específico, controle de acesso detalhado ou registros de DNS personalizados que os serviços gerenciados podem não fornecer.
-
-
Considerações sobre Custo:
-
Gerenciamento de Custos: O DNS autogerenciado pode ser mais econômico, especialmente para organizações com tráfego de DNS significativo, pois pode evitar custos variáveis associados a serviços gerenciados.
-
Despesas Previsíveis: Operar seus próprios servidores DNS pode resultar em custos mais previsíveis, pois eles só precisam gerenciar os custos de infraestrutura em vez de pagar pelo uso de DNS gerenciado.
-
-
Controle e Segurança:
-
Controle Completo: As organizações podem preferir ter controle completo sobre sua infraestrutura de DNS, incluindo a capacidade de implementar políticas de segurança personalizadas, registro em log detalhado e controles de acesso refinados.
-
Privacidade de Dados: Para ambientes altamente confidenciais ou regulamentados, manter o tráfego de DNS interno em sua própria rede pode ser um requisito de segurança para garantir a privacidade dos dados e a conformidade com as regulamentações.
-
-
Desempenho e Confiabilidade:
-
Otimização de Desempenho: O DNS autogerenciado permite que as organizações otimizem o desempenho configurando o armazenamento em cache, o balanceamento de carga e as respostas de DNS específicas de geolocalização adaptadas às suas necessidades.
-
Confiabilidade: Ao gerenciar seus próprios servidores DNS, as organizações podem implementar configurações de alta disponibilidade e medidas de redundância alinhadas com seus requisitos de confiabilidade específicos.
-
-
Integração com Infraestrutura Existente:
-
Sistemas Legados: As organizações com sistemas legados podem ter uma infraestrutura de DNS existente profundamente integrada com seus outros sistemas e processos, facilitando a continuação do gerenciamento de seu próprio DNS.
-
Integrações Personalizadas: O DNS autogerenciado permite uma integração perfeita com outros aplicativos personalizados ou de terceiros que exigem configurações ou interações de DNS específicas.
-
-
Requisitos Regulatórios e de Conformidade:
- Necessidades de Conformidade: Alguns setores têm requisitos regulatórios rigorosos que exigem controle sobre todos os aspectos de sua infraestrutura de TI, incluindo DNS, para cumprir os padrões legais e de conformidade.
-
Aprendizado e Especialização:
- Desenvolvimento de Habilidades: Algumas organizações preferem manter experiência e conhecimento internos sobre o gerenciamento de DNS, o que pode ser valioso para solucionar problemas e otimizar sua infraestrutura geral de TI.
-
Possibilidade de Bloqueio do Fornecedor:
- Evitando o bloqueio: Ao gerenciar seu próprio DNS, as organizações podem evitar serem bloqueadas no ecossistema de um fornecedor específico, dando a elas mais flexibilidade para trocar de provedor ou migrar cargas de trabalho sem reconfiguração significativa.
Embora os serviços de DNS gerenciados da OCI ofereçam facilidade de uso, escalabilidade e redução da sobrecarga de gerenciamento, esses fatores destacam por que algumas organizações podem optar por gerenciar sua própria infraestrutura de DNS.
Metas para Configurar o BIND9 no OCI
-
Introdução ao BIND9 e ao OCI
- Entenda o que é BIND9 e sua atribuição no gerenciamento de DNS.
- Obtenha uma visão geral da Oracle Cloud Infrastructure (OCI) e seus principais componentes relevantes para essa configuração.
-
Pré-requisitos e Configuração Inicial
- Identifique e reúna os pré-requisitos necessários para a definição.
- Configurar uma instância do OCI (Máquina Virtual) para hospedar o servidor BIND9.
-
Configurando o Ambiente do OCI
- Configure as definições básicas de rede no OCI, ou seja, regras de roteamento e gateways para estabelecer uma comunicação apropriada entre todos os servidores e clientes relacionados e listas de segurança para permitir o tráfego de DNS.
-
Instalando o BIND9 na Instância do OCI
- Acesse a instância do OCI via SSH.
- Instale os pacotes e as dependências necessários para BIND9.
-
Configurando BIND9
- Configure os arquivos de configuração BIND9 principais (
named.conf
). - Configure arquivos de zona para pesquisas de DNS de encaminhamento.
- Configure os arquivos de configuração BIND9 principais (
-
Iniciando e Gerenciando o Serviço BIND9
- Inicie o serviço BIND9 e configure-o para iniciar na inicialização.
- Verifique se o serviço BIND9 está sendo executado corretamente.
-
Testando o Servidor DNS
- Use ferramentas de linha de comando (por exemplo, dig, host) para testar a resolução de DNS.
- Certifique-se de que as pesquisas futuras estejam configuradas e operacionais corretamente.
-
Protegendo o Servidor BIND9
- Implemente as melhores práticas para proteger o servidor BIND9, incluindo controles de acesso.
-
Conclusão e Recursos Adicionais
- Resuma o que é feito.
- Forneça recursos e referências adicionais para aprendizado adicional.
Objetivos
-
No final deste tutorial, você terá um servidor DNS BIND9 funcional em execução no OCI (Oracle Cloud Infrastructure). Você entenderá os conceitos básicos do DNS e como o BIND9 opera, permitindo configurar, gerenciar e proteger um servidor BIND9 em um ambiente de nuvem. Além disso, você terá o conhecimento para solucionar problemas e manter sua configuração de DNS BIND9 no OCI. Este tutorial também ajudará você a aumentar suas habilidades na operação de vários componentes da OCI em serviços de rede e computação.
-
O principal objetivo deste tutorial é permitir que o FE-VM (
fe.orastage.com
) consulte BE-VM (be.orastage.com
) e vice-versa, com o Primary-DNS (primary-dns.orastage.com
) atuando como o servidor DNS autorizado.
Arquitetura final
Pré-requisitos
-
Acesso a uma tenancy e permissões do OCI para gerenciar a rede e os serviços de computação necessários.
-
Compreensão básica do roteamento e da segurança de rede do OCI e suas funcionalidades: Rede Virtual na Nuvem (VCN), Tabela de Roteamento, Gateway de Roteamento Dinâmico (DRG), Lista de Segurança e Bastion.
-
Compreensão básica do Ubuntu Linux e DNS em geral.
-
São necessárias três Redes Virtuais na Nuvem (VCNs) com uma sub-rede privada em cada uma.
- DNS-VCN: Isso hospedará o servidor DNS principal. Além de um DNS secundário e um balanceador de carga de rede.
- Frontend-VCN: Isso hospedará um dos clientes. Além de um encaminhador de DNS do OCI.
- Backend-VCN: Isso hospedará o outro cliente. Além de um encaminhador de DNS do OCI.
Tarefa 1: Configurar Componentes de Rede de Roteamento e Segurança
Tarefa 1.1: Criar VCNs
-
Certifique-se de que as seguintes VCNs já tenham sido criadas.
- DNS-VCN (
10.0.0.0/16
) contendo DNS-Private-Subnet (10.0.0.0/24
). - Frontend-VCN (
10.1.0.0/16
) contendo FE-Private-Subnet (10.1.0.0/24
). - Backend-VCN (
10.2.0.0/16
) contendo BE-Private-Subnet (10.2.0.0/24
).
- DNS-VCN (
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Rede.
- Clique em Redes virtuais na nuvem.
-
Podemos ver as VCNs no local, cada VCN tem apenas uma sub-rede privada e a tabela de roteamento padrão e a lista de segurança anexadas a ela.
Tarefa 1.2: Criar um Gateway de Roteamento Dinâmico (DRG)
O DRG é um roteador virtual que fornece um caminho para o tráfego privado de uma VCN para outra, ou entre uma VCN e uma rede local, ou até mesmo uma VCN com outras redes de ambiente de nuvem. Portanto, é um componente poderoso e crítico para cada ambiente de rede da OCI. Neste tutorial, vamos usá-lo para estabelecer conectividade entre várias VCNs na mesma região.
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Rede.
- Clique em Gateway de roteamento dinâmico.
-
Clique em Criar gateway de roteamento dinâmico.
- Informe um Nome para o DRG.
- Clique em Criar gateway de roteamento dinâmico.
-
O DRG foi criado com sucesso.
Tarefa 1.3: Anexar VCNs ao DRG
-
Na página de detalhes do DRG, crie anexos de rede virtual na nuvem. Para criar, clique em Criar anexo de rede virtual na nuvem
-
Anexo de DNS-VCN:
-
Anexo da VCN Frontend:
-
Anexo da VCN de Backend:
-
-
Todas as VCNs foram anexadas com sucesso. Por padrão, esses anexos usarão a tabela de roteamento do DRG gerada automaticamente, que permite que cada anexo aprenda dinamicamente as rotas para outras VCNs.
-
Todas as VCNs devem poder se conectar umas às outras. Portanto, temos que facilitar a comunicação entre eles usando algumas regras de rota e segurança. Na Tarefa 1.4, Tarefa 1.5 e Tarefa 1.6, iremos:
- Permita o acesso SSH para que possamos fazer log-in nas instâncias.
- Permitir tráfego de DNS onde for necessário.
- Tráfego de ping a ser permitido onde é necessário.
- Forneça acesso à Internet de saída onde for necessário.
- Certifique-se de que cada instância de computação possa alcançar a outra por meio do DRG.
Tarefa 1.4: Configurar Roteamento e Segurança para DNS-VCN
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em DNS-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Certifique-se de adicionar as regras a seguir.
0.0.0.0/0
- Gateway NAT: Para ter acesso unidirecional à Internet, instale pacotes/patches, se necessário. Neste tutorial, precisamos desse acesso para instalar o pacote BIND9 no servidor Primary-DNS.10.1.0.0/16
- DRG: Rotear o tráfego destinado à VCN Frontend para o DRG.10.2.0.0/16
- DRG: Rotear o tráfego destinado à VCN de Backend para o DRG.
-
Se um gateway NAT não for criado, siga as etapas para criar um antes de adicionar a regra de roteamento na etapa acima.
- Vá para a página de detalhes DNS-VCN e clique em Gateways NAT.
- Clique em Criar Gateway NAT.
-
Digite as seguintes informações.
- Informe um Nome para um gateway NAT.
- Selecione Ephemeral Public IP Address.
- Clique em Criar Gateway NAT.
O gateway NAT foi criado com sucesso.
-
Quando terminarmos a parte de roteamento da sub-rede DNS-VCN, vamos fazer a segurança agora. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Certifique-se de permitir tráfego de entrada.
- Tráfego SSH de qualquer lugar (porta 22).
- Tráfego de DNS da VCN Frontend e da VCN de Backend (TCP/porta 53 e UDP/porta 53).
-
Certifique-se de permitir todo o tráfego de saída.
Tarefa 1.5: Configurar o Roteamento e a Segurança para a VCN Frontend
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em Frontend-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Certifique-se de adicionar as regras a seguir.
0.0.0.0/0
- Gateway NAT: Para ter acesso unidirecional à Internet, precisamos dele aqui para que a FE-VM** possa usar o serviço OCI Bastion. Em vez disso, o uso do gateway de serviço também pode fazer o job.10.0.0.0/16
- DRG: Rotear o tráfego destinado à DNS-VCN para o DRG.10.2.0.0/16
- DRG: Rotear o tráfego destinado à VCN de Backend para o DRG.
-
Se um gateway NAT não for criado, siga as etapas da Tarefa 1.4 para criar um antes de adicionar a regra de roteamento na etapa acima.
-
Quando terminarmos a parte de roteamento da VCN Frontend, vamos fazer a segurança agora. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Certifique-se de permitir tráfego de entrada.
- Tráfego SSH de qualquer lugar (porta 22).
- Faça ping no tráfego da VCN de Backend (ICMP, tipo 8), precisaremos dessa regra na fase de teste.
-
Certifique-se de permitir todo o tráfego de saída.
Tarefa 1.6: Configurar o Roteamento e a Segurança da VCN de Backend
-
Isso deve ser feito no nível da sub-rede. Navegue até a página VCNs e clique em Backend-VCN.
-
Clique na sub-rede privada.
-
Clique em Tabela de Roteamento, que é uma tabela de roteamento designada.
-
Certifique-se de adicionar as regras a seguir.
0.0.0.0/0
- Gateway NAT: Para ter acesso unidirecional à Internet, precisamos dele aqui para que o BE-VM possa usar o serviço OCI Bastion. Em vez disso, o uso do gateway de serviço também pode fazer o job.10.0.0.0/16
- DRG: Rotear o tráfego destinado à DNS-VCN para o DRG.10.1.0.0/16
- DRG: Rotear o tráfego destinado à VCN Frontend para o DRG.
-
Se um gateway NAT não for criado, siga as etapas da Tarefa 1.4 para criar um antes de adicionar a regra de roteamento na etapa acima.
-
Como finalizamos a parte de roteamento da VCN de Backend, vamos fazer a segurança agora. Vá para a página Detalhes da Sub-rede e clique na lista de segurança designada.
-
Certifique-se de permitir o tráfego de Entrada.
- Tráfego SSH de qualquer lugar (porta 22).
- Faça ping no tráfego da VCN Frontend (ICMP, tipo 8). Precisaremos dessa regra na fase de teste.
-
Certifique-se de permitir todo o tráfego de saída.
-
Os componentes básicos de rede agora estão prontos (VCNs, Sub-redes, Tabelas de Roteamento, DRG e Listas de segurança). Agora, a arquitetura deve ter a aparência mostrada na imagem a seguir.
Tarefa 2: Provisionar uma Instância do OCI Compute
Provisione uma instância de computação na qual BIND9 será configurado.
Tarefa 2.1: Gerar Par de Chaves SSH
Isso deve ser feito antes da criação da instância. As chaves SSH serão usadas para autenticação em instâncias de computação do Linux. Você pode gerar as chaves usando a ferramenta PuTTYgen em uma máquina Windows ou o utilitário ssh-keygen em qualquer máquina. Neste tutorial, usaremos ssh-keygen no OCI Cloud Shell.
-
Clique em Cloud Shell.
-
Execute o comando
ssh-keygen
para gerar um par de chaves. -
Navegue até o diretório
.ssh
padrão usando o comandocd .ssh
e copie o conteúdo do arquivo de chave públicaid_rsa.pub
. Isso será usado na Tarefa 2.2.
Tarefa 2.2: Provisionar Instância de Computação de DNS Primário
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Calcular.
- Clique em Instâncias.
-
Clique em Criar instância.
-
Informe um Nome para a instância.
-
Selecione Ubuntu 20.04 como o Sistema Operacional da instância.
-
Em Rede principal, especifique as informações a seguir.
- Selecione DNS-VCN.
- Selecione uma sub-rede privada.
-
Designe à instância um endereço IP privado
10.0.0.10
. -
Cole a chave pública gerada na Tarefa 2.1.
-
Role para baixo até o final da página e clique em Mostrar opções avançadas.
-
Clique em Oracle Cloud Agent.
- Selecione o plug-in do serviço Bastion, pois usaremos o Bastion posteriormente para acessar a instância.
- Clique em Criar.
-
A instância de computação Primary-DNS é criada com sucesso.
-
A arquitetura deve ter a aparência mostrada na imagem a seguir.
Nas tarefas posteriores, instalaremos e configuraremos BIND9 na instância do DNS Principal.
Tarefa 3: Instalar e Configurar o BIND9
Tarefa 3.1: Acessar Instância de Computação do DNS Primário usando o Bastion
-
Primeiro de tudo, precisamos estabelecer o acesso via SSH à instância de computação para instalar e configurar BIND9. No entanto, à medida que criamos a instância em uma sub-rede privada, não podemos acessá-la diretamente de qualquer lugar, pois ela não tem um IP público e, para isso, faremos uso de outro serviço do OCI.
O OCI Bastion é um serviço gerenciado que atua como intermediário, permitindo acesso seguro a recursos em uma rede privada. Ele é particularmente útil para uso administrativo que requer acesso a recursos que não estão expostos à internet pública. Você pode considerá-lo como Servidor de Salto como serviço.
- Clique em Identidade e Segurança.
- Clique em Bastion.
-
Clique em Criar bastion.
-
Digite as seguintes informações.
- Informe um Nome do Bastion.
- Selecione a VCN (DNS-VCN) e sua sub-rede.
- A lista de permissões de bloco CIDR é a faixa permitida de IPs dos quais devemos nos conectar ao Bastion. Aqui usamos
0.0.0.0/0
para essa implementação, podemos ser mais específicos se quisermos escolhendo o endereço IP público do qual estamos nos conectando. - Clique em Criar bastion.
-
O Bastion foi criado. Temos que criar uma sessão que nos permita estabelecer conexão com um recurso de destino (DNS Principal) por um período específico (O padrão é 3 horas).
-
Digite as seguintes informações.
- Tipo de sessão: Selecione Sessão SSH Gerenciada.
- Nome da Sessão: Informe um nome para a sessão.
- Nome do Usuário: Informe o nome do usuário. Para a instância do Ubuntu Linux, o nome de usuário padrão é ubuntu.
- Instância de computação: Selecione a instância do DNS Principal criada na Tarefa 2.2.
- Cole a mesma chave pública gerada na Tarefa 2.1.
- Clique em Criar sessão.
-
Depois que a sessão for criada, clique nos três pontos e em Copiar comando SSH.
O comando deve ter esta aparência:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aiaa6buxxxxxxxxxxxxxxxxxxrlnywmo3n2pty5wpf7fq@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 ubuntu@10.0.0.10
-
Abra o OCI Cloud Shell.
- Navegue até o diretório
.ssh
usando o comandocd .ssh
. - Cole o comando SSH. Certifique-se de substituir
<privateKey>
pelo nome de arquivo da chave privadaid_rsa
.
- Navegue até o diretório
-
Log foi estabelecido com êxito.
Tarefa 3.2: Instalar BIND9
Depois de acessar a instância, instalaremos o BIND9 e verificaremos se ele está ativo e em execução.
-
Execute os comandos a seguir.
sudo apt update sudo apt install bind9 bind9utils bind9-doc bind9-host
-
Execute o comando
sudo systemctl status named
para verificar o status do serviço BIND9. Ele está ativo (em execução). -
Execute o comando
sudo systemctl enable named
para ativar o serviço para que ele seja iniciado automaticamente após a reinicialização.
Tarefa 3.3: Alterar o FQDN (Nome de Domínio Totalmente Qualificado) da Instância
-
Para alterar o FQDN da instância, acesse o arquivo hosts com o comando
sudo vi /etc/hosts
e adicione a linha a seguir.10.0.0.10 primary-dns.orastage.com primary-dns
-
Para verificar a alteração, execute o comando
hostname -f
para ver o novo FQDN.
Tarefa 3.4: Configurar o Arquivo named.conf.options
-
Adicionar a configuração.
-
Adicione as seguintes linhas no final do arquivo
/etc/bind/named.conf.options
e salve o arquivo.recursion yes; notify yes; allow-query { any; }; allow-query-cache { any; }; allow-recursion { any; }; forwarders { 8.8.8.8; }; auth-nxdomain no; # conform to RFC1035 listen-on { localhost; any; }; allow-transfer { any; };
-
Reinicie o serviço BIND9.
-
Verifique o status do serviço.
-
Tarefa 3. 5: Use netstat
para exibir o Status das Portas TCP/UDP
net-tools é um pacote de utilitários de linha de comando que fornece uma coleção de ferramentas de rede essenciais para o SO Linux.
-
Execute o comando
sudo apt install net-tools
para instalar ferramentas de rede. Isso é necessário para poder usar o comandonetstat
. -
Execute o comando
sudo netstat -antu
para verificar as portas/protocolos aos quais a instância está fazendo listening. Como você pode ver na imagem a seguir, para o IP10.0.0.10
, TCP/port 53 e UDP/port 53 devem ser abertos.
Tarefa 3.6: Configurar o Arquivo named.conf.local
-
Adicione as seguintes linhas ao fim do arquivo
/etc/bind/named.conf.local
.zone "orastage.com" { type master; allow-transfer { any; }; file "/var/lib/bind/db.orastage.com"; };
Tarefa 3.7: Configurar o Arquivo db.orastage.com
-
O arquivo
db.orastage.com
ainda não existe. Para criar, execute o comandosudo vi /var/lib/bind/db.orastage.com
e adicione o conteúdo a seguir ao arquivo.$TTL 1D @ IN SOA primary-dns.orastage.com. admin.orastage.com. ( 329 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) IN NS primary-dns.orastage.com. primary-dns IN A 10.0.0.10 fe IN A 10.1.0.5 be IN A 10.2.0.5
Tarefa 3.8: Configurar o Arquivo 50-cloud-init.yaml
-
Acesse o arquivo
/etc/netplan/50-cloud-init.yaml
e adicione as linhas a seguir.nameservers: addresses: [10.0.0.10] search: [orastage.com]
-
Execute o comando
sudo netplan apply
para que as alterações possam ter efeito.
Tarefa 3.9: Desativar Firewall do iptables
-
Nós vamos desativar o iptables temporariamente apenas para este tutorial para evitar qualquer tipo de problemas de conectividade durante a fase de teste.
-
Execute o comando
sudo su
para alternar para o usuário raiz. -
Para salvar um backup das regras de firewall existentes, execute o comando
iptables-save > /root/firewall_rules.backup
. -
Execute o comando a seguir para apagar todas as regras e permitir todo o tráfego através do firewall.
iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT
-
Após finalizar a Tarefa 6, execute o comando
iptables-restore < /root/firewall_rules.backup
para restaurar regras de firewall. -
Depois de eliminar as regras, devemos nos certificar de que essa alteração será persistente após a reinicialização. Então, execute o comando
apt install iptables-persistent
para instalar o pacote. -
Execute o comando
iptables-save > /etc/iptables/rules.v4
. -
Para ver as regras do iptables, execute o comando
iptables -L
, ele deverá estar vazio.
-
Tarefa 3.10: Reiniciar BIND9
-
Execute o comando a seguir para reiniciar o serviço.
sudo systemctl restart named
Tarefa 3.11: Teste
-
Faça vários testes nos quais consultamos os nomes de domínio que adicionamos ao arquivo
db.orastage.com
e veja se ele está respondendo a consulta localmente.-
Domínio
orastage.com
:host -a orastage.com
. -
Domínio
Primary-DNS
:host -a primary-dns.orastage.com
. -
Domínio
FE-VM
:host -a fe.orastage.com
. -
Domínio
BE-VM
:host -a be.orastage.com
.
-
Tarefa 4: Configurar Pontos Finais e Regras de Encaminhamento do OCI
Cada VCN do OCI tem um resolvedor padrão que pode ser usado para resolver nomes de host na mesma VCN, diferentes VCNs, redes locais ou até mesmo nomes de host publicados publicamente na Internet. Nessa tarefa, usaremos dois componentes no resolvedor para atender ao nosso requisito de encaminhar consultas para a instância BIND9 Primary-DNS, que são:
- Ponto Final de Encaminhamento: Permite que o resolvedor de DNS consulte um DNS remoto conforme definido nas regras de encaminhamento.
- Regra de Encaminhamento: Usada para controlar como as consultas de DNS são tratadas quando a consulta não é respondida pelas views privadas do resolvedor. Para qual servidor DNS remoto as consultas a
orastage.com
serão encaminhadas e usando qual ponto final de encaminhamento?
Tarefa 4.1: Configurar Ponto Final de Encaminhamento e Regra para VCN de Front-end
Crie um ponto final e uma regra de encaminhamento na VCN Frontend, para apontar consultas orastage.com
de FE-VM para a instância DNS Principal.
-
Navegue até a VCN Frontend e clique em Resolvedor de DNS.
-
Clique em Criar ponto final.
-
Digite as seguintes informações.
- Nome: Informe um nome para o ponto final.
- Sub-rede: Selecione a sub-rede privada da VCN.
- Tipo de ponto final: Selecione Encaminhamento.
- Encaminhando endereço IP: Digite
10.1.0.6
. - Clique em Criar ponto final.
-
O ponto final de encaminhamento (FWD) foi criado com sucesso.
-
Clique em Regras e Gerenciar regras.
-
Digite as seguintes informações.
- Condição da regra: Selecione Domínios.
- Domínios: Digite o domínio
orastage.com
. - Ponto final de origem: Selecione o ponto final de encaminhamento.
- Endereço IP de destino: Digite o IP da instância BIND9
10.0.0.10
.
-
A regra de encaminhamento foi criada com sucesso.
Tarefa 4.2: Configurar Ponto Final de Encaminhamento e Regra para VCN de Backend
Crie um ponto final e uma regra de encaminhamento na VCN de Backend, para apontar consultas orastage.com
de BE-VM para a instância DNS Principal.
- Navegue até a VCN de Backend e clique em Resolvedor de DNS.
-
Clique em Criar ponto final.
-
Digite as seguintes informações.
- Nome: Informe um nome para o ponto final.
- Sub-rede: Selecione a sub-rede privada da VCN.
- Tipo de ponto final: Selecione Encaminhamento.
- Encaminhando endereço IP: Digite
10.2.0.6
. - Clique em Criar ponto final.
-
O ponto final de encaminhamento (FWD) foi criado com sucesso.
-
Clique em Regras e Gerenciar regras.
-
Digite as seguintes informações.
- Condição da regra: Selecione Domínios.
- Domínios: Digite o domínio
orastage.com
. - Ponto final de origem: Selecione o ponto final de encaminhamento.
- Endereço IP de destino: Digite o IP da instância BIND9
10.0.0.10
.
-
A regra de encaminhamento foi criada com sucesso.
-
A arquitetura deve ter a aparência mostrada na imagem a seguir.
Tarefa 5: Provisionar Instâncias do Cliente para Executar Consultas de DNS
Tarefa 5.1: Criar Instância de Computação FE-VM
-
Clique no menu de hambúrguer (≡) no canto superior esquerdo.
- Clique em Calcular.
- Clique em Instâncias.
-
Clique em Criar instância.
-
Informe um Nome para a instância.
-
Selecione Oracle Linux 8 como o Sistema Operacional da instância.
-
Em Rede principal, especifique as informações a seguir.
- Selecione Frontend-VCN.
- Selecione a sub-rede privada.
-
Designe à instância um endereço IP privado
10.1.0.5
. -
Cole a chave pública gerada na Tarefa 2.1.
-
Role para baixo até o final da página e clique em Mostrar opções avançadas.
-
Clique em Oracle Cloud Agent.
-
Selecione o plug-in Bastion, pois usaremos o Bastion para acessar a instância e clicar em Criar.
-
A instância de computação FE-VM foi criada com sucesso.
Tarefa 5.2: Criar Instância de Computação BE-VM
-
Clique em Instância e Criar instância.
-
Informe um Nome para a instância.
-
Selecione Oracle Linux 8 como o Sistema Operacional da instância.
-
Em Rede principal, especifique as informações a seguir.
- Selecione Backend-VCN.
- Selecione a sub-rede privada.
-
Designe à instância um endereço IP privado
10.2.0.5
. -
Cole a chave pública gerada na Tarefa 2.1.
-
Role para baixo até o final da página e clique em Mostrar opções avançadas.
-
Clique em Oracle Cloud Agent.
-
Selecione o plug-in Bastion, pois usaremos o Bastion para acessar a instância e clicar em Criar.
-
A instância de computação BE-VM foi criada com sucesso.
-
A arquitetura está concluída.
Observação: Nas tarefas posteriores, testaremos vários cenários e validaremos se a configuração está funcionando conforme esperado.
Tarefa 6: Testar e Validar
Tarefa 6.1: Acessar a Instância de Computação FE-VM usando o Bastion e o Testar
-
A máquina cliente FE-VM deve ser capaz de resolver
be.orastage.com
.- Clique em Identidade e Segurança.
- Clique em Bastion.
-
Clique em Criar bastion.
-
Digite as seguintes informações.
- Nome do Bastion: Digite um nome para o bastion.
- Configurar rede: Selecione a VCN (Frontend-VCN) e sua sub-rede.
- A lista de permissões de bloco CIDR é a faixa permitida de IPs dos quais devemos nos conectar ao Bastion. Aqui usamos
0.0.0.0/0
para essa implementação, podemos ser mais específicos se quisermos escolhendo o endereço IP público do qual estamos nos conectando. - Clique em Criar bastion.
-
O Bastion foi criado. Temos que criar uma sessão para estabelecer conexão com um recurso de destino (FE-VM) por um período específico (o padrão é 3 horas).
-
Digite as seguintes informações.
- Tipo de sessão: Selecione Sessão SSH Gerenciada.
- Nome da sessão: Informe um nome.
- Nome do Usuário: Informe o nome do usuário. Para a instância do Oracle Linux, o usuário padrão é
opc
. - Instância de computação: Selecione a instância FE-VM criada na Tarefa 5.
- Cole a mesma chave pública gerada na Tarefa 2.1.
- Clique em Criar sessão.
-
Depois que a sessão for criada, clique nos três pontos e em Copiar comando SSH.
O comando deve ter esta aparência:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aiaskfyan4yj7yx3bmm57rckmvvawikppba5mxxzo2q7dka@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 opc@10.1.0.5
- Abra o cloud shell e navegue até o diretório
.ssh
usando o comandocd .ssh
. - Cole o comando SSH e certifique-se de substituir
<privateKey>
pelo nome de arquivo da chave privadaid_rsa
. - Informe yes e clique em Enter.
- Abra o cloud shell e navegue até o diretório
-
Teste as consultas
orastage.com
de FE-VM parabe.orastage.com
. Você pode validar a configuração usando métodos diferentes.- Executar o comando
host
. - Execute o comando
ping
. - Execute o comando
dig
.
- Executar o comando
Conforme mostrado no teste acima, podemos recuperar o endereço IP do domínio BE-VM e o ping está trabalhando usando o nome do host, o que significa que o teste foi bem-sucedido.
Tarefa 6.2: Acessar a Instância de Computação BE-VM usando o Bastion e o Testar
-
A máquina cliente BE-VM deve ser capaz de resolver
fe.orastage.com
.- Clique em Identidade e Segurança.
- Clique em Bastion.
-
Clique em Criar bastion.
-
Digite as seguintes informações.
- Nome do Bastion: Digite um nome para o bastion.
- Configurar rede: Selecione a VCN (VCN de Backend) e sua sub-rede.
- A lista de permissões de bloco CIDR é a faixa permitida de IPs dos quais devemos nos conectar ao Bastion. Aqui usamos
0.0.0.0/0
para essa implementação, podemos ser mais específicos se quisermos escolhendo o endereço IP público do qual estamos nos conectando. - Clique em Criar bastion.
-
O Bastion foi criado. Temos que criar uma sessão para estabelecer conexão com um recurso de destino (BE-VM) por um período específico (O padrão é 3 horas).
-
Digite as seguintes informações.
- Tipo de sessão: Selecione Sessão SSH Gerenciada.
- Nome da sessão: Informe um nome.
- Nome do Usuário: Informe o nome do usuário. Para a instância do Oracle Linux, o usuário padrão é
opc
. - Instância de computação: Selecione a instância BE-VM criada na ETAPA 06.
- Cole a mesma chave pública gerada na Tarefa 2.1.
- Clique em Criar sessão.
-
Depois que a sessão for criada, clique nos três pontos e em Copiar comando SSH.
O comando deve ter esta aparência:
ssh -i <privateKey> -o ProxyCommand="ssh -i <privateKey> -W %h:%p -p 22 ocid1.bastionsession.oc1.eu-milan-1.amaaaaaaldij5aia73xclnp6h6i2mjnpsuer2bnz4cblejfemnr6uk7pafla@host.bastion.eu-milan-1.oci.oraclecloud.com" -p 22 opc@10.2.0.5
- Abra o cloud shell e navegue até o diretório
.ssh
usando o comandocd .ssh
. - Cole o comando SSH e certifique-se de substituir
<privateKey>
pelo nome de arquivo da chave privadaid_rsa
. - Informe yes e clique em Enter.
- Abra o cloud shell e navegue até o diretório
-
Teste as consultas
orastage.com
de BE-VM parafe.orastage.com
. Você pode validar a configuração usando métodos diferentes.- Executar o comando
host
. - Execute o comando
ping
. - Execute o comando
dig
.
- Executar o comando
Conforme mostrado no teste acima, podemos recuperar o endereço IP do domínio FE-VM e o ping está trabalhando usando o nome do host, o que significa que o teste foi bem-sucedido.
Próximas Etapas
Neste tutorial, criamos uma pequena arquitetura DNS BIND9 com componentes básicos; configuração de servidor e cliente no Oracle Cloud Infrastructure. Em todo esse segmento, você obteve insights sobre roteamento e segurança de rede da OCI, lidando com diferentes componentes, como Tabelas de Roteamento, DRG, Listas de Segurança, Bastion e muito mais. Você também aprendeu a instalar e configurar um DNS BIND9 funcional em um ambiente OCI.
No próximo tutorial: Tutorial 2: Implementar Alta Disponibilidade no Sistema de Nomes de Domínio BIND9 no Oracle Cloud Infrastructure, aprimoraremos essa configuração incorporando a camada de alta disponibilidade em nossa arquitetura, o que é crucial para reduzir o tempo de inatividade e melhorar a experiência do usuário.
Confirmações
- Autor - Anas abdallah (Especialista em Rede em Nuvem)
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Configure BIND9 Domain Name System in Oracle Cloud Infrastructure
G13022-03
Copyright ©2025, Oracle and/or its affiliates.