Configurando Openfire Server To Server (S2S)
Faaaaala Jogadores! Tudo certo? Estava contando os segundos para vir aqui relatar à vocês sobre minha briga (e bota porrada nisso) com a configuração S2S do Openfire. O amigo @Bernardo Lankheet é prova disso. Inclusive se você não conhece uma de minhas fontes inspiradoras sobre o Openfire é só acompanhar.
Sendo assim, vamos aos pré requisitos:
- 2 Ambientes com Openfire 4.2.2 (Meu Tutorial Instalação Openfire CentOS7). Ex.: chat.srv1.local e chat.srv2.local
- Telnet instalado para testes. # yum install -y telnet
Está preparado? então veem comigo!
Atenção: Os passos do item 1 é para fazer em ambos servidores.
1- Ativando e Configurando Servidor para Servidor (S2S).
Passo 1- Navegue até Servidor, Configuração do Servidor, Servidor para Servidor. Ative-o e salve. Em configurações de conexões ociosas deixe conforme imagem. Em permitido Conectar marque Lista Branca e adicione os domínios que poderão se conectar à você. Logo após clique em configurações avançadas.
Passo 2 — Em STARTTLS Policy deixe Optional ( A criptografia pode ser usada, mas não é necessária). Em Mutual Authentication (Certificados Peer são verificados, mas somente quando eles são apresentados pelo peer).
Passo 3 — Marque todas as opções indicadas e salve.
2-Configuração arquivo HOSTS (a cereja do bolo).
Isso mesmo, este item foi o que me distanciou durante todo este tempo da mágica do S2S do Openfire. Levando-se em conta que temos dois Servidores Openfire, configurados respectivamente em seus domínios distintos.
- chat.srv1.local (192.168.198.10)
- chat.srv2.local (10.10.0.10)
Passo 1 — No servidor 1 (chat.srv1.local) Edite o arquivo hosts.
# nano /etc/hosts
vai estar assim:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
..adicione:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
_xmpp-client._tcp.chat.srv1.local. 18000 IN SRV 0 5 5222 chat.srv2.local.
_xmpp-client._tcp.chat.srv1.local. 18000 IN SRV 0 5 5269 chat.srv2.local.
192.168.198.10 chat.srv1.local
10.10.0.10 chat.srv2.local
Passo 2 - No servidor 2 (chat.srv2.local) faça o mesmo no arquivo hosts.
# nano /etc/hosts
vai estar assim:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
..Porém, aqui adicione:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
_xmpp-client._tcp.chat.srv2.local. 18000 IN SRV 0 5 5222 chat.srv1.local.
_xmpp-client._tcp.chat.srv2.local. 18000 IN SRV 0 5 5269 chat.srv1.local.
192.168.198.10 chat.srv1.local
10.10.0.10 chat.srv2.local
Salve!
Passo 3 — Teste se o nome é resolvido por ambos:
No servidor 1 (chat.srv1.local)
# telnet chat.srv2.local
No servidor 2 (chat.srv2.local)
# telnet chat.srv1.local
3 -Testando
Verifique se uma sessão entre os servidores foi aberta através do teste a seguir:
Este passo e muito importante, pois é aqui onde você tem os logs de erros, caso alguma configuração não foi feita corretamente. (nota: na versão 4.0 este teste não existia no menu administrativo).
Se tudo até aqui deu certo, navegue até Sessões, Sessões do Servidor e se o SERVIDOR 1 APARECER PARA O SERVIDOR 2 e ao contrário também, PARABÉNS, você conseguiu.