domingo, 15 de maio de 2011

Openfire e os registros SRV do DNS


Com a nova versão do Openfire (3.7.0) lançada em março passado percebi uma mudança na integração dos servidores (s2s, A.K.A. federation) e gostaria de compartilhar uma dica que pode ajudar os demais administradores desse excelente servidor XMPP.

Para garantir que não hajam dificuldades na conexão entre servidores é recomendada a existência de registros SRV conforme o exemplo abaixo (tais registros devem existir para todos os domínios que serão conectados).

Imaginando que o domínio da empresa seja minhaempresa.com.br e que o domínio jabber seja xmpp.minhaempresa.com.br é recomendada a criação dos seguintes registros:
  • _jabber._tcp.xmpp.minhaempresa.com.br
  • _jabber._tcp.minhaempresa.com.br
  • _xmpp-server._tcp.xmpp.minhaempresa.com.br
  • _xmpp-server._tcp.minhaempresa.com.br
Todos os registros devem apontar para seu o domínio jabber, como pode ser observado:
marcelo@hellboy:~$ dig srv _xmpp-server._tcp.minhaempresa.com.br

; <<>> DiG 9.7.3 <<>> srv _xmpp-server._tcp.minhaempresa.com.br
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11368
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;_xmpp-server._tcp.minhaempresa.com.br. IN SRV

;; ANSWER SECTION:
_xmpp-server._tcp.minhaempresa.com.br. 86297 IN SRV 0 1 5269 xmpp.minhaempresa.com.br.

;; Query time: 16 msec
;; SERVER: 200.175.5.139#53(200.175.5.139)
;; WHEN: Sun May 15 00:24:00 2011
;; MSG SIZE rcvd: 89

Descobri essa situação ao migrar um cliente que utilizava uma versão mais antiga de Openfire para a última versão. Enquanto não foram criados os registros SRV dos servidores federados não foi possível ativar a conexão s2s entre os mesmos.