Addons y binarios para IPCop 1.4.x

IPCop Logo

IPCop Logo

Pues parece que algunos addons y binarios para las versión 1.4.x de IPCop las están descontinuando y ya no están en línea. Lamentablemente los binarios (y supongo que algunos addons) no son compatibles entre las versiones 1 y 2.

A solicitud del amigo Carlos Illes que me dejó varios comentarios en este sitio tuve que desenterrar mi antiguo servidor para recuperar los addons y binarios que tenía instalados.

Lista de addons y binarios para descargar

No son todos los que estaban disponibles, pero si son los de batalla. Si todavía tienen un servidor IPCop viejito y necesitas algunos de estos addons los puedes descargar sin problemas y retrasar un poco la actualización.

Como configurar un bypass al proxy transparente de IPCop

Bypass al proxy transparente de ipcop

En esta ocasión les voy a intentar explicar como configurar un bypass al proxy transparente de IPCop 2 para que las peticiones a ciertos dominios salgan directamente a Internet sin pasar por Squid.

El problema

Como les había comentado en días anteriores cambié mi servidor de de IPCop a IPCop 2. El cambio ocurrió prácticamente sin problemas, pero al poco tiempo me encontré con uno que no fue sencillo de solucionar.

Con el rollo de la facturación electrónica tuve un problema con mi PAC[^1], al momento de intentar timbrar una factura con el programa Microsip me arroja el siguiente error:

Ocurrió la siguiente excepción: Connection lost (error code is 10058)

Durante varios días le estuve dando varias vueltas al asunto. A manera de solución rápida desactivé el proxy y se pudo timbrar sin problemas, primera pista Squid.

Llevo usando Squid durante más de 8 años y es la primera vez que tengo un problema de este tipo, vamos, ni con los horripilantes sistemas del gobierno mexicano desarrollados en Java he tenido tantos problemas por algo tan sencillo.

Investigué en varios foros el origen del problema, al parecer existe una mala combinación entre SOAP,IIS7 y Squid en sus ultimas versiones (actualmente IPCop usa la versión 3.4.4), simplemente no se llevan bien y eso provoca el error de conexión.

En un principio quise agregar una opción a Squid para que se llevaran bien, me refiero a ignore_expect_100 on pero no funcionó, siguió apareciendo exactamente el mismo problema.

Como de momento no se iban a llevar bien mi proxy y el servidor de timbrado y apagar el proxy cada vez que se iba a timbrar una factura no era para nada una solución práctica decidí cambiar el enfoque.

Bypass al proxy.

Sabía lo que tenía que hacer. De alguna forma tenía que configurar IPCop para que al momento de que llegara una petición al dominio del servidor de timbrado, en lugar de que se fuera por la ruta normal (Squid como proxy transparente) saliera directamente a internet sin la intermediación del proxy. Creo que ni yo me entendí… en fin, la idea es esa.

Bypass al proxy transparente de ipcop

Decirlo es más fácil que hacerlo, al igual que en otras ocasiones supuse que la solución la iba a encontrar con iptables y así fue.

Encontré un artículo que explicaba como hacer esto en IPCop 1.4.12 así que sólo lo tuve que adaptar ligeramente para que funcionara en IPCop 2.

Para lograrlo hay que editar el archivo /etc/rc.d/rc.firewall.local y agregar algunas reglas de iptables.

El archivo esta dividido en 3 secciones, start, stop y reload. Sólo vamos a modificar las dos primeras.

A manera de ejemplo, si el dominio problemático es xyz.com entonces en la sección de start agrego la siguiente línea:

/sbin/iptables -t nat -A CUSTOMPREROUTING -p tcp --dport 80 -d xyz.com -j ACCEPT

En la sección de stop:

/sbin/iptables -t nat -F CUSTOMPREROUTING

Y la sección reload la dejo tal y como esta.

Al final el archivo completo queda muy similar a este:

Guarden el archivo. Para aplicar los cambios, pueden reiniciar el servidor o mediante una conexión ssh ejecutar el script con /etc/rc.d/rc.firewall.local reload

La comprobación

Para averiguar que todo esta funcionando pueden activar los registros del proxy Menú Servicios – Proxy – Configuración de Registros – Registro Activado y luego revisar los registros en el menú LogsRegistros del proxy.

Visite unas tres o cuatro veces el sitio, no deben de aparecer en el registro porque en teoría nunca pasaron por ahí.

Este consejo se puede aplicar tanto en IPCop 1.x como en IPCop 2.x .Espero que este artículo les sea de utilidad.

Referencias

Aumentar el tamaño de la partición root en IPCop 2

Hace unos días un amigo me contactó porque tiene un problema con **IPCop 2**. Al parecer se llena muy rápido su partición de *root*, tratamos de identificar que programa era el que estaba llenando la partición, pero al final intentamos modificar el tamaño de la partición root para hacerla más grande.

Por default IPCop asigna un tamaño de unos miserables 512 MB para la partición de root y el resto del disco duro para */var/log* y otras cosas. Esta configuración por default debería de funcionar bien, pero parece que unos *addons* utilizan la partición de root para guardar algunos datos y con tan poco espacio disponible la llenan con muy poco esfuerzo.

Antes que nada les advierto que este es un procedimiento experimental, hice algunas pruebas con una maquina virtual porque mi instalación de IPCop con la versión 1.4 tiene años funcionando bien y no tengo una razón para cambiarlo o actualizarlo, pero algunos prefieren la versión 2 porque soporta hardware más moderno como discos o unidades de CD SATA (por decir lo menos). Hechas las aclaraciones pertinentes, si se hace con cuidado este método puede funcionar sin muchos problemas, aunque prefiero que lo hagan en instalaciones nuevas.

# Gparted al rescate.
Para las pruebas usé una maquina virtual con un disco duro de 8 GB. Usé mi disco de [Hirens BootCD](http://www.hiren.info/pages/bootcd) que incluye un live cd de una herramienta especializada llamada [Parted Magic](http://partedmagic.com/) que es básicamente [Gparted](http://gparted.org/). Así que prácticamente cualquier live CD que lo incluya se puede utilizar, como por ejemplo el CD de instalación de Ubuntu.

Como pueden ver en la siguiente imagen, la partición de **root** ocupa muy poco espacio y la partición **varlog** ocupa el espacio restante.

En un IPCop recién instalado la partición tiene un uso del 50%.

Espacio libre de las particiones con el IPCop 2 recién instalado

Esto es lo que muestra Gparted con el IPCop recién instalado.

Información que muestra Gparted con IPCop 2 recién instalado

El objetivo es recorrer el inicio de la partición **varlog** y por lo tanto reducir su tamaño.

Una vez liberado ese espacio, podemos agrandar el tamaño de la partición **root**.

Cambios en las particiones

Aplicamos los cambios y si todo salió bien, verán los cambios en la partición y que ahora tiene mucho más espacio disponible.

Aplicando los cambios en las particiones

En mi experimento, después de aplicados los cambios no tuve problemas durante el arranque.

Primer arranque de IPCop después de los cambios en las particiones
Primer arranque de IPCop después de los cambios en las particiones

Ahora si, el espacio disponible en la partición de root es mucho mayor.

Aumento en el tamaño libre disponible en la partición de root

En una instalación real ¿Cuanto espacio le debo de asignar a la partición de root? con el tamaño de los discos duros actuales 8 o 16 GB no suena descabellado, creo que son más que suficientes para cualquier eventualidad que pudiera ocurrir.

## Enlaces.
* [IPCop, The bad packets stop here](http://www.ipcop.org/)
* [Hirens BootCD](http://www.hiren.info/pages/bootcd)
* [Parted Magic](http://partedmagic.com/)
* [Gparted](http://gparted.org/)
* [IPCop 2 – Migrating from 1.4 to 2.x](http://itconnect.info/group/network-management/page/ipcop-2-migrating-from-1-4-to-2-x)