Archive for 'Comuicaciones Fijas'

Zimbra 6 RC1 en Fedora 7. Impresiones de instalación y actualización desde 5.0.13.

Este artículo no pretente ser una guía o tutorial, ya que un servidor de correo suele ser algo bastante personal y las configuraciones varía mucho de un entorno a otro. Se trata de una recopilación de información de lo que he estado probando estos días.

El servidor de correo del que voy a hablar es un HP ML110 G4, con un Xeon 1.8Ghz y 4GB de RAM. Tiene instalado Fedora 7, Zimbra 5.13 y Bind9. Hace copias de seguridad regularmente usando el script de Heinzg, explicado en un post anterior, y saca el correo por un smarthost. Hasta aquí nada complicado. El problema viene cuando queremos cambiar las cosas…

Tras montar un equipo de prueba con una configuración de software similar me dispuse a recuperar Zimbra desde los backups. Mi proceso fue el siguiente:

  • Instalar el mismo sistema operativo, Fedora 7, y actualizar con yum update.
  • Configurar los mismo parámetros de red, tanto IP como archivo /etc/hosts, nombre de host local y servidor DNS. Ésto último solo es necesario si el servidor está detras de un firewall o de nat.
  • Instalar misma versión de Zimbra, con la opción -s, para no realizar configuración posterior y solo instalar los rpm.
  • Extraer el backup con dar con el comando dar -K clave -x archivo.dar.
  • Parar el servicio de Zimbra, zmcontrol stop como usuario zimbra, y sustituir la carpeta /opt/zimbra por la del backup.
  • Reparar permisos, como root hay que hacer chown -R zimbra:zimbra /opt/zimbra y ejecutar /opt/zimbra/libexec/zmfixperms.sh
  • Inciar el servicio de Zimbra, zmcontrol start como usuario zimbra.

Con esto tuve replicado el servidor y funcionando perfectamente. O eso creía yo. Encontré un error al entrar en la web de administración, concretamente intentado abrir el panel de colas de correo. No funcionaba. Era poco, pero era un fallo. Así que intenté arreglarlo. Se me ocurrió actualizar a la última versión de la rama 5, la 5.18. Tan sencillo como descargar el paquete de instalación, ejecutar el proceso y actualizar. Detectó la configuración anterior y se puso en marcha de nuevo con la versión 5.18. El panel de colas de correo volvió a funcionar perfectamente.

No contento con esto me dispuse a actualizar a la 6 RC1 para echar un ojo a las nuevas funcionalidades en mi buzón. No problem, de nuevo ejecutar la instalación del paquete y todo fue como de costusmbre, igual que cualquier actualización anterior. La única pérdida que ha habido que lamentar en este cambio es la de los datos estadísticos de la zona de adminsitración. Sale el mensaje de no data available pero el caso es que el archivo /opt/zimbra/libexec/zmgengraphs ha desaparecido en esta versión 6. Aunque, al ejecutar zmcontrol status todos los servicios aparecen levantados. A saber…

Una vez dentro del buzón veo algunas diferencias. La lista de amigos aparece en la parte inferior de la página y ya no está en la barra lateral izquierda.zcs6_02 copia

Al redactar un mensaje nuevo ahora existe la opción de añadir emoticonos de lo más variopinto (esa es April, de las tortugas ninja??) y también podremos añadir un attach desde el maletín.

zcs6_03 copia

No veo por ningún sitio la nueva opción de las versiones beta para solicitar la confirmación de lectura/recepción. Lo habré soñado?? Ahh no, esto es lo que pasa:

  • When composing an email message, users can flag the message for a return read receipt message. When uses compose an email they can
    select Request Read Receipt from Options on the toolbar. The administrator enables/disables this feature by COS or Accounts. Upgrading to 6.0, this feature is not enabled. For new ZCS installs this feature is enabled by default. This feature can be enabled from the administration console, COS/Admins Features Tab. Users can manage whether to send a return receipt when a message is requesting a read receipt, from their Preferences>Mail folder, Read Receipt section. (Bug 7257).

En los apartados de libreta de direcciones, agenda, tareas y notas no veo nada sifnificativo. En el maletín es donde se han añadido novedades que saltan a la vista, como la creación de hojas de cálculo y presentaciones. También encontramos el inverso de añadir archivos del maletín como adjuntos. Se trata de un botón para enviar un archivo o un enlace de share directamente desde el maletín.

zcs6_04 copiazcs6_05 copia

En el área de las preferencias seguro que hay más de un cambio, pero lo primero que se aprecia es la nueva vista y el poder activar/desactivar los zimlets en nuestra cuenta.zcs6_06 copiaAhora que todo funciona correctamente vamos a intentar llevarlo un poco más lejos. Instalaremos Fedora 11 con su correspondiente versión de Zimbra 6 RC1.

Con el DVD de Fedora 11 no podremos actualizar desde la versión 7. No detectará la instalación de nuestro sistema operativo y solo nos dará la opción de nueva instalación. Creo que viene a ser por esto. Solución, pasar por la versión 10 antes, ejecutar yum update y luego actualizar a la 11. Durante este “apaño” no deberemos tocar nada relativo a Zimbra ni a otras configuraciones.

Una vez tengamos Fedora 10 instalado y al día, reiniciamos con el DVD de Fedroa 11 para efectuar su instalación. Actualizamos el sistema existente y… vaya! Grub se ha ido a paseo. No sé si será un fallo generalizado o solo m ha pasado a mi. El caso es que si ocurre lo reparamos arrancando desde el DVD de Fedora 11 de nuevo y elegimos la opción rescue system. Una vez en la shell ejecutamos la reinstalación de grub, primero entrando en su intérprete de comandos (ejecutando grub) y luego especificando la unidad de disco y la partición donde dee residir. Primero ejecutamos root (hd0,0) y luego setup (hd0), contando con que queramos instalarlo en el primero disco duro y en la partición de boot.

Solventado este asunto, el sistema debería iniciar correctamente, pero nos encontraremos otro problema derivado de la actualización de 10 a 11. Es muy probable que  yum no nos funcione porque el sistema mantendrá el paquete de Fedora 10. Aquí está la solución, que tan solo consiste en eliminar el paquete viejo e instalar el nuevo a mano. Ahora tan solo debemos instalar el paquete de Zimbra 6 RC1 para Fedora 11. Hay que repasar que tengamos todas las configuraciones de red idénticas a las del momento en que estábamos con Fedora 7 y Zimbra funcionando. Me refiero a la IP, nombre de host local, archivo /etc/hosts y servidor DNS. La instalación no debería dar problemas. Detectará el modo update de versión 6 a versión 6 y nos dejará el entorno funcionando.

PFSense Schedules. Reglas temporizadas.

Vaya! Resulta que en la empresa compran un NAS para hacer backups por diferentes medios, pero quieren ponerlo en la LAN para que la velocidad sea máxima y el firewall no cree un cuello de botella.

Es un fastidio si quieres realizar backups de tus servidores que están en la DMZ, por que claro, a tí no te van a comprar uno de uso exclusivo y no es plan de abrir puertos hacia la LAN… o sí?

Este caso se me planteó hace un tiempo y la mejor solución que pude encontrar se basa en el uso de las reglas temporizadas del firewall. De esta manera, permitiremos comunicación de DMZ hacia LAN solo en los puertos y momentos necesarios.

En este ejemplo usaremos la herramienta de Plesk 9 Backup, un servidor FTP IIS6 y PFSense. A ver que pasa…

Primero de todo tenemos que tener claro qué queremos hacer, en qué sentido van a ir las conexiones, qué puertos vamos a utilizar y a qué hora. Con esta información podemos ponernos manos a la obra.

Queremos que esta comunicación entre redes sea lo más segura posible, por lo que tendremos en cuenta los siguientes aspectos:

  • Se supone que se tiene un usuario FTP creado que al loguear con él entramos en nuestro chroot, es decir, no podemos acceder a raiz del sistema ni modificar archivos fuera.
  • Aunque este servidor FTP no tenga acceso desde la WAN, configuraremos las tablas de acceso de IPs permitidas.
  • Especificaremos manualmente el rango de puertos para las conexiones pasivas usando valores poco comunes. Léase este documento de Microsoft. Lo pongo en Inglés porque el que está en Español se ha autotraducido y tiene fallos.

Vamos ahora con la configuración del PFSense. Primero vamos a definir el horario en que se activarán las reglas que crearemos posteriormente.

Creamos las reglas correspondientes al servicio FTP y al rango de puertos pasivos. Tan solo debemos especificar en el apartado de nuestra DMZ:

Regla 1

  • IP origen – Servidor Plesk.
  • Protocolo TCP.
  • Cualquier puerto de origen.
  • IP destino – Servidor FTP.
  • Puertos de destino – Puerto 21.

01

Regla 2

  • IP origen – Servidor Plesk.
  • Protocolos TCP/UDP.
  • Cualquier puerto de origen.
  • IP destino – Servidor FTP.
  • Puertos de destino -El rango pasivo.

02

Ahora que ya tenemos ambas reglas creadas definiremos un criterio de temporalidad en el apartado Firewall -> Schedules.  Añadiremos una nueva temporización y nos encontraremos con esta pantalla

03

En este ejemplo he dado a la regla el nombre “BACKUP_TEMPORIZADO 1″ y he definido un primer criterio que consiste en que se active todos los viernes, haciendo click en el nombre del día (color rojo pálido), y también los días martes 14 y miércoles 15. El horario programado es de 08:00 a 10:00 y el nombre que le he puesto es “por la mañana“. Si hacemos click en Add Time añadiremos esta programación a la lista de horarios de la regla.

04

Podemos crear reglas temporizadas con todas las programaciones que necesitamos. También es recomendable para paranoicos modificar las reglas cada cierto tiempo para que no sigan un patrón concreto. Hacemos click en Save y veremos como nuestra regla aparece en la lista.

05

Volvemos a las reglas creadas al principio y en el apartado Schedule seleccionamos la temporización que hemos creado.

06

Veremos como aparece la programación en la lista de las reglas. Si la programación está activa veremos un icono de pass (flecha verde) si no lo está veremos el icono del cuadrado rojo con la cruz.07

Ahora crearemos en el Plesk Backup Manager una programación de backup que coincida con la activación temporal de la regla. Según este ejemplo hemos abierto los puertos durante dos horas. Habría que calcular el tiempo estrictamente necesario para realizar la operación y ajustarlo al máximo para reducir riesgos.

08

10 Gigabit Switches. Pruebas y Comparativas.

Ayer estuve leyendo un artículo bastante interesante sobre los primeros switches de 10GB que se están comercializando. La gente de networkworld.com analiza y compara equipos de cinco conocidos fabricantes : Avaya, Force10 Networks, Foundry Networks, HP y Nortel.

Aquí tenéis el link:

http://www.networkworld.com/reviews/2003/020310gbe.html

Zimlet de integración Asterisk – Zimbra

Digium y Zimbra parece que llevan tiempo siendo amiguetes.  Incluso hicieron unas curiosas declaraciones donde daban por sentado que iban a desarrollar medios de integración para las dos tecnologías… allá por el 2006.

Existe un Zimlet bastante práctico que nos da la funcionalidad de “click-to-call” y de enviar SMS a través de la interfaz web de Zimbra. De momento no funciona con Zimbra Desktop. También hay un par de zimlets oficiales que viene con la propia instalación de Zimbra, pero están dentro de la rama experimental. Este por lo menos está bastante probado y según he podido leer por los foros tiene a la gente satisfecha. Vamos al lío…

astzim

Descargamos el zimlet de la web oficial de sus desarrolladores. Para instalarlo necesitamos realizar modificaciones tanto en el servidor Zimbra como en el servidor Asterisk. Primero subimos el archivo zip a la carpeta /opt/zimbra/zimlets y lo instalamos usando el comando

zmzimletctl install /opt/zimbra/zimlets/ch_bnc_asterisk.zip

Este comando se encuentra dentro de la carpeta /opt/zimbra/bin. A continuación, extraemos el archivo XML de configuración para editar los parámetros específicos de nuestro servidor Asterisk y lo dejamos en la carpeta /tmp por ejemplo.

zmzimletctl getConfigTemplate
/opt/zimbra/zimlets/ch_bnc_asterisk.zip >
/tmp/ch_bnc_asterisk_config.xml

Editamos el archivo ch_bnc_asterisk_config.xml donde tendremos que cambiar:

  • IP o nombre dns de nuestro servidor asterisk.
<property name="astManagerIp">111.111.111.111</property>
  • Puerto de Asterisk Manager, por defecto el 5038.
<property name="astManagerPort">5038</property>
  • Usuario y contraseña del usuario de Asterisk Manager que ejecutará los comando enviado por el zimlet. Necesita privilegios de call y command. De momento nos lo podemos inventar, ya que lo daremos de alta más adelante.
<property name="astManagerUser">usuario</property>
<property name="astManagerSecret">contraseña</property>
  • El contexto. En mi caso, from-internal.
<property name="astDialContext">from-internal</property>
  • El tipo de canal en uso por las extensiones para crear correctamente el comando de click-to-call. Si tienes extensiones SIP, pues SIP. Si tienes extensiones analógicas, pues ZAP. No lo he probado con IAX, ahora que lo pienso…
<property name="astDialChannelType">SIP</property>

Estas con las configuraciones básicas para que el invento funcione, pero tiene algunas más relacionadas con el marcado y el uso de prefijos.  El siguiente paso consiste en cargar la nueva configuración para que el zimlet conecte con nuestro servidor Asterisk. Usaremos el mismo comando de antes y luego reiniciaremos el servicio de mailboxd:

zmzimletctl configure /tmp/ch_bnc_asterisk_config.xml
zmmailboxdctl restart

Ahora debemos crear un usuario en el servidor Asterisk con los privilegios necesarios para poder comunicarse con él. El sistema Asterisk Manager consiste en un pequeño servicio que escucha en un puerto TCP para ejecutar comandos remotamente. Se creó entre otras cosas para este tipo de usos, admitir integración sencilla con otras aplicaciones. Más info en VoIP-info.org. Para crear un nuevo usuario de esta plataforma editaremos el archivo /etc/asterisk/manager.conf y añadiremos las siguientes líneas:

[user] #nombre de usuario

secret = pass #contraseña

deny=0.0.0.0/0.0.0.0 #rango de direcciones no admitidas

permit=0.0.0.0/255.255.255.0 #rango de direcciones admitidas

read = system,call,log,verbose,command,agent,user

#permisos de lectura también se puede poner all

write = system,call,log,verbose,command,agent,user

#permisos de escritura también se puede poner all

Si tienes los servidores en diferentes redes, o resulta que el Zimbra está en una DMZ y no se puede comunicar con el Asterisk que está en la LAN puede que hayas pensado… como voy a conectar las llamadas entre redes?? Tendré que permitir tráfico SIP en el firewall?? La respuesta es no. Tan solo has de permitir el puerto de Asterisk Manager entre el servidor Zimbra y el Asterisk. Lo que realmente estamos haciendo es ejecutar comandos en el Asterisk de manera que el servidor llamará a nuestra extensión y al descolgar nos realizará automaticamente la llamada saliente. En otras palabras, no existe tráfico de voz entre el Zimbra y el Asterisk.

Como una imagen vale más que mil palabras, os dejo las siguientes capturas para que os hagáis una idea de la sencillez de la aplicación y de como funciona.

zimast01

Definiendo nuestra extensión.

zimast02

Información del servidor Astrerisk.

zimast03

El menú del zimlet.zimast04

Autodetección de números de teléfono con la opción de click-to-call.

zimast05Ring Ring!! El zimlet envía el comando de llamada y nuestra extensión suena. Al descolgar nos conmutará con la llamada saliente.

VLAN s en PfSense 1.2 y 3Com 2924-SFP Plus. Sistema Voice VLAN. Parte 1.

El swicth gestionable que compramos hace unos meses ha estado funcionando hasta ahora con la configuración de fábrica. La idea con la que se adquirió era la de separar la red de voz de las de datos y poner teléfonos IP de calidad para los puestos de trabajo. Tras hacernos con un pequeño chollo por eBay, 5 teléfonos Cisco 7906G nuevos por 250€, me he puesto manos a la obra a luchar contra este rollo de las VLAN, completamente nuevo para mi en la práctica.

Con ayuda del amigo Vicent, que a veces deja algún comentario por aquí, empecé a darle forma al asunto y en pocos días tuve un proyecto definido. Vamos a definir 5 VLANs para los diferentes chismes que tenemos en la oficina:

  • Workstations
  • Servers
  • VoIP
  • IPCams
  • WiFi

Intentaremos estar offline el menor tiempo posible, por lo que primero de todo vamos a meternos en el PfSense para definir las VLANs. Este proceso requiere reiniciar el firewall, así que es recomendable hacerlo primero y todo de una vez.

El sistema es sencillo de entender. Bajo una interfaz física vamos a definir interfaces “lógicas” que van a funcionar como si fueran físicas, algo así como las particiones de los discos duros. Cada VLAN tiene un identificar numérico y una descripción en texto. No hay gran misterio en el asunto.

vlan_01vlan_02vlan_03

Hemos definido nuevas interfaces y cada una tiene sus opciones:

  • IP fija o DHCP.
  • Puerta de enlace de la red, para sacar el tráfico por ella en lugar de por la WAN (útil para MultiWAN).
  • Modo Bridge…

vlan_04vlan_05

Ahora debemos hacer lo mismo en el switch. En el caso de la VLAN destinada a tráfico de voz, disponemos de una opción especial de automatización en el modelo de switch que vamos a tratar. Se trata de una funcionalidad que también existe en Cisco y que resulta bastante útil. Pero antes de nada, debemos definir la VLAN. Accedemos a la configuración del switch, en este caso por web, y dentro del menú DEVICE – VLAN creamos las VLAN exactamente igual que en el firewall, dándoles el mismo identificador numérico y de texto.

vlan_06

A continuación configuraremos los puertos del switch que van a pertenecer a cada VLAN. La diferencia entre tagged y untagged se puede resumir sencillamente en que en los puertos tagged se etiquetan los paquetes con su identificador numérico correspondiente, por lo que solamente es necesario definirlos cuando esos puertos van hacia un router o similar.

vlan_07

En el caso de la imagen, tenemos ocho puertos untagged que corresponden al servidor Elastix y a los teléfonos IP. El puerto 24 está configurado como tagged porque está conectado al PFSense. Este puerto pertenecerá y permanecerá como tagged para todas las VLAN que queramos gestionar y que hayamos definido en nuestro Firewall.

La funcionalidad de automatización de la que hablaba antes la encontramos dentro del menú DEVICE – QoS – VOIP Traffic Setting. Consiste en configurar puertos de manera que añadan automáticamente a la red de voz dispositivos específicos, identificados por su OUI (tres primero pares de la MAC). De esta manera, si conectamos un teléfono IP (previa inserción de su OUI en la tabla) a un puerto que no pertenece la VLAN de voz, el switch lo añadirá automáticamente. Está explicado de manera sencilla en el documento oficial de 3Com.

vlan_08