DNS SRV records com Bind

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
Share this post

3 comments

Join the conversation

Join the conversation