Sistemas Operacionais Livres

Transcrição

Sistemas Operacionais Livres
Sistemas Operacionais Livres
DNS - Domain Name System
Agenda
Visão Geral
Implementação
Em Linux
Mensagens de
Log
Atividades
Tipos de
Servidores
Arquivos de
Config
Arquivos de
Zona
Visão Geral
DNS
- É um banco de dados hierárquico e distribuído, com milhares de servidores
através da internet, controlando as consultas de nomes e endereços
- Servidor responsável por traduzir nomes em endereços IP (e vice versa) de
um determinado domínio.
- Evolução da tabela de hosts (/etc/hosts), resolve suas limitações
- Arquitetura cliente-servidor, onde o cliente solicita a informação ao servidor
- Robustez e performance são obtidas através de replicação e caching
- Servidores são chamados de Name-Servers (Servidores de Nome)
DNS
- Sua organização é semelhante a do sistema de arquivos do unix (árvore invertida). No caso
do unix inicia-se com “/” e no DNS inicia-se com “.”
- Cada nó, passa a ser a raiz da nova sub-árvore. Através de consultas, acha-se qualquer host
no sistema de domínios, começando pela raiz, seguindo os ponteiros até o domínio de
destino.
- Domínios podem ser divididos em sub-domínios
- Cada domínio possuí um nome único (da mesma forma que os diretórios)
- FQDN – Full Qualify Domain Name = Nome que começa com um host e vai até a raiz Ex:
winnie.corp.hp.com
- Domínios TLDs (Top Levels Domains): org, edu, jp, com são servidos pelos servidores
raiz.
Coutry Code Top Levels Domains: .br, .us, .ca
Organizados pela IANA – Internet Assigned Numbers Authority
Lista dos TDLs: http://www.iana.org/domains/root/db/
DNS
Organização semelhante ao filesystem unix
DNS
Resolução de nomes de domínios
DNS
Consulta a base de dados da IANA – TLD .BR
DNS
– Root Servers (Servidores raiz)
- No núcleo da arquitetura do DNS, existem 13 computadores especiais,
chamados de root servers
- Coordenados pela ICANN (Internet Corporation for Assigned Names and
Numbers) e são distribuídos pelo mundo.
- Todos possuem as mesmas informações vitais garantindo balanceamaneto de
carga e backup deles mesmos
- Possuem os registros de todos os TLD gerais e dos países
- Cada root server é replicado várias vezes
- Não possuem informações de hosts
DNS
– Root Servers (Servidores raiz)
Lista dos Servidores Raiz
A.ROOT-SERVERS.NET.
A
198.41.0.4
B.ROOT-SERVERS.NET.
A
192.228.79.201
C.ROOT-SERVERS.NET.
A
192.33.4.12
D.ROOT-SERVERS.NET.
A
128.8.10.90
E.ROOT-SERVERS.NET.
A
192.203.230.10
F.ROOT-SERVERS.NET.
A
192.5.5.241
G.ROOT-SERVERS.NET.
A
192.112.36.4
H.ROOT-SERVERS.NET.
A
128.63.2.53
I.ROOT-SERVERS.NET.
A
192.36.148.17
J.ROOT-SERVERS.NET.
A
192.58.128.30
K.ROOT-SERVERS.NET.
A
193.0.14.129
L.ROOT-SERVERS.NET.
A
198.32.64.12
M.ROOT-SERVERS.NET.
A
202.12.27.33
DNS
– Root Servers (Servidores raiz)
Visão Geral
Implementação
Em Linux
DNS
– Bind
- Implementado em linux pelo software Bind (bind-9.5.1-1.P1.fc10 /bind-chroot9.5.1-1.P1.fc10) o nome do daemon é named.
No CentOS instalar os arquivos de config: caching-nameserver-9.3.6-4.P1.el5_4.2
- BIND (Berkeley Internet Name Domain)
- Iniciando o serviço:
service named start
/etc/init.d/named start
- Logs do servidor de nomes podem ser vistos em /var/log/messages
- Roda em ambiente chrooted em /var/named/chroot
- Realiza balanceamento de carga via round robin
Visão Geral
Implementação
Em Linux
Tipos de
Servidores
DNS
– Tipos de Servidor
Existem três configurações básicas:
Somente Cache (Não autorizado)
- Não são fontes oficiais de informações a respeito de domínios.
- Obtêm a resposta a partir de servidores remotos.
- Iniciam apenas com os endereços dos Root-Servers
- Armazenam as consultas feitas pelos usuários
Servidor Mestre (Autorizado para o domínio)
- Fonte oficial de todas as informações a respeito de um domínio específico
- Carrega informações dos domínios a partir de arquivos locais
- Mantido pelo administrador do domínio
- Também chamado de servidor primário
- Armazenam as consultas feitas pelos usuários
DNS
– Tipos de Servidor
Servidor Escravo (Autorizado para o domínio)
- É considerado um servidor autorizado, pois possui os dados completos do
domínio.
- Informações transferidas do servidor master (transferência de zona)
- Também chamado de servidor secundário
- Armazenam as consultas feitas pelos usuários
Visão Geral
Implementação
Em Linux
Tipos de
Servidores
Arquivos de
Config
DNS
– Arquivos de Zona / Hosts
Arquivos de Configuração
/etc/named.conf (Fedora)
/etc/named.rfc1912.zones (dominios) (centos)
/etc/named.caching-nameserver.conf (Serviço)(centos)
- Parâmetros básicos e aponta para as fontes de informação do banco de
dados do domínio
/var/named/named.ca
- Fornece os nomes e endereços dos servidores-raiz
Arquivos de Banco de Dados (hosts locais)
- Arquivos de zona, mapeia nomes de computador para ip
- Arquivos de zona reversa, mapeia os endereços IP em nomes
- localizados em:
/var/named/chroot/var/named (servidor master)
/var/named/chroot/var/named/slave (servidor slaves)
Configurados em : /etc/sysconfig/named
* Zona é um pedaço do espaço do nome de domínio sobre o qual um servidor
mestre tem autoridade.
DNS
– /etc/named.conf
Declaração Options
- Apenas uma pode ser usada
- Localizada no inicio do arquivo
- Define parâmetros globais que definem como o Bind opera
options {
listen-on port 53 { any; };
directory "/var/named";
allow-query
{ any; };
allow-transfer { 192.168.15.10; 200.100.122.12; };
version "Nao lhe interessa !";
};
DNS
– /etc/named.conf
Declaração Options
listen-on port 53 { any; }
- O daemon esperará solicitações em todas as interfaces
directory "/var/named"
- Diretório de trabalho, onde o servidor armazena os arquivos de
configuração
- Serve de PATH para o arquivos definidos nesse arquivo de configuração
allow-query
{ any; };
- Permite consultas de qualquer host
allow-transfer { 192.168.15.1; };
- Permite a transferência de zona para o servidor especificado
version "Nao lhe interessa !";
- Não informa a versão do servidor de nomes
- Previne contra ataques do topo banner grabbing
DNS
– /etc/named.conf
Declaração Zone
- Mais importantes no arquivo de configuração
- Define uma zona que é servida por esse servidor
- Define o tipo de servidor que está sendo executado (master/slave)
- Define a fonte do arquivo de dados (local ou transferido do servidor mestre)
- Define opções de processo especiais
// Master
zone "turmalinux.com.br" {
type master;
file "turmalinux.com.br";
allow-transfer { ip_slave; };
};
//Slave
zone "turmalinux.com.br" {
type slave;
file "slaves/turmalinux.com.br";
masters { 172.16.10.1; };
};
DNS
– /etc/named.conf
Declaração Zone
zone "turmalinux.com.br": Determina o domínio que está sendo configurado
type master/slave: Determina o tipo do servidor que está sendo configurado
para esse domínio.
file "turmalinux.com.br": Determina o arquivo onde estarão o mapeamento
dos hosts desse domínio. Fonte de informações sobre a zone (master), depósito
das informaçoes sobre a zona (slave)
allow-update { localhost; }: Especifica quais clientes estão autorizados a
atualizar o arquivo de zona dinamicamente. Normalmente, apenas o servidor
DHCP possui essa permissão, e a forma segura de se fazer isso é rodando ambos
na mesma máquina.
DNS
– /etc/named.conf
Declaração Zone
Masters { 172.16.10.1; }: Indica o servidor mestre, pode haver mais de um IP
do servidor mestre (multi-homed). O servidor slave faz a transferência de
zona (baixa das informações de domínio do master para o slave)
notify yes: Normalmente os servidores escravos verificam atualização nos
arquivos de zona dos servidores mestres. Com essa opção, o servidor master irá
notificar o slave que houve uma atualização em um arquivo de zona através de
uma mensagem DNS NOTIFY.
Also-notify { 172.16.19.20;}: Também notifica os servidores listados
Visão Geral
Implementação
Em Linux
Tipos de
Servidores
Arquivos de
Config
Arquivos de
Zona
DNS
– Registro de banco de dados de hosts
- Chamados de Registro de Recursos Padrão ou apenas RRs.
- Todos os RRs possuem o mesmo formato básico:
[name]
[ttl]
IN
type
data
onde:
Name – Identifica o objeto de domínio afetado pelo registro
- Se tiver em branco, refere-se ao último objeto nomeado
- Se @, refere-se a origem atual ($ORIGIN ou nome do domínio na
declaração da zone
ttl – Tempo de vida, define o tempo em que esse recurso deve ser deixado em
cache, define quanto tempo os servidores remotos devem deixar em cache as
informações do seu domínio, se não especificado, será usado o valor da diretiva
$TTL.
IN – Campo class. Sempre possui esse valor
type – Tipo do registro do recurso (vide tabela)
data – Dados específicos do tipo do recurso. Diferente de acordo com cada tipo
de registro.
DNS
– Registro de banco de dados de hosts
Tipos de RR
Nome do Registro
Tipo do
Registro
Start of Authority
SOA
Nam e Server
NS
Address
A
Pointer
PTR
Mail Exchanger
MX
Canonical Nam e
CNAME
Função
Marca o com eço dos dados de
um a zona e define parâm etros
que afetam a zona inteira
Identifica o servidor de nom es
de um dom ínio
Mapeia um hostnam e para um
endereço
Mapeia um endereço para um
hostnam e
Identifica um servidor de
correio para um dom ínio
Define um alias para um
hostnam e
DNS
– Diretivas de arquivo de zona
- Arquivos de zona oferecem 4 diretivas
- Facilitam a construção do arquivo de zona
- Define valores padrão usados pelos registros Rrs.
Diretiva $TTL
- Define o tempo em que os servidores armazenarão em cache as
informação sobre o domínio.
- Seta esse valor globalmente.
- Sobrescrita se declarada direto do RR.
- Definido em segundos ou com um valor e uma letra
1w – Uma semana
2d – Dois Dias
3h – Três horas
4m – Quatro minutos
50s – Cinco segundos
DNS
– Diretivas de arquivo de zona
Diretiva $ORGIN
- Ajusta a origem atual
- Usado para completar quaisquer nome de domínio (definido na zona)
- Valor padrão é o definido na declaração da zona no named.conf
DNS
$TTL
@
– Arquivo de banco de dados de domínio (Zona)
43200
IN
SOA
ns1.turmalinux.com.br. hostmaster.ns1.turmalinux.com.br. (
2008010802 ; serial
1H ; refresh
15M ; retry
14D ; expire
5m ; negative cache TTL
)
; Define os servidores de nome
IN
NS
ns1.turmalinux.com.br.
IN
NS
ns2.turmalinux.com.br.
; Define os servidores de mail
IN
MX
5
mx1.turmalinux.com.br.
IN
MX
10
mx2.turmalinux.com.br.
; Define os hosts desse domino
ns1
IN
A
172.192.10.1
ns2
IN
A
172.192.10.2
mx1
IN
A
172.192.10.3
mx2
IN
A
172.192.10.4
www
IN
A
172.192.10.4
DNS
– Arquivo de banco de dados de domínio (Zona)
Registro SOA
-Todos os arquivos de zona começam com um registro SOA.
- O @ recorre a origem atual, no caso a que está declara no arquivo de zona, que
no nosso caso é turmalinux.com.br
- O campo de dados desse registro contém:
- ns1.turmalinux.com.br – Nome do servidor mestre para essa zona
- hostmaster.ns1.turmalinux.com.br – Endereço de email da pessoa
responsável por esse domínio (sem o sinal de @)
- 2008010802 ; Número de série do arquivo, informa que o arquivo foi
atualizado (o adm deve alterá-lo a cada mudança no arquivo de zona).
Esse valor é consultado pelo slave, se for diferente, ele transfere a
zona para ele.
- 1H : Informa de quanto em quanto tempo o servidor slave deve checar
o master por alterações na zona. (Valor mediano)
- 15M : Caso o servidor slave não consiga verificar o master, esse registro
informa de quanto em quanto tempo ele deve tentar novalmente. (valor baixo)
DNS
– Arquivo de banco de dados de domínio (Zona)
- 14D: Caso o servidor slave não consiga verificar o master, depois de quanto
tempo ele deve para de responder por aquele domínio (valor alto)
- 5M : Quando o servidor armazena uma resposta negativa (domínio não existe),
quanto tempo o servidor deve guardar em cache essa resposta negativa (Valor
deve ser pequeno)
Registro de Servidores de Nome
- Definem os servidores de nomes oficiais desse domínio.
Registro de Servidores de E-mail
- Definem os servidores de email oficiais desse domínio.
- O valor numérico após o tipo de registro, indica a prioridade
Registro de Informação de hosts
- Definem o mapeamento de host para ip
Registro CNAME
- Cria um apelido entre hosts.
- O apelido definido, não deve ser utilizada em nenhum outro registro
Visão Geral
Mensagens de
Log
Implementação
Em Linux
Tipos de
Servidores
Arquivos de
Config
Arquivos de
Zona
DNS
– Mensagens do servidor de nomes
Mensagens do arquivo de log /var/log/messages
Indica que a zona madeira.com.br foi carregada com sucesso no servidor de
nomes.
[root@localhost named]# tail -f /var/log/messages
Apr 3 15:11:01 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030301
Recarga do servidor, mas não houve alteração no serial da zona
Apr 3 15:15:08 localhost named[32637]: zone madeira.com.br/IN: zone serial unchanged. zone may
fail to transfer to slaves.
Apr 3 15:15:08 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030301
Recarga do servidor, houve alteração no serial da zona
Apr 3 15:16:04 localhost named[32637]: zone madeira.com.br/IN: loaded serial 2008030302
DNS
– Mensagens do servidor de nomes
Mensagens do arquivo de log /var/log/messages
Realiza a transferência de zona do master para o slave
Apr 3 15:45:47 localhost named[9614]: zone madeira.com.br/IN: Transfer started.
Apr 3 15:45:47 localhost named[9614]: transfer of 'madeira.com.br/IN' from 192.168.15.140#53:
connected using 192.168.15.224#42614
Apr 3 15:45:47 localhost named[9614]: zone madeira.com.br/IN: transferred serial 2008030302
Apr 3 15:45:47 localhost named[9614]: transfer of 'madeira.com.br/IN' from 192.168.15.140#53: end
of transfer
Visão Geral
Implementação
Em Linux
Mensagens de
Log
Atividades
Tipos de
Servidores
Arquivos de
Config
Arquivos de
Zona
DNS
Atividade 1
1. Configure
sua máquina para usar o seu servidor DNS configurado
apenas no modo de cache.
2. Tente
navegar na internet
DNS
Atividade 2
1. Configure em sua máquina o domínio: seusobrenome.com.br
Aponte os registros NS, MX e A para o seu IP.
2. Crie um registro do tipo A com o nome WWW apontando para o IP
da máquina de seu vizinho.
3. Acompanhe a carga do servidor no arquivo de log
4. Tente pingar os hosts
DNS
Atividade 3
1. Configure sua máquina com servidor slave do domínio da pessoa
ao seu lado.
2. Configure o seu linux para usar o servidor DNS do seu vizinho
(ele configurou como slave o nosso sobrenome.com.br), veja se você
consegue pingar no nosso domínio.
3. Acompanhe a transferência de zona

Documentos relacionados

Slide10-ServidorDNS - Rafael Silva Guimarães

Slide10-ServidorDNS - Rafael Silva Guimarães Instalando o Servidor de Nomes No Linux o software utilizado para prover o serviço de servidor no nomes(DNS) se chama “BIND”. O Bind é o software mais utilizado no mundo para esta finalidade. Para...

Leia mais

Serviço DNS BIND agosto/2015 Instalação e

Serviço DNS BIND agosto/2015 Instalação e Os nomes [DNS names] são atribuídos através de registros, pela IANA2 [Internet Assigned Number Authority]. O domain name [nome do domínio] é um nome atribuído para um domínio internet. Por exemplo,...

Leia mais