miércoles, 25 de septiembre de 2013

FreeNAS WebUI An Error Occurred - Workaround FreeBSD nginx django


FreeNAS es una gran solución basada en FreeBSD la cual estoy probando en estos días y tanto los resultados como la performance son excelentes, hasta el momento solo me he encontrado con un problema, en la consola sale el siguiente error: ValueError: bad marshal data, Este error es reportado por el servicio django.




Este error salio luego de realizar algunos tunings al sysctl y al loader.conf y el workaround que encontré es el siguiente:


  1. Stopear el servicio nginx y django:

    /usr/local/etc/rc.d/nginx stop && /usr/local/etc/rc.d/django stop
  2. Montar el / en modo rw:

    mount -u /
  3. Eliminar o renombrar los archivos .pyc

    find / -name "*.pyc" -exec sh -c 'mv "$0" "${0%.pyc}.bkp"' {} \;
  4. Volver a arrancar los servicios para que se vuelvan a generar los archivos .pyc.
    Nota: Los archivos .pyc los crear el nginx si los archivos son creados de manera correcta django no reportara ningún error, en caso de que reporte algún otro error lo mas probable es que indique cual es el archivo .py que tiene el problemas lo mas probable es que este corrupto, en este caso lo que hay que hacer es repetir el paso 1 y 3 y copiar por scp el archivo .py en cuestión desde otra instalación limpia de FreeNAS, luego continuar con los siguientes pasos.

    /usr/local/etc/rc.d/nginx start && /usr/local/etc/rc.d/django start
  5. Si todo sale bien stopeamos nginx y django

    /usr/local/etc/rc.d/nginx stop && /usr/local/etc/rc.d/django stop
  6. Volvemos a montar el / con los permisos originales del fstab

    mount -a
  7. Volver a encender los servicios

    /usr/local/etc/rc.d/nginx start && /usr/local/etc/rc.d/django start
  8. Probar el funcionamiento de la Interface Web

Saludos!

PD: Luego creare otra entrada donde mostrare como configurar y tunear FreeNAS con RAIDZ + iSCSI con una NIC 10GbE.

miércoles, 4 de septiembre de 2013

Dispositivos de Criptografía en Routers y Firewalls. Más performance para una VPN.

No es noticia que muchos Routers y Firewalls usan Módulos de Criptografía para encriptar y desencriptar los datos de una VPN, con estos módulos lo que se gana es bajar el uso de CPU y aumentar la performance de la conexión tunel.

Lo que me he propuesto es investigar que dispositivos podría adquirir para mejorar la performance de la VPN de mi Firewall, para suerte mía encontré la existencia de unos cuantos módulos de Criptografía que son compatible con mi firewall pfSense.

pfSense es un Firewall basado en FreeBSD como así también m0n0wall que, dicho sea de paso pfSense es una bifurcacion de m0n0wal, otro Firewall basado en FreeBSD son los SRX de la marca Juniper el cual también es de mi agrado y su OS llamado Junos también esta basado en FreeBSD.

Gracias al poder de FreeBSD podemos encontrar con soporte nativo a los siguientes módulos criptográficos hasta el día de la fecha:

En el siguiente link podemos encontrar unos 19 productos con soporte nativo hasta el día de hoy para FreeBSD: http://www.freebsd.org/relnotes/CURRENT/hardware/support.html


El siguiente gráfico es un Benchmark hecho por la gente de pfSense donde comparan los resultados con y sin modulo criptográfico, siendo cryptodev el framework de criptografía:


Por mi parte solo queda intentar conseguir alguno de estos módulos criptográficos, y hacer mis propios benchmarks con pfSense y/o Junos Olive.


Saludos

Hernan