Buenas noticias para los usuarios de ejabberd :) Recien acabo de terminar
de probar este patch en mi pequeno laboratorio de casa y me tope con
excelentes resultados.
Les explico el entorno que tengo en casa para que lo planeen bien a la
hora de montarlo en sus redes:

2 direccionamientos ip: 192.168.1.0/28 (interno) y 172.16.1.0/28 ("externo")
3 dominios xmpp: s2s-proxy.home.cu (SRV1), lab.home.cu (SRV2),
fuera.example.org (SRV3)
1 servidor DNS con 2 vistas: Una atendiendo a home.cu por dentro y otra
home.cu y example.org por fuera. (Es importante las vistas, s2s-proxy esta
basado en esto) (Mas abajo explico porque example.org)

SRV1, SRV2, SRV3, 3 servers virtuales con Debian Etch.

SRV1: 172.16.1.2, 192.168.1.2
SRV2: 192.168.1.4
SRV3: 172.16.1.1

SRV2 por problemas de rutas (provocadas a proposito) no puede llegar a
SRV3. Esto es para simular un entorno parecido al que se quiere, un
servidor interno (SRV2) que quiere intercambiar mensajeria instantanea con
uno en internet ("SRV3") atraves de un proxy (SRV1). example.org es una
zona que tengo creada para simular un dominio valido en internet
fuera.example.org y que la tiene el mismo server DNS que tiene a home.cu.

Primero, configurar bien el dns y las vistas:
Por dentro: s2s-proxy.home.cu   ---> 192.168.1.2  (Lo pongo asi, para
abreviar, saben que estos records son SRV)
             lab.home.cu                ---> 192.168.1.4

Por fuera: s2s-proxy.home.cu    ---> 172.16.1.2  (Fijense que es la misma ip.)
           lab.home.cu          ---> 172.16.1.2


Segundo, instalar ejabberd en SRV1 y SRV2:

Como no tengo ahora mismo el deb-src de ejabberd-2.0.0 (etch-backports,
donde unico esta), tenia por suerte los fuentes, asi que ya saben. La
semana que viene lo tratare de parchear y volver a generar el .deb.

Bajar [1] y copiarlo en el directorio de ejabberd, despues patch -p0 <
s2s_proxy-2.0.0.patch
y para instalar entrar al directorio src y "./configure", despues "make
install".
Veran en el make install como se genera el fichero mod_s2s-proxy.erl

Segundo, configurar ambos ejabberd de la siguiente manera:

SRV1:

{hosts, ["s2s-proxy.home.cu"]}.
No se como se comporte con mas dominios virtuales, supongo que igual.

Ir a la seccion de modulos y agregar este:  {mod_s2s_proxy, [{hosts,
["lab.home.cu"]}]},
Como ven aqui se define los dominios los cuales vamos a hacerle proxy para
fuera/dentro.

SRV2:

{hosts, ["lab.home.cu"]}.
{acl, local_domains, {server_glob, "*.home.cu"}}.
{access, via_proxy, [{deny, local_domains}, {allow, all}]}.
{s2s_hub, [{host, "s2s-proxy.home.cu"}, {access, via_proxy}]}.

Las 3 ultimas lineas son para que los subdominios xmpp de home.cu (no se
si incluye a home.cu) utilizen s2s normal, y lo demas via proxy. :)

A SRV3 no lo incluyo, pues es otro ejabberd (sin parchear) que utilize
para el dominio ficticio de example.org.

Esto es todo lo que he probado, y pincha al kilo, ahora hay que ver como
se comporta en internet :) . Hasta ahora no he notado ninguna perdida de
mensajes de ningun tipo, osea que puedo agregar usuarios a mi roster y
todo.

Para comprobar aun mas que todo pinchaba bien, hize un tcpdump al puerto
de destino 5269 en SRV3 y efectivamente llega con la IP de SRV1.

1- http://tkabber.jabber.ru/files/contributions/s2s_proxy-2.0.0.patch
2- http://xram.livejournal.com/2887.html


_______________________________________________
Cancelar suscripciĆ³n
https://listas.softwarelibre.cu/mailman/listinfo/linux-l
Buscar en el archivo
http://listas.softwarelibre.cu/buscar/linux-l

Responder a