Você está na página 1de 3

DNSMASQ: Simulando um servidor DNS para testes de Oracle RAC – Blog do Dibiei https://dibiei.

blog/2019/09/04/dnsmasq-simulando-um-servidor-dns-para-testes-de-oracle-rac/

1 de maio de 2023 13:45

 

DBA Maicon Carneiro – Aprender


e compartilhar !

LINUX ORACLE RAC

 SET 4, 2019  DNS, dnsmasq, Oracle RAC

Uma coisa muito comum quando montamos um cluster de Oracle Database “caseiro” em um ambiente virtualizado
é a ausência de um servidor DNS. A complexidade de instalar e configurar esse serviço faz com que seja muito
comum realizar as configurações de resolução de nomes utilizados pelo Clusteware no arquivo /etc/hosts do Linux
nesse tipo ambiente.

Uma boa alternativa é utilizar o dnsmasq, um serviço tão simples de instalar e configurar quanto o nosso amigo
oracle-rdbms-preinstall. A verdade é que para suprir a nossa necessidade, ele nem precisa de configturação.
Quando o dnsmasq é iniciado como um serviço no Linux, ele carrega as configurações de resolução de nomes do
arquivo /etc/hosts do sistema local e responde as requisições de DNS na porta padrão 53.

Então o segredo aqui é muito simples: Copiar o conteúdo do arquivo /etc/hosts que configuramos em cada node
do RAC e colocar no arquivo /etc/hosts do Linux no qual o dnsmasq está instalado. A partir dai basta adicionar
uma entrada no arquivo /etc/resolv.conf de cada node, apontando para o IP do servidor do dnsmasq.

Com essas configurações realizadas, basta emitir o comando “nslookup <nome de um node ou scan> em qualquer
node do cluster e você receberá uma saída com o IP traduzido pelo servidor DNS (o dnsmasq, no caso)

Agora veremos a configuração na prática. Uma recomendação pessoal: Provisione uma VM com a configuração
mínima possível pra executar um Oracle Linux ou CentOS com instalação “minimal”. Após o sistema operacional
tiver sido instalado, manter 512mb de memória RAM será o suficiente pra executar essa VM tranquilamente.

Com o SO instalado, já podemos inserir no arquivo /etc/hosts os IP’s e nomes que o dnsmasq deverá resolver.
Neste exemplo, vou utilizar as configurações do meu lab Oracle RAC mesmo (sinta-se a vontade pra colocar
qualquer outra coisa).

1 # cat /etc/hosts
2 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
3 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
4
5 192.168.1.99 srvDNS.localdomain srvDNS
6
7 
8 #Oracle RAC - Private Portuguese
9 192.168.10.31 rac01-priv.localdomain rac01-priv

1 of 5 01/05/2023, 15:36
DNSMASQ: Simulando um servidor DNS para testes de Oracle RAC – Blog do Dibiei https://dibiei.blog/2019/09/04/dnsmasq-simulando-um-servidor-dns-para-testes-de-oracle-rac/

10 192.168.10.32 rac02-priv.localdomain rac02-priv


11
12 #Oracle RAC - Public
13 192.168.1.31 rac01.localdomain rac01
14 192.168.1.32 rac02.localdomain rac02
15
16 #Oracle RAC - Virtual
17 192.168.1.51 rac01-vip.localdomain rac01-vip
18 192.168.1.52 rac02-vip.localdomain rac02-vip
19
20 #Oracle RAC - SCAN
21 192.168.1.40 rac-scan.localdomain rac-scan
22 192.168.1.41 rac-scan.localdomain rac-scan
23 192.168.1.42 rac-scan.localdomain rac-scan

O dnsmasq é disponibilizado no repositório tanto do Oracle Linux quanto do CentOS. Então basta emitir o
comando:

1 # yum install dnsmasq -y

Agora o serviço precisa ser iniciado. Para não precisar iniciar o serviço manualmente toda vez que a VM for
reiniciada, é recomendado configurar para iniciar junto com o Linux também.

1 # service dnsmasq start


2 # chkconfig dnsmasq on

Note que o serviço responde na porta 53. Para o correto funcionamento, precisamos liberar essa porta no Firewall
ou desabilitá-lo. Nos meus laboratórios eu costumo desabilitar.

1 # service iptables stop


2 # chkconfig iptables off

Pronto, feito essas configurações, já temos um DNS totalmente funcional. A partir daqui, basta configurar os
clients para usar esse servidor DNS.

Primeiramente precisamos adicionar uma entrada no arquivo /etc/resolv.conf de cada node e client do nosso
laboratório. No meu caso, o IP do servidor no qual o dnsmasq está executando é 192.168.1.99, então devo
adicionar uma linha dessa maneira: “nameserver 192.168.1.99“.

1 cat /etc/resolv.conf
2 # Generated by NetworkManager
3 search localdomain
4 nameserver 192.168.1.99
5 nameserver 8.8.8.8

Agora é só testar com o comando nslookup no terminal. Abaixo o resultado de alguns testes, note que ao chamar
pelo nome rac-scan por repetidas vezes, ele retorna os IP’s em ordem diferente.

1 # nslookup rac-scan
2 Server: 192.168.1.99
3 Address: 192.168.1.99#53
4
5 Name: rac-scan.localdomain
6 Address: 192.168.1.42
7 Name: rac-scan.localdomain
8 Address: 192.168.1.40
9 Name: rac-scan.localdomain
10 Address: 192.168.1.41
11
12 # nslookup rac-scan
13 Server: 192.168.1.99
14 Address: 192.168.1.99#53
15
16 Name: rac-scan.localdomain
17 Address: 192.168.1.40
18 Name: rac-scan.localdomain 
19 Address: 192.168.1.41
Portuguese
20 Name: rac-scan.localdomain

2 of 5 01/05/2023, 15:36
DNSMASQ: Simulando um servidor DNS para testes de Oracle RAC – Blog do Dibiei https://dibiei.blog/2019/09/04/dnsmasq-simulando-um-servidor-dns-para-testes-de-oracle-rac/

21 Address: 192.168.1.42
22
23 # nslookup rac-scan
24 Server: 192.168.1.99
25 Address: 192.168.1.99#53
26
27 Name: rac-scan.localdomain
28 Address: 192.168.1.41
29 Name: rac-scan.localdomain
30 Address: 192.168.1.42
31 Name: rac-scan.localdomain
32 Address: 192.168.1.40

Agora você tem um serviço de DNS a disposição para montar e testar vários cenários em seu laboratório.
Lembrando que o dnsmasq carrega as informações do arquivo /etc/hosts quando o serviço é iniciado. Por tanto,
caso você precise alterar ou adicionar novos IP’s / Nomes, basta será necessário reiniciar o serviço para que ele
tenha conhecimento das alterações.

1 # service dnsmasq restart

Vale lembrar que o dnsmasq não responde somente para as VM’s, mas para qualquer computador que esteja na
mesma sub-rede da VM na qual o serviço foi instalado, seja a partir de outras VM’s ou a partir de computadores
físicos.

Se o computador que você está utilizando estiver na mesma rede que a VM do dnsmasq, basta adicionar uma
entrada no DNS da sua máquina apontando para o IP do dnsmasq, assim como foi feito nos nodes.

     

 Oracle RAC: Compartilhamento de discos Oracle RAC: Configurar rede do Interconnect


no VMware ESXI no VMware ESXI 

LINUX OCI SCRIPTS

 FEV 11, 2023  MAICON CARNEIRO

ORACLE DATABASE ORACLE RAC SCRIPTS

 NOV 4, 2022  MAICON CARNEIRO



Portuguese

3 of 5 01/05/2023, 15:36

Você também pode gostar