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.
apt update
apt upgrade
Instalamos java antes de instalar el openfire
apt install default-jre-headlessComo 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.
dpkg-reconfigure tzdataConfiguramos el acceso ssh
nano /etc/ssh/sshd_config
Debe quedar así:
ListenAddress 0.0.0.0
PermitRootLogin yesEl siguiente paso lo haremos en el Proxmox ya que si el mismo tiene la hora bien sus virtuales tambien. Instalamos el NTP
apt install ntpConfiguramos nuestro NTP para sincronizar la hora desde un NTP externo. La configuración debe quedar así:
nano /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
# Leap seconds definition provided by tzdata
leapfile /usr/share/zoneinfo/leap-seconds.list
# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# You do need to talk to an NTP server or two (or three).
server 192.168.0.1
Donde 192.168.0.1 es la ip de mi server NTPSe 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
Vamos al directorio donde copiamos el instalador.
cd /opt/
Instalamos
dpkg -i openfire_4.x.x_all.deb
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







No comments yet