Configuração Jabber-2-Jabber (s2s)

Publicado por Hudson Martins em 14/04/2008

[ Hits: 8.071 ]

 


Configuração Jabber-2-Jabber (s2s)



Configurar s2s Jabberd14-1.6.0

Antes de tudo, gostaria de cumprimentar a todos e compartilhar mais um pouco de experiências adquiridas dentro desse mundo (Linux).

Recentemente, estava precisando e ao mesmo tempo estava tendo algumas dificuldades conectar dois servidores Jabber. Procurei na internet todo tipo de dica, mas descobri que não havia muita documentação sobre o assunto.

Encontrei algumas dicas isoladas, mas nada com explicações mais detalhada. Então, resolvi juntar um pouco dessas dicas e me aprofundar ainda mais no estudo do servidor Jabber.

Logo, partindo do princípio que o serviço já está instalado, configurado e rodando, vamos nos prender apenas a configuração da sessão de conexão entre os serviços Jabber.

Uma dica que achei muito interessante é por o serviço "s2s" inserido em um arquivo fora do arquivo principal e que possa rodar como um serviço externo, possibilitando, assim, a configuração e manutenção sem a necessidade de derrubar o serviço principal e, não havendo a preocupação em ter que desconectar os usuários do servidor. Acesse este link para ver esta dica:
Voltando então ao nosso assunto, temos a seguinte situação:



Vamos pôr, então, a mão na massa agora.

Observação: Os dois servidores possuem IP fixo e válido na internet.

Bem, primeiro vamos pôr o IP e o domínio do Jabber 01 no hosts do segundo servidor. Para isto, iremos inserir a seguinte linha:

<ip jabber 01>         servjabber1         servjabber1.com

O mesmo no segundo servidor, sendo:

<ip jabber 02>         servjabber2        servjabber2.com

Iremos configurar agora o arquivo jabber.xml de ambos servidores. Uma outra observação é que a conexão entre esses servidor ficarão fechadas. Este configuração é uma ótima opção para quem deseja interligar servidores das filiais de sua empresa, servidores de comunidades ou escolas. Desta forma podemos deixar separado o serviço e o banco de dados e não teremos o problema de cair a conexão com internet e uma determinada filial ou comunidade ficar sem a comunicação interna também.

Bem, no arquivo jabber.xml do primeiro servidor jabber, localize a sessão que trata da conexão entre os servidores (server-to-server).

Nesta sessão, no primeiro servidor, teremos algo do tipo:

<service id="dnsrv.servjabber1.com">
    <host/>
    <load>
       <dnsrv>/usr/local/lib/libjabberddnsrv.so<dnsrv>
    </load>
    <dnsrv xmlns="jabber:config:dnsrv">
       <resend service="_xmpp-server._tcp">s2s.servjabber1.com</resend>
       <resend service="_jabber._tcp">s2s.servjabber1.com</resend>
       <resend>s2s.servjabber1.com</resend>
    </dnsrv>
</service>

No segundo servidor teremos:

<service id="dnsrv.servjabber1.com">
    <host/>
    <load>
       <dnsrv>/usr/local/lib/libjabberddnsrv.so</dnsrv>
    </load>
    <dnsrv xmlns="jabber:config:dnsrv">
       <resend service="_xmpp-server._tcp">s2s.servjabber2.com</resend>
       <resend service="_jabber._tcp">s2s.servjabber2.com</resend>
       <resend>s2s.servjabber2.com</resend>
    </dnsrv>
</service>

Na sessão "service" do s2s teremos a seguinte configuração. No primeiro servidor:



<service id="s2s.servjabber1.com">
    <load>
       <dialback>/usr/local/lib/libjabberddialback.so</dialback>
    </load>
    <dialback xmlns="jabber:config:dialback">
       <host name='servjabber2.com' xmpp='yes' tls='yes' auth='db'/>
       <ip port="5269">ip da placa de rede local</ip>
       <karma>
          <init>50</init>
          <max>50</max>
          <inc>4</inc>
          <dec>1</dec>
          <penalty>-5</penalty>
          <restore>50</restore>
       </karma>
    </dialback>
</service>

No segundo servidor:

<service id="s2s.servjabber2.com">
    <load>
       <dialback>/usr/local/lib/libjabberddialback.so</dialback>
    </load>
    <dialback xmlns="jabber:config:dialback">
       <host name='servjabber1.com' xmpp='yes' tls='yes' auth='db'/>
       <ip port="5269">ip da placa de rede local</ip>
       <karma>
          <init>50</init>
          <max>50</max>
          <inc>4</inc>
          <dec>1</dec>
          <penalty>-5</penalty>
          <restore>50</restore>
       </karma>
    </dialback>
</service>

Agora basta reiniciar os serviços e começar a inserir os contatos do primeiro servidor no segundo e vice-versa.

Os usuários logados no primeiro servidor irão inserir os contatos da seguinte forma: maq01@servjabber2.com.

E os usuários logados no segundo servidor farão da seguinte forma: maq01@servjabber1.com.

Espero ter ajudado e viva o Linux. Um grande abraço a todos e até a próxima.

Outras dicas deste autor

Inserir o Fluxbox no menu do GDM

Leitura recomendada

GPU - CUDA 5 na plataforma openSUSE 12.3

Como não logar determinados acessos ao seu servidor Apache

Imprimindo frames corretamente no Firefox

Problemas com áudio no Linux Educacional 3 [Resolvido]

Teclado USB + Grub

  

Comentários
[1] Comentário enviado por agk em 15/04/2008 - 11:55h

Parabéns colega, esse tipo de dica vale mais que muito artigo que tem por aí.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts