Archive for Mayo, 2008

Sin miedo

Hoy bien prontito he actualizado la versión de los paquetes de Zimbra. Tenía en producción la versión 5.0.1 y he subido a la 5.0.5 por los numerosos bugs que se corrigen. Entre ellos el más puñetero era el de cargar en algunas ocasiones incorrectamente las conversaciones al responder un mensaje. Parece que solo afectaba a ciertos sistemas o navegadores, pero a mi me fallaba mucho con Firefox bajo Ubuntu. Así que sin dudarlo me he bajado el tar.gz completo y ale, le he dado a actualizar a lo bruto. No se vosotros, pero si me fio de alguna aplicación dentro del mundo del código abierto es de Zimbra. Dejo el log de lo que ha pasado:

[root@XXXXXX zcs-5.0.5_GA_2201.F7.20080417022547]# ./install.sh

Operations logged to /tmp/install.log.17123
Checking for existing installation…
zimbra-ldap…FOUND zimbra-ldap-5.0.1_GA_1902
zimbra-logger…FOUND zimbra-logger-5.0.1_GA_1902
zimbra-mta…FOUND zimbra-mta-5.0.1_GA_1902
zimbra-snmp…FOUND zimbra-snmp-5.0.1_GA_1902
zimbra-store…FOUND zimbra-store-5.0.1_GA_1902
zimbra-apache…FOUND zimbra-apache-5.0.1_GA_1902
zimbra-spell…FOUND zimbra-spell-5.0.1_GA_1902
zimbra-proxy…FOUND zimbra-proxy-5.0.1_GA_1902
zimbra-archiving…NOT FOUND
zimbra-cluster…NOT FOUND
zimbra-core…FOUND zimbra-core-5.0.1_GA_1902
ZCS upgrade from 5.0.1 to 5.0.5 will be performed.

Saving existing configuration file to /opt/zimbra/.saveconfig

PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. (”ZIMBRA”) WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra_public_eula_2.1.html

Press Return to continue

Checking for prerequisites…
NPTL…FOUND
sudo…FOUND sudo-1.6.8p12-14
libidn…FOUND libidn-0.6.8-4
fetchmail…FOUND fetchmail-6.3.7-2
gmp…FOUND gmp-4.1.4-12.3
bind-libs…FOUND bind-libs-9.4.2-3
vixie-cron…FOUND vixie-cron-4.1-84
libtool-ltdl…FOUND libtool-ltdl-1.5.22-11
/usr/lib/libstdc++.so.6…FOUND
Prerequisite check complete.
Checking for standard system perl…
Checking current number of databases…

Do you want to verify message store database integrity? [Y] Y
Verifying integrity of message store databases.  This may take a while.
mysqld is alive
Generating report
No errors found

Checking for installable packages

Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-proxy

The Zimbra Collaboration Suite appears already to be installed.
It can be upgraded with no effect on existing accounts,
or the current installation can be completely removed prior
to installation for a clean install.

Do you wish to upgrade? [Y] Y

Select the packages to install
Upgrading zimbra-core
Upgrading zimbra-ldap
Upgrading zimbra-logger
Upgrading zimbra-mta
Upgrading zimbra-snmp
Upgrading zimbra-store
Upgrading zimbra-apache
Upgrading zimbra-spell
Upgrading zimbra-proxy
Checking required space for zimbra-core
checking space for zimbra-store

Installing:
zimbra-core
zimbra-ldap
zimbra-logger
zimbra-mta
zimbra-snmp
zimbra-store
zimbra-apache
zimbra-spell
zimbra-proxy

The system will be modified.  Continue? [N] Y

Shutting down zimbra mail

Backing up the ldap database…done.

Removing existing packages

zimbra-ldap…done
zimbra-logger…done
zimbra-mta…done
zimbra-snmp…done
zimbra-store…done
zimbra-spell…done
zimbra-proxy…done
zimbra-apache…done
zimbra-core…done

Removing deployed webapp directories
Installing packages

zimbra-core……zimbra-core-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-ldap……zimbra-ldap-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-logger……zimbra-logger-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-mta……zimbra-mta-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-snmp……zimbra-snmp-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-store……zimbra-store-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-apache……zimbra-apache-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-spell……zimbra-spell-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done
zimbra-proxy……zimbra-proxy-5.0.5_GA_2201.F7-20080417022547.i386.rpm…done

Setting defaults from saved config in /opt/zimbra/.saveconfig/config.save
HOSTNAME=XXXXXX
LDAPHOST=XXXXXX
LDAPPORT=389
SNMPTRAPHOST=XXXXXX
SMTPSOURCE=admin@XXXXXX
SMTPDEST=admin@XXXXXX
SNMPNOTIFY=yes
SMTPNOTIFY=yes
LDAPROOTPW=HyzDGikb
LDAPZIMBRAPW=HyzDGikb
LDAPPOSTPW=HyzDGikb
LDAPREPPW=HyzDGikb
LDAPAMAVISPW=HyzDGikb
Restoring existing configuration file from /opt/zimbra/.saveconfig/config.save…done
Operations logged to /tmp/zmsetup.01001900-0000164402304.log
Starting ldap…done.
Setting defaults…done.
Upgrading from 5.0.1_GA_1902 to 5.0.5_GA_2201
Stopping zimbra services
Verifying /opt/zimbra/conf/my.cnf
Starting mysql
Starting logger mysql
Tue May  6 08:28:37 2008: SELECT value FROM config WHERE name = ‘db.version’
This appears to be 5.0.1_GA
Redolog Version: 1.21 New Redolog Version: 1.22
Tue May  6 08:28:39 2008: Verified redolog version 1.21.
Tue May  6 08:28:39 2008: Updating Redolog schema version from 1.21 to 1.22.
Schema upgrade required
Running /opt/zimbra/libexec/scripts/migrate20080130-ImapFlags.pl
Tue May  6 08:28:41 2008: Verified schema version 50.
Tue May  6 08:28:42 2008: Adding flags column to mboxgroup1.imap_message.
Tue May  6 08:28:42 2008: Adding flags column to mboxgroup10.imap_message.
Tue May  6 08:28:43 2008: Adding flags column to mboxgroup11.imap_message.
Tue May  6 08:28:43 2008: Adding flags column to mboxgroup12.imap_message.
Tue May  6 08:28:44 2008: Adding flags column to mboxgroup13.imap_message.
Tue May  6 08:28:44 2008: Adding flags column to mboxgroup14.imap_message.
Tue May  6 08:28:44 2008: Adding flags column to mboxgroup15.imap_message.
Tue May  6 08:28:45 2008: Adding flags column to mboxgroup16.imap_message.
Tue May  6 08:28:45 2008: Adding flags column to mboxgroup17.imap_message.
Tue May  6 08:28:46 2008: Adding flags column to mboxgroup18.imap_message.
Tue May  6 08:28:46 2008: Adding flags column to mboxgroup19.imap_message.
Tue May  6 08:28:47 2008: Adding flags column to mboxgroup2.imap_message.
Tue May  6 08:28:47 2008: Adding flags column to mboxgroup20.imap_message.
Tue May  6 08:28:48 2008: Adding flags column to mboxgroup21.imap_message.
Tue May  6 08:28:48 2008: Adding flags column to mboxgroup22.imap_message.
Tue May  6 08:28:49 2008: Adding flags column to mboxgroup23.imap_message.
Tue May  6 08:28:49 2008: Adding flags column to mboxgroup24.imap_message.
Tue May  6 08:28:49 2008: Adding flags column to mboxgroup25.imap_message.
Tue May  6 08:28:50 2008: Adding flags column to mboxgroup26.imap_message.
Tue May  6 08:28:50 2008: Adding flags column to mboxgroup3.imap_message.
Tue May  6 08:28:51 2008: Adding flags column to mboxgroup4.imap_message.
Tue May  6 08:28:51 2008: Adding flags column to mboxgroup5.imap_message.
Tue May  6 08:28:52 2008: Adding flags column to mboxgroup6.imap_message.
Tue May  6 08:28:52 2008: Adding flags column to mboxgroup7.imap_message.
Tue May  6 08:28:53 2008: Adding flags column to mboxgroup8.imap_message.
Tue May  6 08:28:53 2008: Adding flags column to mboxgroup9.imap_message.
Tue May  6 08:28:54 2008: Verified schema version 50.
Tue May  6 08:28:54 2008: Updating DB schema version from 50 to 51.
Running /opt/zimbra/libexec/scripts/migrate20080213-IndexDeferredColumn.pl
Tue May  6 08:28:56 2008: Verified schema version 51.
Tue May  6 08:28:56 2008: Adding idx_deferred_count column to Mailbox table.
Tue May  6 08:28:57 2008: Verified schema version 51.
Tue May  6 08:28:57 2008: Updating DB schema version from 51 to 52.
Stopping mysql
Stopping logger mysql
Checking ldap status
Starting ldap
Checking 3.0.M1
Checking 3.0.0_M2
Checking 3.0.0_M3
Checking 3.0.0_M4
Checking 3.0.0_GA
Checking 3.0.1_GA
Checking 3.1.0_GA
Checking 3.1.1_GA
Checking 3.1.2_GA
Checking 3.1.3_GA
Checking 3.1.4_GA
Checking 3.2.0_M1
Checking 3.2.0_M2
Checking 4.0.0_RC1
Checking 4.0.0_GA
Checking 4.0.1_GA
Checking 4.0.2_GA
Checking 4.0.3_GA
Checking 4.0.4_GA
Checking 4.0.5_GA
Checking 4.1.0_BETA1
Checking 4.5.0_BETA1
Checking 4.5.0_BETA2
Checking 4.5.0_RC1
Checking 4.5.0_RC2
Checking 4.5.0_GA
Checking 4.5.1_GA
Checking 4.5.2_GA
Checking 4.5.3_GA
Checking 4.5.4_GA
Checking 4.5.5_GA
Checking 4.5.6_GA
Checking 4.5.7_GA
Checking 4.5.8_GA
Checking 4.5.9_GA
Checking 4.6.1_RC1
Checking 4.5.10_GA
Checking 4.5.11_GA
Checking 5.0.0_BETA1
Checking 5.0.0_BETA2
Checking 5.0.0_BETA3
Checking 5.0.0_BETA4
Checking 5.0.0_RC1
Checking 5.0.0_RC2
Checking 5.0.0_RC3
Checking 5.0.0_GA
Checking 5.0.1_GA
Updating from 5.0.1_GA
Updating attributes for default COS…
Checking 5.0.2_GA
Updating from 5.0.2_GA
Moving postfix queues from 2.4.3.3z to 2.4.3.4z
Moving defer
Moving deferred
Checking 5.0.3_GA
Updating from 5.0.3_GA
Migrating Amavis database directory
Migrating Postfix spool directory
Checking 5.0.4_GA
Updating from 5.0.4_GA
Checking 5.0.5_GA
Updating from 5.0.5_GA
Stopping ldap
Checking ldap status
Starting ldap
Stopping ldap
Upgrade complete
Setting defaults from existing config…done.
Checking for port conflicts
Starting ldap…done.
Setting defaults from ldap…done.
Saving config in /opt/zimbra/config.1221…done.
Operations logged to /tmp/zmsetup.01001900-0000164402304.log
Setting local config values…done.
Setting up CA…done.
Deploying CA to /opt/zimbra/conf/ca …done.
Setting replication password…done.
Setting Postfix password…done.
Setting amavis password…done.
Saving CA in ldap …done.
Creating server entry for XXXXXX…done.
Saving SSL Certificate in ldap …done.
Setting spell check URL…done.
Setting service ports on XXXXXX…done.
Adding XXXXXX to zimbraMailHostPool in default COS…done.
Installing skins…
steel
waves
yahoo
hotrod
bare
sand
bones
lavender
beach
lemongrass
sky
done.
Setting Keyboard Shortcut Preferences…done.
Setting zimbraFeatureIMEnabled=TRUE…done.
Setting zimbraFeatureTasksEnabled=TRUE…done.
Setting zimbraFeatureBriefcasesEnabled=TRUE…done.
Setting zimbraFeatureNotebookEnabled=TRUE…done.
Setting MTA auth host…done.
Setting TimeZone Preference…done.
prov> Creating user spam.it0igdvq@XXXXXX…done.
Creating user ham.glpwnxxn@XXXXXX…done.
Setting spam training accounts…done.
Initializing mta config…done.
Configuring SNMP…done.
Setting services on XXXXXX…done.
Setting up zimbra crontab…done.
Setting up syslog.conf…done.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Suite.
The only information that will be transmitted is:
The VERSION of zcs installed (5.0.5_GA_2201_F7)
The ADMIN EMAIL ADDRESS created (admin@XXXXXX)

Notify Zimbra of your installation? [Yes] YES
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=5.0.5_GA_2201_F7&MAIL=admin@XXXXXX

Notification complete

Starting servers…done.
Checking for deprecated zimlets…done.
Installing zimlets…
com_zimbra_date
com_zimbra_email
com_zimbra_local
com_zimbra_cert_manager
com_zimbra_phone
com_zimbra_url
done.
Initializing Documents…done.
Restarting mailboxd…done.

Moving /tmp/zmsetup.01001900-0000164402304.log to /opt/zimbra/log

Configuration complete – press return to exit

PFSense multiwan con DMZ.

Como mañana tengo el examen de comentario de texto, voy a intentar relajarme y practicar un poco de escritura acabando un artículo que tengo desde hace tiempo en el tintero.

Basado en el turorial http://pfsense.iserv.nl/tutorials/policybased_multiwan/policybased_multiwan.pdf

Tener en tu empresa tus propios servidores de correo o tus propias webs/tiendas online resulta comodísmo para trabajar a gran velocidad en red local con tus datos. Evidentemente, si quieres que estas máquinas sean accesibles desde el exterior necesitas un entorno seguro y una conexión a Internet con el caudal adecuado a las necesidades de tus servicios.

El montaje inicial que tenía para mis servidores era un poco problemático porque no gestionaba desde el PFSense la conexión WAN de la DMZ. Tenía una ruta estática para que las dos redes se vieran, pero el rendimiento era bastante bajo. En este entorno el router de Jazztel era la puerta de enlace de los servidores donde estaba configurado todo el NAT (con port mappings) y la ruta hacia la LAN por la Interfaz DMZ del PFSense.

Vamos a ver como configurar el firewall PFSense, ya en su nueva versión 1.2 estable, para tener un entorno sencillo de LAN + WAN + DMZ + WAN de la DMZ. La idea principal es manejar desde PFSense todo lo relativo a NAT y controlar las reglas para el tráfico que se va a mover en nuestra red.

Pongamos que disponemos de 2 IPs públicas y queremos hostear un servidor de correo y otro web. Tenemos una conexión SHDSL de un proveedor (Jazztel) con una configuración NAT sencilla (Zyxel 792H) que será usado exclusivamente para estos servidores. Los usuarios saldrán a Internet a través de la interfaz WAN por defecto (Ono), que en este caso está conectada a un cablemódem.

Para que todo esto funciona necesitamos tener una máquina corriendo PFSense con cuatro tarjetas de red. Dos de ellas para las conexiones WAN, una para la LAN y otra para la DMZ. Si os queréis gastar algo de dinero para ver el potencial real de PFSense, lo ideal es montar una máquina dual core para usar el kernel de multiprocesador de FreeBSD y poner tarjetas Gigabit PCI-Express (preferiblemente Intel).

La configuración se basa en tener cuatro redes diferenciadas y realizar una serie de reglas para que se comuniquen óptimamente entre ellas, utilizando siempre como centro de operaciones para cualquier configuración el PFSense. Vamos a usar el sistema de IPs virtuales para que los servidores residan físicamente en una red (DMZ) pero “existan” también para el router en su propia red (Jazztel).

  • Habilitamos las cuatro tarjetas de red.

  • Configuramos la interfaz WAN por defecto (Ono) en DHCP. A esta tarjeta de red conectaremos directamente el cablemodem.
  • Asignamos IPs a las interfaces LAN y DMZ.
  • Asignamos IP a la interfaz JAZZTEL y especificamos la dirección del router por defecto para esta red.

  • En la sección Firewall->NAT activamos Manual Outbound NAT rule generation, dentro de la pestaña Outbound. De esta manera podremos elegir como queramos la manera en que cualquier equipo conectado a nuestra red sale a Internet.
  • Como probablemente hayamos dejado a nuestros equipos en la LAN sin Internet tras esta operación, tendremos que habilidar la salida LAN hacia la WAN. Esta sección de configuraciones es muy delicada, ya que al activar Advanced Outbound NAT el firewall solo hace caso a las reglas que aquí definamos para sacar tráfico de las diferente redes. Podemos tener también bajo este apartado una serie de reglas desactivadas para casos de failover que activemos cuando sea necesario. Un ejemplo sería crear una regla para direccionar el tráfico de nuestro servidor Asterisk en el puerto IAX2/SIP a través de otra WAN, así no perderíamos la conectividad con nuestro proveedor de voz IP si se cayera la conexión de Ono.
  • Suponiendo que hemos configurado el router de la WAN de la DMZ (Zyxel 792h) para que nuestras IPs públicas se comuniquen 1:1 con nuestras IPs privadas todo lo siguiente es pan comido.
  • Vamos a tomar como ejemplo el servidor de correo que reside en la LAN con la IP 172.16.15.100 pero está configurado en el router de Jazztel como 172.17.14.100. Esta IP virtual la tenemos que añadir en la sección Firewall->Virtual IPs de la siguiente manera:
  • Ahora volvemos a Firewall->NAT y entramos en la pestaña Outbound para añadir una regla que traduzca todo el tráfico saliente de 172.16.15.100 (servidor de correo físico en la DMZ) en 172.16.14.100 (servidor de correo virtual) usando la puerta de enlace predeterminada de la red de destino (172.17.14.0/24) que es 172.16.14.2 (router Jazztel).
  • Para finalizar solo nos queda crear una regla en Firewall->Rules para permitir el tráfico desde la DMZ hacia *any* a través de la puerta de enlace que definimos en la red JAZZTEL.
  • Ya tenemos configurado el sistema de enrutamiento, pero ahora para que nuestras máquinas se vean desde el exterior tenemos que definir mapeos de puertos. Definiremos la IP local física, la IP virtual y el puerto que queremos direccionar.

No soy ingeniero (aún) ni tengo mucha experiencia en redes avanzadas, pero me parece que este metodo es bastante seguro y expande las funciones que nos da por defecto una conexión semi-profesional. Se agradecerían comentarios y sugerencias.

Gallina vieja da buen caldo

Aparte de ser el título de una famosísima película X con protagonistas femeninas que bien podrían anunciar cremas para el cutis maduro, este titular que he elegido viene a cuento por el último experimento jueguil que he llevado a cabo.

Como buen fan de Quake I (tengo un garabato indeleble en la espalda que lo certifica) no dejo de consultar las “novedades” que este título del año 1996 aún genera en nuestros días y entre las cuales de vez en cuando me encuentro alguna que otra sorpresa. En un foro leí en una ocasión un post sobre como darle un lavado de cara rápido al juego, usando un sustituto del motor gráfico (DarkPlaces), un pack de texturas de unos 190MB (Quake Retexturing/Remodeling Project)y una sustitución para los sonidos de mayor calidad (Mingrid : Audio Quake). La cosa estuvo bien hasta ahora, pero parece ser que se ha conseguido mejorar.

La última mejora con la que me he topado es la unificación en un pack de 2.7GB (Rygel’s ultra pack)de un montón de texturas de alta calidad que en conjunto con el motor DarkPlaces nos darán la experiencia de jugar a un título clásico con los avances gráficos actuales. En este post se puede ver la conversación de los creadores del pack y del DarkPlaces tras su publicación Nada más descomprimir el pack no me ha parecido gran cosa, pero al entrar en las configuraciones gráficas para activar los efectos avanzados y elegir una resolución 16:9 compatible con mi plasma… Ay va la hostia! Como que la 8800GT no puede con él!!