Archive

Archive for the ‘Proyectos’ Category

Linux virtual sever con KVM, pfSense, m0n0wall, FreeNAS y NAS4Free

23 abril, 2013 Deja un comentario
Screen Shot of Installing Ubuntu Server

English: Screen Shot of Installing Ubuntu Server (Photo credit: Wikipedia)

Finalmente luego de mucho tiempo encontré el tiempo para un viejo proyecto que tenía en mente desde hace mucho, montar servidores virtuales, lo cual fue posible gracias a Linux KVM.

Este proyecto me permitiò cumplir a la vez con 3 objetivos distintos. El primero era poder filtrar de alguna manera la navegación dentro de mi red hogareña, el segundo montar un server NAS, y el tercero, dejar abierta la posibilidad de seguir añadiendo servidores para distintos fines que pudieran surgir en el futuro, Asterisk por ejemplo.

Para esto, de ninguna manera iba a poder utilizar servidores reales, ya que no contaba con un lugar donde ubicar equipos físicos con espacio libre y por otro lado, estaba totalmente descartado destinar dinero para ir sumando equipos. Debido a esto, inmediatamente la mejor solución se planteaba por el lado de utilizar servidores virtuales gracias a la virtualización.

La idea de utilizar VMWare o Virtualbox quedó deshechada casi desde el comienzo, ya que el hardware que tenía disponible para utilizar estaría en un lugar de difícil acceso y sin monitor ni teclado, por lo que poder manejarlo remotamente desde una consola era uno de los requerimientos del proyecto. Por otra parte debido a los pocos recursos del hardware disponible (un viejo Athlon de 5 años de antiguedad!), la idea era instalar Ubuntu Server sin ningún entorno gráfico como Gnome que consuma recursos valiosos.

Finalmente la solución ideal resulto ser Ubuntu server con KVM (kernel based virtual machine), que resultó ser ideal debido a su fácil utilización por medio de la consola y su bajo consumo de recursos. Una vez decidido esto, ahora había que pasar a la elección de los S.O. a instalar en las máquinas virtuales. La idea original fue utilizar mi viejo y querido amigo, IPCop, pero realmente creo que el desarrollo de IPCop se ha quedado en el tiempo y como los recursos de hardware disponible para el servidor eran muy modestos, el candidato ideal parecía ser m0n0wall, un firewall de muy modestos requerimientos de hardware.

PfSense

Luego de analizarlo un poco, finalmente decidí ir por pfSense, que si bien está basado en m0n0wal, es más flexible ya que permite el agregado de varios paquetes adicionales que le brindan mucha funcionalidad extra, pero mantiene el bajo consumo de recursos de hardware para funcionar. Esa posibilidad de adicionar paquetes de software realmente permite agregar funcionalidad al producto original, y parte la funcionalidad principal que buscaba, el poder filtrar la navegación en mi red, era brindada jutamente por uno de esos paquetes no soportados por m0n0wall.

En cuanto al NAS, en principio pensé en FreeNAS, pero no funcionaba bien en la máquina virtual ya que era muy lento. Nunca logré descubrir el porque, ya que también se supone que funciona con pocos recursos, pero finalmente probé con Nas4Free que es una evolución del primero y funciona muy bien, por lo que fue el elegido.

freenas

freenas (Photo credit: cerami)

Una vez llegado a este punto, solo fue cuestión de probar y configurar un poco, resolviendo algunos problemas menores, como colisiones en la red, que eran debidos a los drivers de las placas de red virtuales. Simplemente cambiando la el driver por otro fue posible solucionarlo.

A estas alturas ya llevo cerca de un mes con pfSense gestionando la conexión a Internet sin mayores problemas que ocasionales picos de carga del pobre Atlhon (totalmente previsible!), pero solo cuando se corren algunas tareas programadas, por lo que el próximo paso será invertir en un buen hardware para ser utilizado como host del KVM.

Calentando motores…

17 marzo, 2010 Deja un comentario

Pues si, en eso estoy. De a poco estoy volviendo a colocar las cosas en su lugar y ya estoy pensando en el próximo episodio del podcast.

Ya tengo un par de temas dando vueltas por mi cabeza y solo necesito ponerme a grabar, Bueno, no es poca cosa, pero al menos tengo algunas ideas, porque hasta hace algùn tiempo ni siquiera tenía fuerzas para eso!

No, no estaba enfermo, ni nada por el estilo, solo muy cansado por el trabajo tanto afuera como dentro de casa.

Pero de a poco las cosas van mejorando y creo que si he encontrado tiempo para comenzar a postear algunas cosas en el blog, tambièn puedo comenzar a grabar de a poco nuevos episodios del podcast.

¡Estén atentos!

Categorías:actualidad, Geek, podcast, Proyectos, Tech Etiquetas: ,

15000 descargas del podcast

9 marzo, 2009 1 comentario

Hace apenas un par de días pasamos las 15000 descargas del podcast, todo un logro para un podcast hecho en los ratos libres (que como ya saben cada vez son menos).
Quiero expresarles mi más sincero agradecimiento a todos los oyentes que pacientemente esperan la salida de un nuevo episodio.
Prometo demorar menos tiempo en sacar el próximo.

Gracias a todos.

Posted by ShoZu

Categorías:Geek, podcast, Proyectos, Tech

Mini tutorial para encriptar datos con certificados digitales en PHP

27 junio, 2008 5 comentarios

Resulta que estoy trabajando en un proyecto que requiere tener un cuidado especial con ciertos datos y me puse a buscar una alternativa segura para hacerlo. Luego de investigar un poco, decidí escribir un mini-tutorial para quienes necesiten algo parecido. Esto es solo la punta del iceberg, ya que brinda muchas más posibilidades de las que menciono en el tutorial. Espero que les sirva tanto como a mi.

Mini rack de comunicaciones de RASTI

5 febrero, 2008 10 comentarios

Desde hace tiempo que tenía ganas de hacer algo así. Es un mini rack para el router ADSL, el router wi-fi, el switch y un sencillo hardware de monitoreo fato in casa.

Intenté hacerlo con madera, pero la verdad que no quedaba bien, por lo que un día viendo a mi hijo jugar con los viejos RASTIs de mi infancia, se me ocurrió que tal vez pudiera usarlos para mi rack.

dsc04127.jpg

Y como ven la verdad que funcionó mucho mejor de lo esperado, ya que los ladrillitos T2 cuadrados de 4 pines calzan perfectamente en las ranuras que tiene el Linksys WRT54G para apilarlos. Y gracias a eso, como se ve en las fotos calzan perfectamete las cuatro columnas que soportan el resto de la estructura.

En el piso superior esta el router Cisco 677, en el que le sigue hay una cajita que tiene ocho leds que estan conectados al puerto paralelo de mi IPCop, y gracias a un soft indica con esos leds diferentes estados del IPCop y de la conexión en si. Luego hay un switch CNET de 8 bocas y por último un router wi-fi Linksys WRT54G con OpenWRT instalado.

dsc04134.jpg

Cada uno de los pisos solo tiene lo necesario para que calze el hardware correspondiente, pero no tiene el piso completo, lo que permite que los routers y el switch esten mucho más frescos que si estuvieran apoyados sobre el escritorio; sobre todo el Cisco 677 que levanta mucha temperatura, pero que gracias a estar rodeado de una corriente de aire por abajo, ahora esta más fresco que antes.

Si bien este es un modelo de prueba y seguramente trataré de mejorar el diseño, este rack tien un significado muy valioso para mi, ya que resulta muy reconfortante unir dos períodos de mi vida tan distantes entre si, El primero correspondiente a mi niñez, ya que los RASTIs son para mi un recuerdo sumamente importante de aquella época. El segundo, mi vida de adulto, en la que la informática tiene un papel fundamental, ya que es mi medio de vida, mi hobby y mi pasión.

Si a alguien le interesan más detalles, con gusto puedo dar instrucciones más detalladas de como construirlo, pero les aseguro que si uds. de chicos jugaban con RASTIs esto tendrá para uds. al igual que para mi, un significado muy importante.

Categorías:Geek, hardware, Proyectos, Tech

Feeds RSS en deremate.com.ar (2)

24 agosto, 2007 Deja un comentario

Continuando con el post Feeds RSS en deremate.com.ar y a pedido de HellMind acá va la explicación y los scripts para crearte tus propios feeds RSS en deremate.com.ar.

Básicamente el tema es crear un proceso que haga la búsqueda en deremate y luego generar los feeds RSS para que sean accedidos con cualquier agregador o reader que se quiera.

Quiero aclarar que esto fue realizado muy rápidamente y sin mucha dedicación, por lo cual obviamente hay muuuucho para mejorar.

El primer script lo llamaremos busquedas.sh (puede ser invocado con un cron) y se encarga de disparar el proceso de búsqueda. Por cada una de las cadenas de texto a buscar contenidas en lista-busqueda.txt dispara el script search-deremate.sh que realiza la búsqueda propiamente dicha.

busqueda.sh
	for i in `cat lista-busquedas.txt`; do search-deremate.sh $i; done


lista-busquedas.txt
	comodore
	commodore
	sun
	sparc
	tungsten+palm
	tungsten+palm+t5
	treo



search-deremate.sh
	wget -O $1 "http://www.deremate.com.ar/form/advSearch.asp?txtSearch=$1&Type=0&searchKey1=$1&objectFilter=0&auctionFilter=0&display=3&sortBy=&sortDirection=&searchKey123=&searchKey1222=&txtmoneda=1&txtregion1=0&txtCatg=&cbOperators=0&chkTarifVar=&txtUserMinCalif=&txtExcludeWords=&TipoVenta=0&chkUserMinCalif=False&chkExcludeWords=False&cbOperators2=0&chkSoloFoto=False&iTypePage=1&TipoRemates=0&TipoRemates1=0&TipoRemates2=0&IdCamino=0&TipoOrden=1" 
	grep viewItem $1 | grep -v comprainm | grep " " | sed 's//accdb/http://www.deremate.com.ar/accdb/g' | sed 's//<br>/g' | sed 's/ //g' > $1.html

Luego de todo esto, un script PHP se encarga de tomar los datos dejados por los scripts anteriores y armar el feed correspondiente (para crear los feeds utilizo una clase a tal fin denominada FeedCreator.class.php).

Este script PHP debe ser colocado en un web server y ser invocado (por ejemplo con un cron) para generar los feeds. Luego uno debe subscribirse directamente al feed cuyo nombre se corresponde directamente con cada uno de los strings de búsqueda punto xml.

Por ejemplo de acuerdo a nuestra lista-busquedas.txt, podemos subscribirnos al feed http://tusitio.tuservidor.com/path/commodore.xml



crearfeed.php
	<?

	include("feedcreator.class.php");
	// para cada feed

	$busquedas = file("lista-busquedas.txt");
	foreach( $busquedas as $busqueda ) {

	 $rss = new UniversalFeedCreator();	 $rss->title = "Deremate.com.ar: ".trim($busqueda);

	 $rss->description = "Remates Interesantes de ".trim($busqueda);	 // Aqui se debe reemplazar esta direccion por la del servidor donde pongas este script.

	 $rss->link = "http://tusitio.tuservidor.com";	 // Aqui tambien se debe reemplazar la siguiente direccion por el path completo

							 // al directorio donde se encuentre este sxcript.

	 $rss->syndicationURL = "http://tusitio.tuservidor.com/path/".$PHP_SELF; 

	 $lines = file(trim($busqueda).".html");
 	 foreach ( $lines as $line ) {

		$linea = eregi_replace("<a href=\"","",$line);

		$linea = eregi_replace("</a><br>","",$linea);

		$linea = eregi_replace("\"","",$linea);

		$arr = split(">",$linea);

		$arr[0] = trim($arr[0]);

		$arr[1] = trim($arr[1]);

		$item = new FeedItem();

		$item->title = $arr[1];

		$item->link = $arr[0];

		$item->date = time();

		$item->author = "Deremate.com.ar";

		$rss->addItem($item);

		}

	$rss->saveFeed("RSS1.0", trim($busqueda).".xml");

	}

	?>

NOTA: Cabe aclarar que esto esta desarrollado para plataformas Unix, en concreto esta corriendo sobre un Linux que utiliza mi proveedor de web-hosting. Habría que trabajarlo un poco para pasarlo a Windows. Por otro lado tampoco sería muy difícil modificarlo para generar feeds RSS de otros sitios.

Otra opción.

Otra manera mucho más sencilla y para la que no se necesita instalar nada es utilizar el robot que creé en OpenKapow al que pueden acceder directamente aquí.

La ventaja es que no se necesita tener un server donde instalar nada, ya que se utilizan directamente los servidores de OpenKapow. Por todo esto esta última opción resulta mucho más cómoda y conveniente. El único tema es que si quieren crearse sus propios robots hay que bajarse el desarrollador de OpenKapow.

Categorías:Geek, Programación, Proyectos, Tech

Como sincronizar los MP3s de una Palm Tungsten T5 con Linux

13 agosto, 2007 Deja un comentario

Desde hace tiempo vengo usando mi Palm Tungsten T5 como mi reproductor de MP3. Todo esta muy bien y no tengo quejas al respecto, excepto a la hora de copiar la música o los podcasts a la Palm.

En general lo que hacía era aprovechar el Drive Mode o Modo Dispositivo de la T5 para conectarla a mi Linux simplemente enchufándola a un puerto USB, ya que la T5 aparece como un dispositivo SCSI de 160MB para utilizar como si fuera un pen drive. Si se tiene una tarjeta SD colocada en la T5, entonces esta también aparecerá como un dispositivo USB tal como se ve a continuación:

Filesystem           1K-blocks        Used   Available      Use%     Mounted on
/dev/sdb1              1005696      691376      314320       69%     /media/disk
/dev/sda1	        165120       38864      126256       24%     /media/INTERNAL

Una vez conectada solo hay que copiar o borrar los archivos que se desee tal cual se haría con un pen drive.

Pero el problema de esta solución es que es un proceso totalmente manual y propenso a errores por lo cual decidí intentar una nueva solución.

Se trata de nuestro querido amigo, el comando rsync, mediante el cual podemos sincronizar nuestra colección de archivos de audio desde nuestra PC hacia la Palm sin ningún problema, ya que lo que borremos en nuestra PC desaparecerá también en la Palm y lo que se copie en la PC aparecerá también en la Palm.

Esto se logra con un simple script que tenga el siguiente comando:

rsync -rv --stats --delete --size-only /home/pablot/iPodderData/downloads/* /media/disk/Audio/podcasts/

Donde /home/pablot/iPodderData/downloads/ es el directorio donde tenemos nuestra colección de archivos de audio a sincronizar y /media/disk/Audio/podcasts/ es el directorio de destino que en realidad es nuestra Palm.

De esta manera con solo correr el comando anterior podemos sincronizar nuestra Palm en el acto y sin miedo de olvidarnos de copiar algun archivo.

No conozco todos los modelos de Palm, pero se que no todos poseen el modo dispositivo, aunque si se que a muchos se les puede agregar software para conseguir esta funcionalidad. Tengo entendido que la LifeDrive posee este modo y que a la TX es solo cuestión de instalarle el soft.

Categorías:Geek, pda, Proyectos, Tech
A %d blogueros les gusta esto: