Pular para o conteúdo
,

DNS SRV records com Bind

A vantagem de ter entradas SRV no DNS é a simplificação de uma "alta-disponibilidade" via round-robin

Avatar de DK
DKTrabalha com Linux e Unix a mais de 23 anos e possui as certificações LPI 3, RHCE, AIX e VIO.

09 set, 2009
3 min de leitura

Os únicos serviços que utilizam entradas SRV atualmente são SIP, LDAP, XMPP (jabber), Kerberos, NTP e alguns outros. Não são muitos.

A vantagem de ter entradas SRV no DNS é a simplificação de uma “alta-disponibilidade” via round-robin e também em passar o endereço dos serviços diretamente para a aplicação que irá utilizá-los.

A sintaxe para entradas SRV no Bind é:

_Serviço._Proto.Name TTL Classe SRV Prioridade Peso Porta Destino

Onde:

  • Serviço: nome simbólico para o serviço
  • Proto: protocolo do serviço; usualmente é TCP ou UDP.
  • Name: o domínio para o qual a entrada é válida
  • TTL: Time to live da entrada
  • Classe: sempre é IN nesse caso
  • Prioridade: a prioridade para o host de destino, valores menores significam maior preferência.
  • Peso: um peso relativo à entrada com a mesma prioridade
  • Porta: oa porta UDP ou TCP na qual o serviço será encontrado.
  • Destino: é a entrada do DNS para o host que está provendo o serviço.

Uma entrada SRV no Bind se parece com a seguinte:

_sip._tcp.exemplo.com.br. 86400 IN SRV 0 5 5060 192.168.1.1
Atenção Aliases ou CNAMEs não podem ser usados como destinos válidos!
_sip._tcp.exemplo.com.br. 86400 IN SRV 10 60 5060 192.168.1.1
_sip._tcp.exemplo.com.br. 86400 IN SRV 10 20 5060 192.168.1.2
_sip._tcp.exemplo.com.br. 86400 IN SRV 10 10 5060 192.168.1.3
_sip._tcp.exemplo.com.br. 86400 IN SRV 10 10 5066 192.168.1.4
_sip._tcp.exemplo.com.br. 86400 IN SRV 20 0 5060 192.168.1.5

As quatro primeiras entradas compartilham uma prioridade 10, então o valor do campo “Peso” será usado pelos clientes para determinal qual servidor (host e porta) será contactado. A soma dos quatro valores é 100, então 192.168.1.1 será utilizado 60% do tempo. Os dois hosts 192.168.1.3 e 192.168.1.4 serão utilizados 20% das requisições para cada (10% do total das requisições) onde metade vai para 192.168.1.3 na porta 5060 e outra metade vai para 192.168.1.4 porta 5066.

Se o host 192.168.1.1 ficar indisponível, essas duas máquina sobressalentes irão compartilhar a carga igualmente.

Se todos os quatro servidores com prioridade 10 ficarem indisponíveis, a entrada para próximo valor da prioridade será escolhido, que é 192.168.1.5. Essa deve ser um máquina em outra localização física, presumivelmente não vulnerável e testada.

Atenção Deve ser notado que o balanceamento de carga para entradas SRV é limitada, uma vez que a informação é estática. A carga dos servidores em questão também não é levado em conta.

Exemplo para entrada http

_http._tcp.www.fogonacaixadagua.com.br.  IN  SRV  5         50     80  www.fogonacaixadagua.com.br.
_http._tcp.www.fogonacaixadagua.com.br.  IN  SRV  5         50     80  www2.fogonacaixadagua.com.br.
_http._tcp.www.fogonacaixadagua.com.br.  IN  SRV  10        100    8080 www3.virtualxp.org.

Exemplo para entrada NTP

_ntp._udp         IN         SRV         5         100        123         192.168.1.42
_ntp._udp         IN         SRV         10       100        123         192.168.1.15
Avatar de DK

Comentários

Comentários fechados para visitantes. Entre ou registre-se para comentar.

3 respostas para “DNS SRV records com Bind”

  1. Avatar de Juliano D. Carniel

    Muito interessante =)
    Thanks!
    demorou para por num blog seu conhecimento!

  2. Avatar de Jorge Caetano
    Jorge Caetano

    Muito bom.
    Está de parabéns!

  3. Avatar de filipe_monitoramento

    olá amigo, muito boa a sua dica.
    parabéns!

Ir para