TIPS- Comunicacion entre Servidores de OpenFire

En este tutorial veremos como instalar sendos servidores jabber en distintas redes de tal forma que se comuniquen entre ellos  y los usuarios se puedan conectar entre si. Este tutorial es de la autoria de Armando Almeida Gómez (AKA @Armando) y Jean Veliz.

Requisitos

– La instalación será realizada sobre proxmox 6.

– Se utilizará un container(ct) con debian10.

– Se empleará la instalación de openfire actual.

Creando el CT y preparando condiciones

Crearemos un nuevo CT en el Proxmox y usaremos para crearlo una plantilla de Debian 10. Se configura el container con la opcion desmarcada de unprivileg container y en features se le pone nesting para poder coger la hora de la red. Luego en Proxmox se le ponen las direcciones IP. Corremos nuestro CT y lo actualizamos.

Instalamos java antes de instalar el openfire

Como necesitamos comunicacion entre 2 server debemos tener la hora exacta en ambos. Reconfiguramos la zona horaria. La hora que usara sera la de nuestro Proxmox asi que debe tener la hora exacta.

Configuramos el acceso ssh

El siguiente paso lo haremos en el Proxmox ya que si el mismo tiene la hora bien sus virtuales tambien. Instalamos el NTP

Configuramos nuestro NTP para sincronizar la hora desde un NTP externo. La configuración debe quedar así:

Se ejecuta date (para ver si la hora y fecha están correctas)

Instalando OpenFire

Descargamos el instalador de openfire y lo subimos al CT y lo pondremos en el directorio opt

Una vez instalado entramos desde el navegador a la IP donde lo instalamos por el puerto 9090 y concluimos la instalación de la forma habitual. Ahora pasemos al objetivo principal del tutorial.

Comunicación entre servidores openfire

Condiciones de partida:

Usaremos la base de datos interna por defecto (no usaremos LDAP ni base de datos externa) para este tutorial, para concentrarnos en las opciones que debemos utilizar de la forma más simple.

Los servidores openfire para comunicarse entre ellos deben poder encontrarse mediante ping a sus nombres dns, ejemplo: si mi servidor se llama serverg.afh.cu, debo poder darle ping desde el container del openfire. Si no resuelven su dirección a través de DNS esta opción de comunicación entre servidores no funciona.

Opciones a emplear para lograr nuestro objetivo:

En cada red deben crear una nueva zona DNS que sea común para todos los establecimientos y agregar los host segun sea el caso

 

En la figura vemos que ademas de la zona DNS principal prado.cu he adicionado otra zona DNS adicional afh.cu son los host de mis 3 servidores en este caso

Al instalar el openfire en la configuracion general el nombre de mi servidor debe coincidir con el nombre del host registrado en la zona DNS afh.cu (en mi caso)

Al empezar a agregar usuarios de las dependencias fuera de la nuestra inmediatamente empiezan a trabajar las sesiones entre servidores.

Los usuarios deben adicionarse a través del nombre completo en el servidor (ejemplo: [email protected])

El detalle negativo consiste en que el usuario al que se le envía la solicitud debe aceptar la misma para que empiece a salir en nuestro roster; si queremos evitar esto podemos editar la suscripción poniendole a ambos la opción both, tal y como se ve en la figura

Para cerrar el tutorial les dejo este tips:

Si tenemos pocos usuarios y vamos a instalar con la opción más simple de usuarios en una base de datos interna el plugin justmarried nos puede ser de gran utilidad para completar las listas de usuario creando un usuario inicial con su roster de otras dependencias y clonandolo cambiando solamente el nombre de usuario, lo cual nos aceleraria el proceso de creación de los mismos.

Espero les ayude con su trabajo diario

 

 

 

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 4

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sobre Alexander Rivas Alpizar 61 artículos
Administrador de Redes EMPRESTUR Cienfuegos

7 comentarios

  1. Google Chrome 80.0.3987.132 Google Chrome 80.0.3987.132 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; Redmi Note 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36

    @armando_kerio, sorry!

  2. Google Chrome 80.0.3987.132 Google Chrome 80.0.3987.132 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; Redmi Note 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36

    Búscame en Telegram, @armamdo_kerio

  3. Google Chrome 80.0.3987.132 Google Chrome 80.0.3987.132 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; Redmi Note 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36

    Joe Luis. Para que se vean son indispensables dos requisitos, tienes que habilitar en cada lugar una zona DNS común extra (igual en cada lugar) y como segundo requisito desde cada openfire se debe dar pin por DNS a los otros servidores (por ip no funciona)

  4. Firefox 78.0 Firefox 78.0 Windows 8 x64 Edition Windows 8 x64 Edition
    Mozilla/5.0 (Windows NT 6.2; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0

    Hola administradores, necesito ayuda. tego instalado el openfre en un servidor windows y lo tengo configurado que busque los usurios en mi active diretory. Internamente puedo mandar mensajes, el problema es comunicarme con los servidores chat de otras unidades dentro de la misma empresa.
    Tengo en las zonas directa e inversa los host y punteros hacia los chat con los nombres y las ip correctamente escritos. Ellos tambien me tienen agregado correctamente. Tengo tambien el hot con su puntero del servidor openfire independiente al container dentr de las zonas. Dentro de la consola del openfire tengo en la seccion de servidor a servidor todos servidores de las unidades habilitados en la lista blanca. Puedo hacer ping a los dns, pero no puedo agregar ningun usuario, al hacerlo, le doy click en la opcion de buscar usuario y me da error de comunicacion : el servidor no ha retornado resultados de su busqueda.Que puede ser? Ayuda por favor

  5. Google Chrome 80.0.3987.132 Google Chrome 80.0.3987.132 Android 9 Android 9
    Mozilla/5.0 (Linux; Android 9; Redmi Note 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36

    Cambia lo que sea necesario por el bien del artículo!

  6. Google Chrome 80.0.3987.132 Google Chrome 80.0.3987.132 Android 6.0.1 Android 6.0.1
    Mozilla/5.0 (Linux; Android 6.0.1; SM-G532M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Mobile Safari/537.36

    Tip: si usas un CT de proxmox no es necesario instalar/configurar NTP en el CT, pues el CT coje la hora del host, o sea configuras solo tzdata y si te aseguras que proxmox usé un server de tiempo, con eso basta.

    • Firefox 74.0 Firefox 74.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0

      Tienes toda la razon, pero bueno tengo que esperar que armando me de su bendicion para cualquier cambio del tutorial

Responder a Armando Cancelar la respuesta

Tu dirección de correo electrónico no será publicada.


*