sábado, 17 de marzo de 2007

Raid 1 en Linux

   Siguiendo el artículo anterior del servidor NAS para casa, aquí cuento todo lo que hice para configurar y probar el raid 1 en debian y las conclusiones finales a las que llegué. Este pequeño tutorial lo he hecho en una máquina virtual VMware por lo cómodo que es probar e instalar todo. El disco de sistema es hda con una única partición y los discos con los que se creará el raid 1 serán hdb y hdc. Muestro en rojo lo que he introducido en los diferentes menús.
  • Particionar los dos discos duros. El sistema de archivos debe ser Linux raid auto.
    shian:~# fdisk /dev/hdb
    Command (m for help): p

    Disk /dev/hdb: 1073 MB, 1073741824 bytes
    16 heads, 63 sectors/track, 2080 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 1
    First cylinder (1-2080, default 1):INTRO
    Using default value 1
    Last cylinder or +size or +sizeM or +sizeK (1-2080, default 2080):INTRO
    Using default value 2080

    Command (m for help): t
    Selected partition 1
    Hex code (type L to list codes): fd
    Changed system type of partition 1 to fd (Linux raid autodetect)

    Command (m for help): p

    Disk /dev/hdb: 1073 MB, 1073741824 bytes
    16 heads, 63 sectors/track, 2080 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System
    /dev/hdb1 1 2080 1048288+ fd Linux raid autodetect

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.
  • Repetimos los pasos para /dev/hdc.
  • Creamos el raid 1 con las dos particiones que acabamos de crear. En las opciones indicamos que el tipo de raid será 1 (mirror), que deseamos utilizar dos discos y que el nuevo dispositivo raid será /dev/md0.
    shian:~# mdadm --create /dev/md0 --verbose --level=1 --raid-devices=2 /dev/hdb1 /dev/hdc1
    mdadm: size set to 1048192K
    mdadm: array /dev/md0 started.

    NOTA: Si ya hemos usado el disco anteriormente para otro raid, es necesario reiniciar el superbloque para que se borre la información existente, puesto que sino, la creación puede fallar:
    shian:~# mdadm --zero-superblock /dev/sdXX
  • El raid 1 se está creando en segundo plano. En función del tamaño de los discos tardará más o menos. Se puede ver el estado en el archivo /proc/mdstat:
    shian:~# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1] ide/host0/bus0/target1/lun0/part1[0]
    1048192 blocks [2/2] [UU]
    [===========>.........] resync = 58.2% (611196/1048192) finish=0.0min speed=101866K/sec
    unused devices: <none>
  • El porcentaje va subiendo hasta que finalmente el dispositivo está listo:
    shian:~# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1] ide/host0/bus0/target1/lun0/part1[0]
    1048192 blocks [2/2] [UU]

    unused devices: <none>
  • A partir de este momento para cualquier manipulación que deseemos hacer del raid debemos utilizar /dev/md0 y no /dev/hdb1 ni /dev/hdc1.
  • Formateamos el raid
    shian:~# mkfs.ext3 /dev/md0
    mke2fs 1.37 (21-Mar-2005)
    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    131072 inodes, 262048 blocks
    13102 blocks (5.00%) reserved for the super user
    First data block=0
    8 block groups
    32768 blocks per group, 32768 fragments per group
    16384 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376

    Writing inode tables: done
    Creating journal (4096 blocks): done
    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 22 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.
  • Creamos el punto de montaje, añadimos la entrada correspondiente para que el raid se monte cuando se arranca la máquina y lo montamos:
    shian:~# mkdir /mnt/raid

    shian:~# echo "/dev/md0 /mnt/raid ext3 defaults 0 1" >> /etc/fstab

    shian:~# mount /mnt/raid

    shian:~# df -h /dev/md0
    Filesystem Size Used Avail Use% Mounted on
    /dev/md0 1008M 17M 941M 2% /mnt/raid
  • Aquí ya habríamos terminado la instalación del raid y podríamos utilizarlo, aunque tal y como está configurado y montado sólo tendría permisos el usuario root.

  •    A partir de aquí, lo que yo hice inicialmente fue simular que un disco duro se estropeaba y al arrancar la máquina quería montar el raid sólo con el otro disco y utilizarlo normalmente. Además, después de simular con la máquina virtual que añadía un nuevo disco duro, quería añadirlo al raid para volver a tener de nuevo la redundancia. Después de leer muchos tutoriales y foros no había manera de que funcionase. Si reiniciaba la máquina sin un disco del raid, éste no se montaba y no podía acceder a los datos. Además, el dispositivo /dev/md0 no era reconocido, por lo que era como si el raid no existiese!. Finalmente, encontré en un pequeño tutorial la solución a mis problemas.

  • Es necesario indicarle al sistema operativo cómo acceder a ese dispositivo raid para que sea capaz de utilizarlo. Esto que puede parecer tan obvio no venía en ningún tutorial ni en ninguna ayuda de las que consulté.
    shian:/# cd /etc/mdadm
    shian:/etc/mdadm# cp mdadm.conf mdadm.conf.`date +%y%m%d`
    shian:/etc/mdadm# echo "DEVICE partitions" > mdadm.conf
    shian:/etc/mdadm# mdadm --detail --scan >> mdadm.conf
    shian:/etc/mdadm#
    shian:/etc/mdadm# cat mdadm.conf
    DEVICE partitions
    ARRAY /dev/md0 level=raid1 num-devices=2 UUID=a48e6816:ea6e7f37:6cc50cdb:6fead399
    devices=/dev/hdb1,/dev/hdc1
  • Ahora ya podemos reiniciar la máquina y el raid arrancará y se montará automáticamente en el arranque.
  • Podemos probar a parar el dispositivo y a levantarlo de nuevo:
    shian:/etc/mdadm# umount /mnt/raid
    shian:/etc/mdadm# mdadm --stop /dev/md0
    shian:/etc/mdadm# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    unused devices: <none>

    shian:/etc/mdadm# mdadm --assemble /dev/md0 /dev/hdb1 /dev/hdc1
    mdadm: /dev/md0 has been started with 2 drives.
    shian:/etc/mdadm# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus0/target1/lun0/part1[0] ide/host0/bus1/target0/lun0/part1[1]
    1048192 blocks [2/2] [UU]

    unused devices: <none>

  •    Ahora sí, vamos a probar si realmente el podemos recuperar la información y el sistema funciona correctamente en caso de caída de un dispositivo. Además, veremos cómo reemplazar el disco defectuoso y recuperar de nuevo el raid 1 con los dos discos.
  • Creamos un archivo aleatorio de 25MB en el raid montando previamente de nuevo el raid:
    shian:/# mount /dev/md0 /mnt/raid
    shian:/# dd if=/dev/urandom of=/mnt/raid/random1 count=51200
    51200+0 records in
    51200+0 records out
    26214400 bytes transferred in 7.829523 seconds (3348148 bytes/sec)
  • Calculamos su CRC y lo apuntamos. Posteriormente nos servirá para comprobar que todo es correcto:
    shian:/# cksum /mnt/raid/random1
    1652310020 26214400 /mnt/raid/random1
  • Vamos a simular un fallo en uno de los dispositivos. Para ello apagamos el sistema, desconectamos uno de los discos duros (en este caso /dev/hdb) y arrancamos de nuevo.
  • Una vez arrancado de nuevo el sistema, si examinamos con detalle los mensajes de arranque encontraremos algo como lo siguiente. Como se puede ver el sistema ha detectado un disco falla y al no haber un disco de repuesto (spare) levanta el raid en modo degradado con un sólo disco. Podremos seguir utilizando el raid con total normalidad pero si este disco también fallase, perderíamos irremediablemente todos los datos.
    md: bind
    md: ide/host0/bus1/target0/lun0/part1's event counter: 00000006
    md0: former device hdb1 is unavailable, removing from array!
    md: raid1 personality registered as nr 3
    md0: max total readahead window set to 124k
    md0: 1 data-disks, max readahead per data-disk: 124k
    raid1: device ide/host0/bus1/target0/lun0/part1 operational as mirror 1
    raid1: md0, not all disks are operational -- trying to recover array
    raid1: raid set md0 active with 1 out of 2 mirrors
    md: updating md0 RAID superblock on device
    md: ide/host0/bus1/target0/lun0/part1 [events: 00000007]<6>(write) ide/host0/bus1/target0/lun0/part1's sb offset: 1048192
    md: recovery thread got woken up ...
    md0: no spare disk to reconstruct array! -- continuing in degraded mode
    md: recovery thread finished ...
  • En el archivo /proc/mdstat podemos ver el estado del raid. Ahora mismo se encuentra funcionando sólo con un dispositivo de dos posibles y nos indica que el que ha fallado es el primero de ellos:
    shian:~# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus1/target0/lun0/part1[1]
    1048192 blocks [2/1] [_U]

    unused devices: <none>
  • No obstante el raid está montado y el filesystem es accesible:
    shian:~# df -h /dev/md0
    Filesystem Size Used Avail Use% Mounted on
    /dev/md0 1008M 42M 916M 5% /mnt/raid
  • Ahora marcamos el disco /dev/hdb1 como fallo para proceder a cambiarlo:
    shian:~# mdadm --manage /dev/md0 --fail /dev/hdb1
    mdadm: set /dev/hdb1 faulty in /dev/md0

  •    Apagamos la máquina y cambiamos el disco duro defectuoso por uno nuevo. En el caso de VMware basta con crear un nuevo dispositivo de tipo disco duro. Además, este disco duro nuevo que añadimos va a ser de mayor tamaño que el anterior. Idealmente en un raid 1 los dos discos duros deben tener el mismo tamaño, pero linux nos proporciona la suficiente flexibilidad para que esto no sea así.

  • En el arranque de la máquina vemos que el raid sigue arrancando pero en modo degradado. Lo que vamos a hacer es crear la tabla de particiones del nuevo disco duro exáctamente igual que la del disco duro que aún funciona y que forma parte del raid:
    shian:~# sfdisk -d /dev/hdc | sfdisk /dev/hdb
    Checking that no-one is using this disk right now ...
    OK

    Disk /dev/hdb: 4161 cylinders, 16 heads, 63 sectors/track

    sfdisk: ERROR: sector 0 does not have an msdos signature
    /dev/hdb: unrecognized partition table type
    Old situation:
    No partitions found
    New situation:
    Units = sectors of 512 bytes, counting from 0

    Device Boot Start End #sectors Id System
    /dev/hdb1 63 2096639 2096577 fd Linux raid autodetect
    /dev/hdb2 0 - 0 0 Empty
    /dev/hdb3 0 - 0 0 Empty
    /dev/hdb4 0 - 0 0 Empty
    Warning: no primary partition is marked bootable (active)
    This does not matter for LILO, but the DOS MBR will not boot this disk.
    Successfully wrote the new partition table

    Re-reading the partition table ...

    If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
    to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
    (See fdisk(8).)
  • Como este nuevo disco duro es mayor que el anterior, podemos crear una partición /dev/hdb2 y formatearla para utilizarla sin problemas.
    shian:~# fdisk /dev/hdb

    The number of cylinders for this disk is set to 4161.
    There is nothing wrong with that, but this is larger than 1024,
    and could in certain setups cause problems with:
    1) software that runs at boot time (e.g., old versions of LILO)
    2) booting and partitioning software from other OSs
    (e.g., DOS FDISK, OS/2 FDISK)

    Command (m for help): n
    Command action
    e extended
    p primary partition (1-4)
    p
    Partition number (1-4): 2
    First cylinder (2081-4161, default 2081):INTRO
    Using default value 2081
    Last cylinder or +size or +sizeM or +sizeK (2081-4161, default 4161):INTRO
    Using default value 4161

    Command (m for help): p

    Disk /dev/hdb: 2147 MB, 2147483648 bytes
    16 heads, 63 sectors/track, 4161 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes

    Device Boot Start End Blocks Id System
    /dev/hdb1 1 2080 1048288+ fd Linux raid autodetect
    /dev/hdb2 2081 4161 1048824 83 Linux

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.

    shian:~# mkfs.ext3 /dev/hdb2
    mke2fs 1.37 (21-Mar-2005)
    warning: 62 blocks unused.

    Filesystem label=
    OS type: Linux
    Block size=4096 (log=2)
    Fragment size=4096 (log=2)
    131328 inodes, 262144 blocks
    13110 blocks (5.00%) reserved for the super user
    First data block=0
    8 block groups
    32768 blocks per group, 32768 fragments per group
    16416 inodes per group
    Superblock backups stored on blocks:
    32768, 98304, 163840, 229376

    Writing inode tables: done
    Creating journal (8192 blocks): done
    Writing superblocks and filesystem accounting information: done

    This filesystem will be automatically checked every 30 mounts or
    180 days, whichever comes first. Use tune2fs -c or -i to override.

    shian:~# mkdir /mnt/tmp

    shian:~# mount /dev/hdb2 /mnt/tmp
  • Ahora vamos a reconstruir el raid:
    shian:~# mdadm --manage /dev/md0 --add /dev/hdb1
    mdadm: hot added /dev/hdb1
  • En este instante el raid 1 se está reconstruyendo. Toda la información del disco existente (/dev/hdc1) se está escribiendo en el nuevo disco (/dev/hdb1) para reconstruir el mirror y tener de nuevo la redundancia. Podemos comprobar el estado en el archivo /proc/mdstat:
    shian:~# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus0/target1/lun0/part1[2] ide/host0/bus1/target0/lun0/part1[1]
    1048192 blocks [2/1] [_U]
    [=======>.............] recovery = 39.5% (415488/1048192) finish=0.1min speed=69248K/sec
    unused devices: <none>
  • Finalmente, después de un tiempo tenemos el raid recuperado:
    shian:~# cat /proc/mdstat
    Personalities : [raid1]
    read_ahead 1024 sectors
    md0 : active raid1 ide/host0/bus0/target1/lun0/part1[0] ide/host0/bus1/target0/lun0/part1[1]
    1048192 blocks [2/2] [UU]

    unused devices: <none>
  • Si no nos fiamos de que todo esté correcto (yo tengo que verlo para creerlo), podemos hacer lo siguiente para comprobar que la recuperación se ha realizado satisfactoriamente. Lo que vamos a hacer es desmontar el raid, montar únicamente el nuevo dispositivo /dev/hdb1 y comprobar el CRC del archivo que generamos anteriormente para comprobar que la recuperación ha sido correcta.
    shian:~# umount /mnt/raid
    shian:~# mount /dev/hdb1 /mnt/raid
    shian:~# cksum /mnt/raid/random1
    1652310020 26214400 /mnt/raid/random1
  • Y listo!. El raid se ha recuperado correctamente y toda nuestra información está a salvo. Es importante dejarlo todo como estaba antes de utilizarlo puesto que ahora mismo en /mnt/raid se encuentra montado de manera temporal sólo un dispositivo del raid y no éste completo. Si ahora hiciéramos algún cambio, creásemos archivos,... perderíamos todos esos datos en cuanto montásemos de nuevo el raid. Mejor lo dejamos todo como estaba:
    shian:~# umount /mnt/raid/
    shian:~# mount /mnt/raid/
    shian:~# df -h /mnt/raid/
    Filesystem Size Used Avail Use% Mounted on
    /dev/md0 1008M 42M 916M 5% /mnt/raid
  • Si ahora reiniciamos la máquina vemos que el raid arranca correctamente con los dos discos de nuevo:
    md: ide/host0/bus0/target1/lun0/part1's event counter: 0000000c
    md: ide/host0/bus1/target0/lun0/part1's event counter: 0000000c
    md: raid1 personality registered as nr 3
    md0: max total readahead window set to 124k
    md0: 1 data-disks, max readahead per data-disk: 124k
    raid1: device ide/host0/bus0/target1/lun0/part1 operational as mirror 0
    raid1: device ide/host0/bus1/target0/lun0/part1 operational as mirror 1
    raid1: raid set md0 active with 2 out of 2 mirrors
    md: updating md0 RAID superblock on device
    md: ide/host0/bus0/target1/lun0/part1 [events: 0000000d]<6>(write) ide/host0/bus0/target1/lun0/part1's sb offset: 1048192
    md: ide/host0/bus1/target0/lun0/part1 [events: 0000000d]<6>(write) ide/host0/bus1/target0/lun0/part1's sb offset: 1048192

  •    Hemos visto una manera bastante sencilla y fiable de tener nuestros datos importantes a buen recaudo. No obstante este sistema raid no sirve de nada sin una buena política de backups, puesto que no protege del borrado accidental de archivos.

       Después de haber probado FreeNAS y el Raid en Debian puedo sacar en claro lo siguiente:
  • FreeNAS es mucho más sencillo y fácil de configurar, pero no ofrece toda la flexibilidad que linux. Por ejemplo, con FreeNAS no es posible crear un raid con dos discos de distinto tamaño y aprovechar el espacio restante. En linux eso no supone ningún problema. Simplemente hay que tener claro que los datos de esa nueva partición no tendrán respaldo, por lo que no se debe utilizar para almacenar información importante.
  • FreeNAS todavía es una versión beta y aunque parece muy robusta y hay mucha gente que la está utilizando (sólo hay que echar un vistazo a sus foros), los desarrolladores indican que no se debería utilizar en entornos de producción. Por contra, el raid por software en linux se lleva utilizando desde hace bastante tiempo.
  • Si tengo algún problema con FreeNAS será más complicado encontrar soporte. Sólo tendría el foro para preguntar. Si tengo un problema con linux tengo a mano a Alex que seguro está encantado de echarme una mano ;-)
  • Al utilizar un sistema linux "estandar" podemos montar un apache, scripts de monitorización del raid, avisos por correo electrónico,... cualquier cosa que se nos ocurra. Con FreeNAS esto sería muy complicado de hacer.

  •    Ahora ya sólo me queda cambiar mi actual Duron 1200Mhz (algo que voy a hacer en las próximas semanas) puesto que ya está algo viejo y cada vez lo noto más lento y utilizarlo como servidor NAS-Debian en casa.

       El siguiente capítulo será la configuración de Samba para compartir los nuevos dispositivos creados con una máquina windows así como la gestión de los distintos permisos de usuario.

       

    martes, 13 de marzo de 2007

    Servidor NAS para casa

       Hace un mes descubrí el proyecto FreeNAS. Es un proyecto para crer un servidor NAS basado en una distribución de FreeBSD y con una interfaz gráfica php. La instalación es muy sencilla he incluso en la web de sourceforge podemos descargar una máquina virtual de VMware ya preparada para probar.

       Me ha picado el gusanillo y he estado algún tiempo realizando bastantes pruebas (gracias a la máquina virtual) creando servidores con discos en raid 1, raid 5, (por software claro)... compartiendo los datos con máquinas windows,... y aunque todavía se trata de una versión beta (actualmente 0.68b3) el producto está muy logrado y me ha sorprendido gratamente. Me he planteado crear un pequeño servidor NAS en casa con raid 1 para poder tener todos los datos importantes centralizados y poder gestionar mejor las copias de seguridad. Actualmente es bastante complicado porque mi mujer trabaja con su portatil pero parte de su información está en mi sobremesa, luego otra copia está en mi disco duro externo,... y nunca tiene tiempo de sincronizar la información!! en fin, un caos!.

       Un aspecto muy importante cuando se configura un servidor NAS es la recuperación en caso de fallo. En mi caso, con la máquina virtual es muy fácil de simular y probar. Sólo hay que desconectar un disco duro y arrancar de nuevo el sistema para ver qué ocurre. En las pruebas no se perdió nada de información aunque se trabajase sólo con un único disco. Posteriormente conecté un nuevo disco a la máquina virtual y lo quise añadir al raid 1. Al principio me volví loco puesto que desde la interfaz gráfica no encontraba la forma de hacerlo. Finalmente, después de leer el foro descubrí que a los desarrolladores se les había olvidado la opción de añadir un disco al raid 1. Como FreeNAS utiliza la herramienta gmirror de FreeBSD, googleando un poco encontré los comandos necesarios para reconstruir el raid sin problemas desde la línea de comandos.

       Unos días después le conté este proyecto a Alex y aunque me dijo que tenía buena pinta me sugirió que hiciera lo mismo con linux, exactamente con Debian. La ventaja de utilizar FreeNAS es que ya está todo configurado y orientado al servidor NAS. Así, es muy sencillo compartir la información con clientes windows, utilizar un servidor ftp,... Pero esto también es un inconveniente. El sistema está tan pensado para hacer sólo esto que es muy dificil añadir alguna mejora o modificarlo para adaptarlo a nuestros gustos. Además, aunque no tengo los conocimientos de Alex en linux, me defiendo. Sin embargo, esto no lo puedo decir de FreeBSD que es el sistema operativo en el que se basa FreeNAS.

       Así, descargué la última versión de Debian Sarge que encontré (la 3.1r5) y lo instalé en VMware para poder hacer todas las pruebas. En breve publicaré el siguiente artículo con todo lo que tuve que hacer y cómo solucioné los problemas (que hubo bastantes) hasta que logré que todo funcionase correctamente.

    jueves, 1 de marzo de 2007

    La Fonera Hackeada (II)

       El otro día comentaba que había logrado abrir el ssh de mi fonera y que la había "capado" para que Fon no la pudiese actualizar. Hoy que he tenido más tiempo libre he estado jugueteando con el Chillispot. Para el que no lo conozca se trata del portal cautivo que utiliza Fon para controlar el acceso a la red. Cuando nos conectados a la red wifi de la fonera y ponemos cualquier página en el navegador, automáticamente esa petición pasa por Chillispot y si no está entre las urls permitida nos redirigirá a la url que hayamos indicado para autenticar el usuario por medio de Radius. En este caso nos redirige a la web de Fon y cuando nos conectamos con nuestro usuario y password ya podemos navegar libremente.

       Conectándome con el portatil a la red pública de la fonera pude comprobar que había algunas páginas a las podía conectar sin tener que pasar por chillispot. Por ejemplo, podía leer mi correo de gmail o visitar flickr. Editando el archivo de configuración del chillispot me encontré esto:
    root@OpenWrt:/etc# cat chilli.conf
    radiusserver1 radius01.fon.com
    radiusserver2 radius02.fon.com
    radiussecret garrafon
    dhcpif eth1
    uamsecret garrafon
    uamallowed 209.85.129.99,209.85.129.104,209.85.129.147
    uamanydns
    uamallowed www.martinvarsavsky.net,www.google.com,www.flickr.com,static.flickr.com,video.google.com,216.239.51.0/24,66.249.81.0/24
    uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com,66.249.93.0/24,72.14.207.0/24,72.14.209.0/24,84.96.67.0/24,213.91.9.0/24,80.118.99.0/24
    uamallowed shop.fon.co.kr,secure.nuguya.com,inilite.inicis.com,fon-en.custhelp.com,maps.fon.com,c20.statcounter.com

    uamallowed www.fon.com,acceso.fon.com,en.fon.com,es.fon.com
    uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com

    uamserver https://login.fon.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/cp/index.php

       Es una lista de urls permitidas por las que se puede navegar sin tener que estar autenticado. Revisando algunas de esas ips he visto que la mayoría son de google, flickr,... pero hay otras que no tengo ni idea. Entonces he pensado que no quería que los Aliens que se conecten a mi punto de acceso Fon puedan navegar libremente por Google, Flickr, Skype,.... Lo primero que se me ha ocurrido ha sido comentar las líneas de las webs no permitidas y reiniciar el chillispot, pero cual ha sido mi sorpresa que no ha funcionado. Revisando con más detalle el script de chillispot (/etc/init.d/N50chillispot) he visto que cuando se arranca se descarga de Fon (en la función radconfig) el archivo de configuración, lo almacena en /tmp/chilli.conf y comprueba mediante un hash MD5 si el que acaba de descargar y el existente son iguales o no. En caso de que el existente haya sido modificado, lo borra y mueve el que se ha descargado a la ruta original. Así Fon tiene control total sobre las webs por las que los Aliens pueden o no navegar:
    radconfig() {
    /usr/sbin/chilli_radconfig \
    -c /dev/null \
    --radiusserver1="$RADIUSSERVER" \
    --radiussecret="$RADIUSSECRET" \
    --adminuser="$RADIUSADMUSR" \
    --adminpasswd="$RADIUSADMPWD" \
    --radiusnasid="$MAC" \
    --dhcpif $wifi_ifname \
    > $TMP_C
    [ -n "$(cat $TMP_C)" ] && {
    MD5SUM_TMP=$(md5sum $TMP_C | awk '{ print $1 }')
    MD5SUM_ETC=$(md5sum $ETC_C | awk '{ print $1 }')
    if [ ! "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
    rm $ETC_C
    mv $TMP_C $ETC_C
    circular_log $LOG_LOOP_F "RELOAD"
    do_reload
    else
    circular_log $LOG_LOOP_F "NO RELOAD"
    fi
    return 0
    }
    circular_log $LOG_LOOP_F "NO RELOAD"
    }

       ¿Qué podemos hacer para evitar esto?. Muy sencillo, simplemente cambiamos el signo de la comparación (la línea comentada del if es la original):
    radconfig() {
    /usr/sbin/chilli_radconfig \
    -c /dev/null \
    --radiusserver1="$RADIUSSERVER" \
    --radiussecret="$RADIUSSECRET" \
    --adminuser="$RADIUSADMUSR" \
    --adminpasswd="$RADIUSADMPWD" \
    --radiusnasid="$MAC" \
    --dhcpif $wifi_ifname \
    > $TMP_C
    [ -n "$(cat $TMP_C)" ] && {
    MD5SUM_TMP=$(md5sum $TMP_C | awk '{ print $1 }')
    MD5SUM_ETC=$(md5sum $ETC_C | awk '{ print $1 }')
    # if [ ! "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
    if [ "$MD5SUM_TMP" = "$MD5SUM_ETC" ]; then
    rm $ETC_C
    mv $TMP_C $ETC_C
    circular_log $LOG_LOOP_F "RELOAD"
    do_reload
    else
    circular_log $LOG_LOOP_F "NO RELOAD"
    fi
    return 0
    }
    circular_log $LOG_LOOP_F "NO RELOAD"
    }

       y ya está capado. Ahora editamos el archivo de configuración de Chillispot y comentamos las webs que no queremos que se puedan utilizar:
    root@OpenWrt:/etc# cat chilli.conf
    radiusserver1 radius01.fon.com
    radiusserver2 radius02.fon.com
    radiussecret garrafon
    dhcpif eth1
    uamsecret garrafon
    #uamallowed 209.85.129.99,209.85.129.104,209.85.129.147
    uamanydns
    #uamallowed www.martinvarsavsky.net,www.google.com,www.flickr.com,static.flickr.com,video.google.com,216.239.51.0/24,66.249.81.0/24
    #uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com,www.skype.com,66.249.93.0/24,72.14.207.0/24,72.14.209.0/24,84.96.67.0/24,213.91.9.0/24,80.118.99.0/24
    #uamallowed shop.fon.co.kr,secure.nuguya.com,inilite.inicis.com,fon-en.custhelp.com,maps.fon.com,c20.statcounter.com

    uamallowed www.fon.com,acceso.fon.com,en.fon.com,es.fon.com
    uamallowed www.fon.com,www.paypal.com,www.paypalobjects.com

    uamserver https://login.fon.com/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/cp/index.php

       y finalmente reiniciamos Chillispot.

       Si ahora nos conectamos desde a la señal wifi de Fon y ponemos una web como http://www.google.com, Chillispot nos reenviará automáticamente al Portal de login de Fon.

       El próximo paso: Actualización de la Fonera a DD-WRT.

    jueves, 22 de febrero de 2007

    Conectarse a Oracle como sysdba sin saber el password

       El sistema que estoy probando en mi nuevo trabajo utiliza Oracle 10g como base de datos. El otro día quería ver más a fondo cómo estaban creados los datafiles, tablespaces, índices,... Obviamente con el usuario de aplicación que tengo para conectarme no podía hacer mucho, así que pensé qué podía hacer para conectarme con permisos de DBA.

       Recordando lo que aprendí el año pasado en los cursos de Oracle que hice y también en mi anterior trabajo, el usuario de sistema operativo dueño de la instalación de oracle puede conectarse como sysdba sin necesidad de conocer el password. Para ello sólo hay que hacer lo siguiente y automáticamente estaremos conectados a la instancia y además con permisos totales de administración. No obstante, en mi caso esto daba error:
    C:\Documents and Settings\User>sqlplus /nolog

    SQL*Plus: Release 10.2.0.2.0 - Production on Wed Mar 14 10:32:28 2007

    Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

    SQL> conn / as sysdba
    ERROR:
    ORA-01031: insufficient privileges

       Haciendo más memoria todavía, cuando se instala un servidor Oracle en windows, se crea el grupo ORA_DBA al que es necesario añadir todos los usuarios que se podrán conectar como dba. Mi usuario no estaba añadido, pero después de hacerlo seguía sin poder conectarme como sysdba.

       Lo dejé y después de comer (siempre dicen que con el estómago lleno se piensa mejor) me acordé de que había un parámetro en el archivo sqlnet.ora en el que se puede configurar si se va a utilizar la autenticación que proporciona el sistema operativo o no. En mi máquina estaba deshabilitada, por lo que era obligatorio utilizar el password.
    #SQLNET.AUTHENTICATION_SERVICES= (NTS)

    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

       Cambié la línea en cuestión del archivo para indicarle que utilizase la autenticación de windows (simplemente descomentándola):
    SQLNET.AUTHENTICATION_SERVICES= (NTS)

    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

       Y probé de nuevo:
    C:\Documents and Settings\User>sqlplus /nolog

    SQL*Plus: Release 10.2.0.2.0 - Production on Wed Mar 14 10:35:29 2007

    Copyright (c) 1982, 2005, Oracle. All Rights Reserved.

    SQL> conn / as sysdba;
    Connected.

       Y una vez conectados nos podemos crear un usuario con permisos de dba para poder utilizarlo y conectarnos desde el Toad...
    SQL> create user ivan identified by ivan;

    User created.

    SQL> grant connect,resource to ivan;

    Grant succeeded.

    SQL> grant dba to ivan;

    Grant succeeded.

    viernes, 16 de febrero de 2007

    Ubuntu no me quiere...

       Resulta que me ha dado por instalar Linux y me he decidido por Ubuntu. El otro día me bajé el cd de la última versión, Ubuntu Desktop 6.10, lo grabé y me dispuse a probarlo. Por alguna extraña razón mi ordenador no le gusta demasiado porque según cargaba el modo gráfico el ratón desaparecía y el servidor X se la pegaba. Volvía a arrancar automáticamente y otra vez lo mismo. Grabé otro cd por si este tenía algo mal y nada, seguía sin funcionar.

       Probé el cd en el portatil por si acaso y no falló nada. Además me dejó gratamente sorprendido. Me configuró la resolución de pantalla a la máxima del portatil, siendo esta resolución un tanto extraña: 1400x1050. Tenía la pcmcia wifi metida, la configuró e incluso se conectó a la red wifi de La Fonera y todo sin ningún problema.

       Ese mismo día puse a bajar la Kubuntu y de nuevo la Ubuntu desde otro mirror. Cuando volví del trabajo grabé el cd y probé sin éxito primero con Ubuntu y luego con Kubuntu. Estuve cacharreando un rato, mirando logs, dmesg,... pero no encontré nada.

       Esta tarde después de volver del trabajo he probado con la versión anterior de Ubuntu, Ubuntu Desktop 6.06.1, que me había descargado por si acaso. Ha arrancado sin (casi) ningún problema y no me ha dado ninguno de los errores que me daba la versión superior. Digo casi ningún problema porque no ha configurado correctamente las X y me ha arrancado en 640x480. He estado jugueteando un rato y me he decidido a instarla en el disco duro.

       Llevaba sin usar un linux en mi pc desde que terminé el proyecto fin de carrera, por lo que he estado buscando las particiones que ya tenía hechas y he decidido instalar ahí. El asistente ha comenzado pero con la resolución que tenía no podía ver toda la ventana ni redimensionarla.

       Pues nada, vamos a solucionar el problema de la resolución.... Pulsando <CTRL> + <ALT> + F1 me he cambiado a un terminal de texto y esto es lo que he hecho después de un rato probando opciones y cambiando archivos:
  • Matar el gestor gráfico de login
    $ killall gdm

  • Generar de nuevo el archivo de configuración de las X:
    $ Xorg -configure

  • Probar la nueva configuración:
    $ X -config /root/xorg.conf.new

  • Editar el archivo y cambiar el ratón puesto que el mío es PS2 (/dev/input/mice) y por defecto buscaba en /dev/Mouse.

  • Añadir dentro de "Modes" la resolución deseada (1280x1024)

  • Probar de nuevo:
    $ X -config /root/xorg.conf.new

  • Una vez que está bien ya sólo queda copiar el archivo nuevo de configuración a su ruta definitiva:
    $ cp /root/xorg.conf.new /etc/X11/xorg.conf

  • Y finalmente arrancar el gestor gráfico de login:
    $ gdm &

       Una vez hecho todo esto he podido probar un poco más el live-cd y como ya he dicho me he decidido a instalarlo. La instalación es muy sencilla, sólo hay que seleccionar el idioma, la zona horaria y las particiones que utilizaremos. El resto es automático. Una vez instalado todo reiniciamos la máquina y podemos entrar en nuestro nuevo sistema operativo.

       No he tenido mucho más tiempo de probar, pero poco a poco intentaré ir haciendo alguna cosa más en linux y ver si me adapto al cambio.
  • martes, 6 de febrero de 2007

    La Fonera Hackeada

       Antes de navidades me llegó un email de Fon con una invitación para que un amigo pudiera conseguir una Fonera totalmente gratis. Envié la invitación a mi mujer y solicité la Fonera a casa de sus padres. Hace un par de semanas llegó "mi" Fonera y estas son las primeras impresiones:
  • La Fonera es realmente pequeña, en las fotos no se aprecia bien pero es muy muy pequeña.
  • Se calienta bastante: Después de tenerla poco más de una hora conectada está muy caliente.
  • La configuración es muy sencilla: Nos conectamos a la red wifi abierta (FON_HOTSPOT) nos logamos en la página de Fon y la registramos. Luego nos conectamos a la red privada (MyPlace) con la clave WPA que nos proporcionan y listo, ya está todo.

  • Cosas que no me han gustado:

  • La web de administración es muy limitada y no permite nada más que unas cuantas opciones de configuración.
  • Aunque puedo cambiar el rango de IPs que asigna a los clientes DHCP no puedo gestionarlo yo al igual que hago con el Linksys.

  •    La he tenido encendida prácticamente todo un fin de semana y no se ha conectado nadie a ella. También es cierto que en la zona en que vivimos, la mayoría de los vecinos deben tener conexión y justo enfrente están construyendo un bloque nuevo. Es probable que cuando lo entreguen tenga más potenciales "clientes".

       Después de esto me cansé y decidí hackearla a ver si podía hacer algo más con ella. Leyendo en unos cuantos foros encontré que lo primero que había que hacer era conseguir el acceso por ssh para luego poder cacharrear más con ella.

       Manos a la obra: Leí que había diversas opciones, desde abrirla para conectar un puerto serie a utilizar unos exploits de la web de administración. También leí que la mayoría de los scripts eran compatibles hasta la versión 0.7.1r1 y mi Fonera tiene la versión 0.7.1r2.
       Según he podido enterarme de fábrica no es probable que se estén fabricando foneras con la versión r2 de serie, por lo podemos resetear las que están en versión r2 para se queden con la versión original de fábrica (r1).
       Con el reseteo tuve problemas porque en algunos sitios leí que había que pulsar el reset más de 1 minuto, esperar a que se apagaran las luces, volver a pulsar el reset, quitar el cable de red y el de alimentación; y finalmente enchufar de nuevo y listo, Fonera "downgradeada". Después de intentarlo unas cuantas veces lo dejé por imposible. La única conclusión que saqué fue que la Fonera se actualiza cuando se conecta a internet.

       Seguí leyendo y buscando por los foros y encontré otra forma de hackearla que es la que me ha funcionado:

  • Conectamos la fonera a otro PC con un cable de red cruzado, de tal forma que la fonera no tenga conexión a internet.
  • Después de arrancar, la IP asignada al puerto ethernet de la fonera es 169.254.255.1, por lo que configuré la IP en el PC con 169.254.255.2. Así, la fonera responde a los pings y desde el navegador nos podemos conectar a la web de administración.
  • Pulsar el botón de reset unos 15 segundos.
  • Recargar la web de administración. Ya aparecía la versión r1, por lo que ya podía proceder al hackeo.
  • Guardé el siguiente código en un archivo html, lo ejecuté y después de unos segundos parece que funcionó.
  • <html>
     <head>
     </head>
      <body>
      <center>
       <form method="post"
        action="http://169.254.255.1/cgi-bin/webif/connection.sh" enctype="multipart/form-data">
        <input name="username" value="$(/etc/init.d/dropbear)" size="68">
        <input type="submit" name="submit" value="Submit" />
       </form>
      </center>
      </body>
    </html>
  • Abrí el putty y me conecté a la Fonera por ssh.
  • Ahora lo único que quedaba era configurar el firewall para abrir el puerto 22. Para esto descomenté las reglas que lo abrían en el archivo /etc/firewall.user
  • Configurar el servidor ssh para que arrancase junto con la Fonera:
    ln -s /etc/init.d/dropbear /etc/init.d/S50dropbear
  • Y modificar el script de "puerta trasera" que ha instalado Fon para que la Fonera no se ejecute el código recibido de Fon cada vez que se conecta a internet. Editamos el archivo /bin/thinclient y comentamos la última línea:
    # . /tmp/.thinclient.sh

  •    De momento me he quedado aquí aunque hay bastante gente trabajando en establecer un puente WDS entre el Linksys con software DD-WRT y una Fonera. E incluso hace muy poco tiempo que acaba de salir una versión del DD-WRT adaptada a La Fonera.

       Establecer el puente WDS entre varias Foneras puede ser muy útil para poder añadir acceso Wifi en una gran extensión de terreno de forma que se puedan poner varias foneras y sólo haya que preocuparse del cable de alimentación y no del de datos (como hasta ahora).

       Como mi "amigo" registró su Fonera ahora Fon le ha dado a él una invitación y a mi otra para que invitemos a nuevos amigos a pedir sus Foneras gratis. Vamos, que ahora tengo 2 invitaciones esperando a ver qué pasa con el WDS y todo esto para utilizarlas.

    sábado, 3 de febrero de 2007

    D-Link + Linksys

       Ya comenté hace algún tiempo que cuando me di de alta en el Adsl de Ya.com no elegí el router wifi porque erán casi 50 euros más y porque además tengo el Linksys que Fon amablemente me vendío por 1€+IVA.
    Para poder montar la red tal y como yo quería:

       Es decir, poder tener en red tanto cacharros conectados al D-Link como al Linksys (de manera wifi o no) y poder salir a internet hubo que hacer algunos cambios en la configuración de los dos routers.

    D-Link
    Como este router es mi pasarela de conexión a internet siempre va a estar encendido, por lo que decidí que él (y sólo él) sería el servidor DHCP. Le asigné la IP estática 192.168.1.1 y configuré el rango de IPs asignadas por DHCP a partir de la 192.168.1.3 (y no la .2).

    Linksys
    Este router se debe encargar de gestionar todas las conexiones inalámbricas y además servir de pasarela para la conexión a internet a través del D-Link a todos sus clientes.
    Le asigné la IP 192.168.1.2 y deshabilité el servidor DHCP puesto que, como ya he comentado, decidí que el D-Link sería el único encargado de asignar las IPs. Podría hacer definido un rango de IPs de DHCP disjunto al definido en el D-Link, pero preferí no hacerlo así.
    En este momento a cualquier cliente que se conectara al Linksys no se le asignaría dirección IP automáticamente (puesto que había deshabilitado el DHCP). Aquí utilicé una opción de mi nuevo firmware DD-WRT que se llama DHCP Forwarder y lo que hace como su nombre indica es reenviar las peticiones de DHCP a otra máquina. En mi caso configuré la IP del D-Link y listo. Cuando un cliente se conecta al Linksys y le pide una IP dinámica, éste reenvía la petición al D-Link que la resuelve, la almacena en su tabla de asignaciones y la devuelve.

       Aunque parece que en este momento ya estaba todo resuelto, no fue así. Conectando diversos equipos a al D-Link, Linksys wifi y Linksys red no tenía ping entre todos y tampoco podía salir a internet desde el Linksys.
       Revisando más a fondo las opciones del Linksys encontré que cuando se desactiva la opción de "Internet" -para cuando el router no gestiona la conexión DSL a internet como es mi caso, puesto que lo hace el D-Link-, es necesario enrutar todo el tráfico hacia la pasarela de internet. Eso fue lo que hice, añadí la ruta hacia el D-Link y todo resuelto. Ya obtenía pings entre los distintos equipos y podía navegar por internet sin problema desde cualquier punto de mi red.

       Después de haber configurado así la red y viendo los equipos que tengo conectados me alegro de haber elegido la oferta de Ya.com y no la de Orange puesto que el router que regalaban estos últimos sólo tenía un puerto ethernet. En mi caso tengo conectado a los router lo siguiente:

    D-Link:
  • Servidor 24x7.
  • PC Sobremesa.
  • Linksys.
  • Roseta en la pared que da servicio a otra roseta instalada en el salón.

  • Linksys:
  • El portatil de mi mujer.
  • Mi portatil (cuando no me conecto por wifi).
  • La PDA (wifi).
  • miércoles, 31 de enero de 2007

    DD-WRT en Linksys

       Buscando algo de información sobre el Linksys he encontrado que hay bastantes firmwares disponibles que son mucho mejores que el original de Linksys. Me he decidido a instalar el DD-WRT y probar qué tal. La instalación es muy sencilla, sólo hay que leer con calma la información y elegir la versión correcta para nuestro modelo exacto de router. En mi caso, por una limitación del firmware original de Linksys no se puede cargar un firmware de más de 3 Mbytes, por lo que tuve que instalar la versión Mini y luego la versión Generic.

       Después de flashear el router este es el aspecto de la ventana principal:


       Este nuevo firmware aporta de muchas funcionalidades al router Linksys, las que más me han llamado la atención han sido:
  • Posibilidad de aumentar la potencia de la señal wifi: Aunque también he leído que hace que el consumo sea mayor y disminuye la vida útil del router. Yo de momento, como no tengo problemas de cobertura en casa no la he aumentado.
  • Podemos definir por qué antena queremos emitir y por cual recibir: Esto es especialmente util si cambiamos las antenas que trae el Linksys por defecto por otras omni o multidireccionales.
  • Posibilidad de montar un directorio por Samba: Esto es muy útil, podemos compartir un directorio en una máquina windows y montarlo en el Linksys. Ahí podremos almacenar programas que se ejecuten en el Linksys, logs,... lo que se nos ocurra.
  • Relacionado con el punto anterior, hay infinidad de programas que están preparados para ejecutar en el router. Además, podemos hacer nuestros propios scripts si así lo deseamos.
  • Wake on Lan: Permite arrancar un pc que soporte Wake On Lan. Todavía no lo he probado porque tengo que cambiar la tarjeta de red de mi pc de sobremesa, pero tiene muy buena pinta. Podemos por ejemplo, conectarnos al router desde cualquier sitio (si lo tenemos habilitado), arrancar nuestro pc, conectarnos luego a él (por ejemplo con VNC), buscar o mirar lo que queramos y luego apagar el PC.
  • Gran cantidad de documentación: Incluso existe un wiki en el que se explica todo paso a paso.

  •    Un firmware muy a tener en cuenta si se quiere sacar más partido a los router Linksys.

    martes, 30 de enero de 2007

    Están locos estos romanos...

       Para mi cumpleaños mi mujer me regaló un monitor TFT para jubilar el antiguo CRT que tengo actualmente. Como ya sabe que cualquier cacharro tecnológico que entre en casa tiene que pasar por mi supervisión prefirió darme un "vale por..." y así elegía yo el monitor que más me gustase. Llevo ya algún tiempo mirando y comparando precios (tampoco me quiero gastar mucho) y ayer después de salir del curro me iba a pasar a por él a PCBox. Poco antes de llegar me llamó mi mujer y me dijo que en Mediamarkt y sólo durante el día de ayer te descontaban el IVA a todos los artículos. Ojo que el IVA no es descontar el 16%, sino que es calcular la base imponible (que es algo menos), pero en fin, eso es otro tema...

       Así que nada, cuando llegó del trabajo cogimos el coche y nos pasamos por el Mediamarkt de Getafe. Lo primero que vimos es que había muchísimos coches y al final después de varias vueltas dejé el coche en doble fila y entré yo sólo al Mediamarkt.
    A partir de aquí comienza la historia de terror. Las colas de la gente esperando para pagar llegaban hasta el final de Mediamarkt. Estaban casi todas las cajas abiertas y casi no se podía ni andar. Yo simplemente vi que no había ningún monitor que me interesara, pero de todas formas no estaba dispuesto a esperar 2 horas de cola por ahorrarme 30 euros, mi tiempo vale más dinero.

       Lo que quería era hacer una reflexión: ¿realmente la gente necesitaba todo lo que estaba comprando?. Había mucha que llevaba la tele de plasma, el home cinema, la tostadora, el microondas,... Es probable que algunas personas estuvieran en una situación parecida a la mía y no les importase esperar un par de horas por comprarse algo de 1000 euros o más, pero no lo entiendo. Cuanta gente habrá llegado a casa con su nueva tele de 1000 euros por la que habrá pagado 862 euros y le habrán dicho:
    - Pero la necesitábamos?
    - Hombre!, es que me he ahorrado 140 euros!!
    - Ya, pero te has gastado 862 euros en algo que no necesitabas.

    En fin, pleno afán consumista...

    lunes, 15 de enero de 2007

    HTTPort + HTTHost o Cómo saltarse Proxy + Firewall Corporativo

       [ACTULIZADO 26/06/2007]: Con una captura de la configuración del Htthost por petición en un comentario.

       Hace poco que he cambiado de trabajo y en el nuevo tenemos el acceso a internet muy capado. Una de las webs a la que no podemos acceder es Gmail. Aunque no recibo muchísimos emails diarios, siempre está bien poder ver el correo durante el día alguna vez por si hay algo interesante o sobre todo por si necesito buscar o enviar algo desde esa cuenta.

       He estado buscando diversas alternativas para poder saltarme estas restricciones y al final estos son los recursos que tengo y los pasos que he dado:
       En casa tengo un pequeño servidor encendido 24x7 con el Emule funcionando (lo siento Alex pero de momento es windows y no debian) en el que tengo instalado un servidor VNC. Como no tengo ip estática utilizo los servicios de no-ip.com y la funcionalidad DDNS de mi router para asignar un nombre de dominio a mi ip dinámica. De esta manera siempre puedo conectarme al servidor de casa con el cliente vnc desde cualquier lugar.

    1.- Esto fue lo primero que intenté, pero al tener que salir en el trabajo hacia internet con proxy no podía utilizar el cliente vnc.

    2.- Mi segundo paso fue utilizar el servidor java del vnc para conectarme a través del navegador. Aunque llegaba a conectarme a mi casa, el navegador no lograba cargar el applet correctamente.

    3.- Revisando la configuración cambié los puertos que tenía mapeados en el router para dejarlo todo de la manera más estándar posible.

    4.- Mi siguiente intento fue con HTTPort. Para el que no lo conozca sirve para "proxificar" (toma palabro!) cualquier aplicación que no disponga de esa opción y encapsular cualquier tipo de trafico en http. De esta manera, si el proxy/firewall de nuestro trabajo nos permiter navegar por internet, podremos utilizar diversos servicios que de otra manera estarían capados: correo pop, messenger, irc,... El funcionamiento es muy simple, sólo hay que definir un puerto local de escucha y el servidor y puerto remoto al que redirigir todo el tráfico que llegue al puerto local. Luego, dicho tráfico se enviará automáticamente a servidores disponibles en internet para que sirvan de pasarela entre nuestro trabajo y la máquina destino.
    Dicho y hecho: Me bajé el programa, lo instalé en el pc del trabajo y configuré la redirección:



       De esta forma redirigía mi puerto 5900 local al 5900 de mi servidor. Aunque veía en la ventana de conexión del cliente vnc que llegaba a conectar con el servidor de casa, no me llegaba nunca a pedir el password y siempre dada timeout. Buscando un poco en internet leí que la mayoría de esos servidores pasarela públicos están muy saturados y las conexiones eran muy lentas. También ofrecían una solución que era utilizar el programa HTTHost.

    5.- Este programa está pensado para utilizarlo con HTTPort y se instala en una máquina a la que tengamos acceso desde internet. Esta máquina será la que utilizaremos de pasarela para conectarnos a nuestro destino final. Hay que tener en cuenta que la máquina en la que instalemos este servidor puede ser la misma a la que nos queremos conectar (como es mi caso).
       Así, instalé este programa en el servidor de casa, abrí los puertos en el router y lo dejé preparado para probar hoy desde el trabajo.



    En este caso hay que configurar el HTTPort para que se conecte a este servidor pasarela en el que podemos definir un password e incluso filtrar por ip origen para que sólo acepte determinadas conexiones:



    Además, es necesario hacer un pequeño cambio en el mapeo de puertos puesto que ahora tenemos el servidor pasarela origen de las conexiones en la misma máquina en la que se encuentra el servidor vnc (además hay que habilitar en el servidor vnc la opción de permitir conexiones de loopback):



       Ahora, ya en el ordenador del trabajo, abrimos el cliente vnc y nos conectamos a localhost:5900. El flujo que siguen nuestros datos es el siguiente:

    ClienteVNC-trabajo -> HTTPort-trabajo:5900 -> Proxy-trabajo:8080 -> HTTHost-casa:80 -> ServidorVNC:5900

    Y listo, ya tenemos el tunel establecido y podemos conectarnos al ordenador de casa para controlarlo remotamente y poder ver el correo, controlar el estado de las descargas del emule,...

       Este método sólo tiene una pequeña pega que es la velocidad de conexión. Según he leído en los foros, la transferencia de ficheros, el messenger,... van bastante bien, pero el control remoto con el VNC deja bastante que desear y como he podido comprobar esta mañana va algo lento.

       De cara a la seguridad y a los logs que dejaremos en el proxy/firewall de nuestra empresa, se podrán ver que hacemos peticiones a nuestro servidor de casa e incluso se podrán interceptar. Así, lo mejor es activar la opción de encriptación que proporciona HTTPort para que lo único que aparezca en los logs sean las llamadas al servidor de casa, pero nunca la información enviada, las urls que se consultan,...

    sábado, 30 de diciembre de 2006

    Actualización de Tomtom: Problemas y Soluciones

       Esta tarde he estado actualizando la versión del Tomtom de la PDA de la 5.21 a la 6.02. Esta actualización también ha implicado una actulización de los mapas, puesto que los anteriores no son compatibles. He desintalado la versión anterior del Tomtom y he instalado la nueva sin problemas. Además, como esta nueva versión la he comprado en el emule, no he tenido que activar nada ;-).

       Lo primero que he hecho a parte de trastear un poco y comprobar que todo sigue prácticamente como antes, ha sido intentar mantener los Favoritos que tenía en la versión anterior. Buscando en google he encontrado el archivo en el que se almacenan, pero resulta que también he visto que no son compatibles entre ambas versiones!!. Después de pensar un poco lo que he hecho para solucionarlo ha sido lo siguiente:
    - He vuelto a instalar la versión 5.21 y me he creado una categoría de PDI nueva (Migración).
    - He añadido a esa categoría todos mis Favoritos uno a uno y con paciencia.
    - Esto ha generado un archivo Migración.ov2 que he guardado.
    - He vuelto a instalar la versión 6.02 y he copiado el archivo Migración.ov2 a la carpeta de los mapas.
    - Ahora aparecía una nueva categoría de PDI llamada Migración con todos mis favoritos.
    - Finalmente, he añadido como favoritos todos los elementos del PDI Migración (otra vez uno a uno).
    - Y por último he borrado la categoría Migración.

       Ahora estoy "comprando de nuevo" unos mapas integrados de toda Europa pero con la cartografía de NavTeq que según he leído en los foros está mucho más completa que los mapas de TeleAtlas.
    P.D: Recordemos que hasta ahora Tomtom siempre ha utilizado mapas de TeleAtlas.

    viernes, 22 de diciembre de 2006

    ADSL: Por fin!!

       Ya tengo el ADSL por fin, al final el proveedor elegido ha sido ya.com. Estaba dudando entre éste y Orange, pero éstos últimos no me terminaban de dar muy buen rollo y además la oferta de ya.com era algo mejor y el router también. Llevo con internet aproximadamente un mes y durante este tiempo no he tenido ningún problema. La velocidad es buena, las descargas del emule suelen ser rápidas, la navegación también,... vamos, que de momento todo perfecto.

       Como ya tenía un router wifi, el que pedí con el alta fue uno normal, aunque eso sí, con 4 puertos (el de Orange sólo tenía 1). Próximamente pondré un pequeño tutorial de cómo configurar el Linksys junto con el nuevo D-Link para poder tener conexión wifi en toda la casa y poder gestionar de manera correcta las conexiones internas de la red local.

    lunes, 6 de noviembre de 2006

    Iván 1 - Ono 0

       Aunque hemos tenido algún problemilla con el alta de la línea de teléfono, al final lo hemos hecho con Telefónica. Me estoy imaginando la cara que habrá puesto el comercial de Ono cuando se haya enterado que ya se puede contratar con Telefónica en el bloque; y eso que iban a ser 9 ó 10 meses...

       Ahora sólo tenemos que decidir con qué compañía nos damos de alta el ADSL y esperar que en 2 o 3 semanas tengamos el alta sin problemas.

    sábado, 14 de octubre de 2006

    Tarjeta 3G Movistar

       Últimamente en el curro hemos tenido que dar soporte durante las tardes/noches y los fines de semana. Para poder hacer nuestro trabajo de la mejor manera posible y desde casa, nuestro jefe nos ha conseguido unas tarjetas 3G de Movistar:



    Te instalas un pequeño software, cruzas los dedos para tener cobertura 3G en casa y listo, a navegar a 384 Kbits/segundo.



    Luego abrimos la vpn y una vez dentro el vnc para conectarnos a nuestro ordenador del trabajo y listo. A trabajar como si estuviéramos en la oficina, pero con la ventaja de que estamos en casa y de que además tenemos movilidad!. Si no logramos cobertura 3G la tarjeta se conectará por GPRS, con lo que la velocidad bajará hasta los 56 Kbytes de un modem normal y no servirá para casi nada.

       La tarjeta funciona muy bien y el software incluye un monitor que te muestra en todo momento la velocidad de subida y de bajado, los MBytes enviados y recibidos en la sesión y los acumulados:




       Lástima que no nos la podamos permitir para poder estar siempre conectados en cualquier sitio puesto que el bono que tiene contratado mi empresa es de 1 Gbyte de tráfico mensual por 30 euros al mes. Un poco cara para un particular...

    viernes, 13 de octubre de 2006

    De como dejé de ser Fonero

       Estaba esta tarde un poco ocioso esperando a que mi mujer volviera del trabajo y he pensado: ¿qué puedo hacer?. Creo que voy a reflashear mi router FON.

       La verdad es que ha sido más fácil de lo que pensaba en un principio. He estado leyendo en el foro de Fon unos cuantos post (1, 2, 3, 4 y 5) sobre el asunto y me he decidido.

       Como ya he dicho, todo ha sido muy fácil. He ido a la web de Linksys, en la opción de descargas he seleccionado el modelo de mi router (WRT54GL) y me he descargado la única versión del firmware que he encontrado. Luego, desde la web de administración del router que proporciona Fon he actualizado el firmware simplemente eligiendo al archivo WRT54GL_4.30.5_US_code.bin que acababa de descargar. En unos poco segundos se ha enviado el archivo al router y después de esperar un minuto para que terminara de actualizarlo, listo. He accedido a la web de administración y...




       ...ya me he deshecho de Fon. Lo único que me ha costado más ha sido activar el Wifi. En la web de administración estaba activo pero ni el NetStumbler me detectaba la red ni el led del router parpadeaba. He hecho un reset del router con el botón trasero y listo, Wifi activado. Después de esto he estado trasteando un poco con las opciones de seguridad de la red, cifrado WEP, WPA, filtrado por MAC,...

       Pues listo, ya tengo mi router wifi preparado y sólo me queda tener línea de teléfono y contratar un acceso a internet para empezar a sacarle todo el partido posible.

    lunes, 28 de agosto de 2006

    Recuperación de archivos de tarjetas SD

       En el viaje a Londres tuvimos un susto con una de las tarjetas de memoria SD de 1 GB. Después de casi 200 fotos que llevábamos durante el día la cámara de fotos se volvió loca, dio un mensaje de error diciendo que no se podía leer la tarjeta de memoria, y después de apagarla y encenderla decía que no había ninguna foto!!. Después del pánico y la rabia inicial por haber perdido todas esa fotos, metí la SD en la PDA y me decía que el espacio ocupado era 500 MB, aunque sólo mostraba unos cuantos archivos. Como el espacio estaba ahí pensé que no íba a tener problemas en recuperar las fotos cuando volviéramos a casa. Como medida de contingencia hice copia de seguridad de todas las fotos de la otra SD en la tarjeta de la PDA y borramos esa tarjeta para seguirla utilizando los días que nos quedaban y dejar la que se nos estropeó sin tocar.

       Cuando volvimos a casa y pude engancharme a internet en el ordenador de mi cuñada (recuerdo que seguimos sin línea) hice una pequeña búsqueda en Google y encontré muchas utilidades para recuperar la información de las tarjetas SD. Como la mayoría de las aplicaciones eran de pago, utilicé a mi gran amigo Emule ;-) y 15 minutos después tenía para probar 4 ó 5 programas.

       Finalmente, después de realizar algunas pruebas me quedé con Digital Picture Recovery y con File Recovery for SD. Con ambos pude recuperar las fotos (finalmente fueron 187 fotos), aunque con el primero de ellos hubo 4 ó 5 que quedaron corruptas. Al final las renombré y las pusé en orden y todo se quedó en un pequeño susto.

       Lo más importante en estos casos de borrado accidental de archivos, formateos,... es no seguir utilizando la tarjeta de memoria, disco duro, lo que sea, para que la información no se sobreescriba. Teniendo esto en cuenta, siempre que el dispositivo sea reconocido por el ordenador, es bastante probable que se pueda recuperar la información.

    miércoles, 23 de agosto de 2006

    GPS en un avión

       En nuestro reciente viaje a Londres me llevé la PDA para utilizarla por allí. Durante el viaje en avión, excepto en el despegue y aterrizaje se puede utilizar sin problemas, así que una vez que despegamos de Madrid-Barajas, saqué el GPS, lo puse en la ventanilla y una vez posicionado encendí el TomTom. Los resultados creo que hablan por sí sólos en las siguientes capturas:






    Íbamos a más de 800 kilómetros por hora, por eso, cuando me quise dar cuenta ya estábamos en Burgos y poco tiempo después ya habíamos llegado casi a Bilbao:







       Del magnífico VisualGPSce tomé estas capturas que muestran los resultados finales:










       En la última de ellas se ven la latitud, la longitud y la altura. La desviación estándar de la latitud es de casi 3 kilómetros y la de la longitud es de 580 metros. Sin embargo, se puede ver que la altura de vuelo es de 11848 metros y la desviación es de sólo 2 metros. Está claro que debido a la velocidad -en este caso de 757 kilómetros hora-, la latitud y la longitud no pueden ser muy exactas.

    domingo, 20 de agosto de 2006

    Las vacaciones en Londres

       Como ya conté, hemos estado 5 días en Londres en los que nos ha dado tiempo a ver muchas cosas:

       Jueves 03/08/06
    Madrid-Luton. Vuelo con Easyjet sin problemas, la verdad es que todo muy bien. Salimos a la hora prevista y dos hora y media después ya estábamos aterrizando. Después de recoger las maletas cogimos el bus 757 (Green Bus) que nos dejó en Baker Street. Desde ahí, 2 paradas en metro (comprando previamente la Travel Card) hasta Paddington y 3 minutos después ya estamos en el Norkfol Tower Hotel. Subimos, dejamos las maletas y nos bajamos a comer. Después fuimos hasta South Kensington y vimos el Science Museum. Es un museo gratuito relacionado con la ciencia. Había exposiciones de los medios de transporte desde la antigüedad hasta los cohetes espaciales, la evolución humana, la percepción,...




       Luego fuimos a Harrods (a una parada de metro). Es impresionante, es como El Corte Inglés pero 10 veces más grande y lujoso; hay zonas muy diferenciadas y esta dividido en cubículos con cada tema: platería, antigüedades, tecnología,... Es totalmente distinto a los centros comerciales de España que son diáfanos.










       Cuando salimos del Harrods por uno de los laterales vimos una calle cortada con muchísimos coches de lujo, todos con el volante en el lado izquierdo (como los españoles) y al lado todos los conductores/guardaespaldas. Este es uno de esos coches (en el reflejo del cristal se ven otros). Atención a la mátricula: Son todos indios/árabes de los que tienen muchísima pasta:



       Desde ahí fuimos a Hyde Park, donde después de dar una vuelta cogimos de nuevo el metro a Paddington (pasando por Notting Hill Gate) para volver al hotel. En el hotel pregunté donde comprar un adaptador de corriente y nos dijeron que por £5 de fianza nos prestaban uno.

       La impresión del primer día fue muy buena: cochazos por todos lados, gente con mucho dinero (sobre todo indios) y muy buen transporte en autobus.


       Viernes 04/08/06
    Visita al Palacio de Buckingham. Hicimos la visita de las habitaciones y el jardín. Presentando el carnet de estudiante nos ahorramos £3 cada uno; me parece que vamos a seguir siendo estudiantes toda la vida... ;-). El palacio de Buckingham nos encantó y además al entrar nos dieron unos cascos y una radio portatil con la que podíamos escuchar los comentarios de todas las estancias (en español por supuesto). Las 19 salas que vimos fueron cada cual mejor que la anterior, amplias salas, techos enormes, lamparas de araña, tapices, cuadros, esculturas,... todo muy interesante. Además, había una exposición temporal de los mejores vestidos de la reina. La visita duró 1 hora y media aproximadamente. Después de comprar una tarjeta telefónica para llamar a casa (en ese momento no había logrado conectarme a ninguna red wifi que no fuera de pago) estuvimos viendo la Abadía de Westminster (en la que también fuimos estudiantes).



    Por la tarde estuvinos viendo el la Catedral de Westminster, Houses of Parlament con su famosa campana el Big Ben, el 10 de Downing Street, Trafalgar Square (con la columna al Almirante Nelson), seguimos subiendo hasta Piccadilly Circus. Desde ahí seguimos paseando por Piccadilly Street hasta Old Bond Street y New Bond Street, dos de las calles con las mejores (más pijas) tiendas de Londres: Bulgari, Ralph Laurent, Cartier, Tiffany's,...









    Más tarde, y después de cenar decidimos ir a ver Londres por la noche:







       Sabado 05/08/06
    Por la mañana fuimos al London Eye, la impresionante noria que construyó en el año 2001 la British Airways que muestra unas vistas muy buenas de Londres. Después de una cola de unos 15 minutos (como llegamos pronto no tuvimos casi que esperar) montamos y dimos una vuelta en la noria de aproximadamente 30 minutos. Las vistas son impresionantes y se ve todo Londres.









    De ahí fuimos a The London Dungeon y esperamos casi una hora y media de cola!. Es un museo no muy conocido pero muy interesante para la gente que le guste el misterio y el terror. Fue una pena que no entendieramos suficientemente bien el inglés, porque sólo nos enteramos de frases sueltas, pero en general fue genial. La visita duró más de hora y media y nos contaron la historia de los asesinos en serie antiguos, la época de los piratas, la peste, el gran incendio,... No recomendado para miedosos.






    Por la tarde estuvimos viendo el Covent Gardent, un mercadillo muy concurrido con bastantes puestos y tiendecitas y después hicimos un crucero por el Támesis y para terminar el día visitamos la Catedral de San Paul que está en plena restauración como se puede ver.




       Domingo 06/08/06
    El domingo decidimos ir a Torre de Londres. Es el antiguo castillo-fortaleza en el que actualmente se guardan las joyas de la corona. Vimos el cambio de guardia, las armaduras, fusiles, cañones, maquetas a escala de cómo fue evolucionando el castillo a lo largo del tiempo, las salas de tortura a los prisioneros,...









    Como queríamos un día relajado, por la tarde volvimos a comprar al Science Museum y nos pasamos poco más de una hora por el Natural History Museum. Es como el museo de Ciencias Naturales de Madrid pero bastante más grande y con exposiciones muy interesantes. Vimos fosiles, mamíferos, como se formó el planeta tierra, el tronco de una sequoya de mas de 1300 años, distintos minerales, como se forman los volcanes,... y todo esto gratis!!. En definitiva, un museo que merece la pena visitar con tiempo para poder recorrerlo completo con calma. Pasamos el resto de la tarde relajados en un parque y fuimos a Harrods por la noche para hacer alguna foto a la iluminación.







       Lunes 07/06/06
    Nos levantamos temprano para terminar de hacer las maletas y después de dejarlas en el hotel nos fuimos al museo de cera Madame Tussaud's. Al principio todo fue genial, las figuras de cera estaban muy logradas y había algunas muy reales. Nos hicimos hecho fotos con Julia Roberts, Brad Pit, Morgan Freeman, Johny Deep,... La visita estuvo muy bien, pero llegó un momento en que nos montamos en una atracción de feria, una especie de trenecito -realmente taxis para dos personas-, que nos hizo un recorrido por unos muñecos animados que nos contaron la historia de Londres: la peste, el incendio, la posterior reconstrucción,... Como ya he dicho, todo genial, pero resulta que después de esto pasamos a un auditorio donde nos pusieron un video (que no venía a cuento) y cuando salimos se nos quedó cara de tontos porque el unico sitio al que podiamos ir era a una tienda de regalos y a la salida!!!. Nos sentimos estafados, porque después del dinero que costó la entrada todo terminó muy rapido. Además, como la ultima sala por la que pasamos fue la de los taxis, no habia posibilidad de volver hacia atras y ver de nuevo las figuras con más calma. Finalmente, como todavia teniamos tiempo suficiente volvimos de nuevo al museo de historia natural y completamos el resto de la visita que no nos dio tiempo el día anterior. Luego comimos, cogimos las maletas en el hotel y de nuevo con el autobus 757, 1 hora de viaje hasta Luton. Esta vez el vuelo salió con una hora de retraso y llegamos a Madrid-Barajas a las 22:00.


       Una de las cosas que más me ha llamado la atención han sido los coches. No he visto en ninguna ciudad (ni siquiera en Mónaco en la luna de miel) tantos cochazos como en Londres. Fueras por donde fueras sólo había coches de lujo. Vimos BMW 545, 730, M3, Z4, M6; Mercedes: Slr, Slk, S500; Lexus, Audis A6 y A8,... En 30 minutos de autobus vimos 3 limusinas de pelicula, Bentleys, algún Rolls, Porsches e incluso Ferraris y un Lamborghini Diablo.











       Autobuses: Londres tiene una red muy buena de autobuses (al menos por la zona turistica). Montamos en muchos autobuses, siendo la mayoría los típicos de 2 plantas. No tuvimos que esperar en nigún caso mas de 10 minutos y una vez que nos acostumbramos a circular por la izquierda y tomar las rotondas en sentido contrario disfrutamos de los desplazamientos.
    Respecto al Metro, al final va a ser verdad que el metro de Madrid vuela, porque el de Londres no es muy allá. Los vagones son muy antiguos y en hora punta hacía bastante calor en ellos. La red de metro es bastante extensa por el centro y comunica muy bien las zonas turísticas.
    Con la tarjeta Travel Card los desplazamientos nos han salido muy económicos, teniendo en cuenta que un billete sencillo de metro cuesta £3 (unos 4,5 €) y la verdad es que fue muy cómodo.


       Finalmente, llevarnos la PDA nos vino muy bien en algunos casos en los que estábamos un poco despistados y gracias al TomTom (con el correspondiente mapa del Reino Unido, claro) veíamos dónde estábamos y cómo ir a donde queríamos. Además, otro programa también imprescindible a sido Metro con los planos actualizados de Londres.

       Otra cosa que hacía a menudo cuando parábamos o sacaba la PDA para orientarnos era activar el wifi y abrir el WifiFoFum para buscar redes wifi. La verdad es que en Londres hay muchísimas redes, la mayoría de ellas con clave WEP, pero también había bastantes redes abiertas. La mayoría eran HotSpots de restaurantes, tiendas, hoteles a las que te conectabas sin problemas y en cuanto ponías cualquier página en el navegador automáticamente te redirigía a una página para comprar tiempo de conexión -pero a precio de oro-. Yo contaba con encontrar algún punto de acceso FON, pero nada, parece que en Londres tampoco termina de despegar. Finalmente un día, descansando un rato en un parque encontré una red abierta y estuve un rato conectado viendo el correo e intentando hablar con casa con el Skype, aunque finalmente no pude hablar porque la señal no era muy alta y se caía la conexión.
    P.D: Estas fotos son sólo una pequeña parte de las casi 900 que hemos hecho.

    martes, 1 de agosto de 2006

    Vacaciones en Londres

       Para desconectar y descansar un poco de todo lo relativo a la mudanza del nuevo piso, este año nos vamos de vacaciones a Londres 5 días. Creo que nos lo vamos a pasar muy bien, aunque también pienso que va a ser algo más relajado que cuando estuvimos en París el año pasado, porque ahora vamos más días. Así cargaremos las pilas para seguir haciendo cosas en el piso poco a poco.

       A ver si cuando volvamos tengo un rato y puedo poner alguna foto y contar alguna cosita, aunque con el poco tiempo libre que tenemos...

    martes, 25 de julio de 2006

    IP de clientes conectados a Tomcat

       Siguiendo con el artículo de Apache + Tomcat vamos a avanzar un poco más en la migración a la nueva arquitectura. La mayoría de los sistemas ya están migrados, pero aún quedan algunos, y viendo los logs de los tomcats, hay peticiones que no sabemos quién las está realizando.
       En el log del tomcat (al contrario que en Apache) no se queda almacenada la IP del cliente que realiza la petición, por lo que no podemos saber cuál es el sistema que la origina. En producción, obviamente, no podemos montar la solución de validación de Apache + Tomcat puesto que hay cuatro tomcats con un balanceador por delante y sería más complicado. Así, ayer estuve buscando cómo volcar en el log del tomcat la dirección ip de los clientes que realizan las operaciones. En este caso la solución es muy sencilla. Basta con añadir al archivo server.xml lo siguiente:

    <Valve className="org.apache.catalina.valves.AccessLogValve"
      directory="logs"  prefix="localhost_access_log."
      suffix=".txt "pattern="common" resolveHosts="false"/>


     Ahora, reiniciamos el tomcat, nos vamos al directorio logs, veremos creado el archivo nuevo de logs, y listo...

    172.24.88.172 - "POST ..."
    172.24.86.11 - "GET /dispatcher..."

       Intentaremos hacer este cambio en producción la semana que viene. Además nos va a servir para perseguir el origen de unas peticiones que no sabemos muy bien de donde vienen.

    viernes, 21 de julio de 2006

    Cobertura Wifi en casa

       La otra mañana, mientras esperaba a que vinieran los montadores de la cocina, me llevé el router wifi de Fon al piso nuevo, lo enchufé en la que presumiblemente va a ser la habitación de los ordenadores (y bien digo ordenadores en plural, aunque mi mujer no esté muy convencida) y me dispuse a comprobar la cobertura. Abrí el NetStumbler, acerqué la tarjeta de red wifi del portatil a una de las antentas del router hasta que la señal llegó a casi a cero, y a partir de ahí me fui paseando por toda la casa comprobando la señal que tenía. Aquí está el resultado:



       Como se puede ver, la señal no bajó casi en ningún momento del -50, por lo que, según la experiencia que tengo conectándome a redes wifi ajenas, no voy a tener ningún problema en toda la casa. De todas formas tendré que ver cuando haga alguna transferencia de archivos pesados, porque ahí si que se puede notar. Creo que va a ser una gozada estar tumbado en el sofa y con la pda poder ver qué tal está bajando el Emule en mi PC, ver el correo, chatear o lo que sea.

       Además, otra de las cosas que estuve haciendo es mirar cómo estaban las rosetas que han dejado en cada habitación únicamente con la tapa y una cuerda para poder hacer la instalación de lo que quiera de una manera fácil. Aunque tendré wifi, a lo mejor pongo algún cable de red en alguna zona del piso por si acaso.

    viernes, 14 de julio de 2006

    Punto de acceso FON

       Jose, un amigo y antiguo compañero de trabajo, está ahora trabajando para FON y hace unas semanas me envió un email diciendo que durante dos días los router wifi de Fon (Linksys WRT54GL) sólo costaban 1 euro + IVA (gastos de envío incluídos). No me lo pensé ni un segundo y encargué el mío, pensando que total, costaba sólo 1,16 euros y si no me interesaba no perdía mucho. Lo recibí ya hace algún tiempo pero hasta hace poco no lo he podido probar porque en el piso de alquiler no tengo internet y todavía no nos hemos mudado al nuevo.

       Lo conecté sin nigún problema al router de mi cuñada, me conecté con el portatil al nuevo punto de acceso Wifi y automáticamente al abrir el navegador y poner cualquier página web, el router me redirigía a la web de Fon. Ahí introducía mi usuario y mi contraseña y listo: A navegar con mi nuevo punto de acceso wifi. No me voy a poner a contar la filosofía de Fon puesto que está explicado aquí; sólo quiero destacar que me parece que la idea es bastante buena, aunque es cierto que todavía les queda mucho, pero que poco a poco si hay un poco de suerte y la gente empieza a compartir sus redes wifi, es posible que tengamos acceso en cualquier lugar.

       Cuando nos mudemos al nuevo piso veré qué hago finalmente (aunque para eso primero tenemos que contratar primero internet) y, si finalmente no me convence, actualizaré el firmware del router wifi y lo dejaré como viene de fábrica. Así podré tener al menos una LAN Wifi en mi casa para compartir archivos, mp3,...


    miércoles, 12 de julio de 2006

    Mi nuevo piso (II)

       Llegan los primeros problemas con el piso nuevo. La luz no se puede contratar con Iberdrola sino que tiene que ser con HC Energía. De esta empresa lo único que hemos oído es HC son las iniciales de Hidro Cantábrico, que es de Asturias y que está intentando expandirse por España. Algunos chalets de la zona de nuestro piso que construyeron hace ya unos cuantos años están funcionando con esta empresa. Según hemos visto en algunos foros y hablando con algunas personas parece que no hay problemas con ellos y son gente seria. Ya veremos qué tal...

       Hace un par de viernes tuvimos la reunión para la constitución de la comunidad de propietarios. Cuando llegamos y aparcamos en el garaje estaban por allí los comerciales de Ono intentando convencer a los vecinos de que nos diéramos de alta con ellos porque son los mejores. Además insistieron en que actualmente sólo es posible contratar el teléfono con ellos porque no hay cableado de Telefónica (cosa un tanto extraña porque el bloque de al lado tiene más de 25 años y tiene Telefónica seguro). El comercial, muy ilusionado él, nos contó la oferta que tienen actualmente de teléfono y llamadas a toda España por 20 euros y me pregunta (convencido de que mi respuesta va a ser positiva): "¿Qué te parece la oferta, a que es buena?". A lo que yo respondí con un rotundo: "Bueno, es normal, tan poco es para tanto". El tío se quedó todo extrañado y le dije que "ahora mismo hay ofertas de adsl y llamadas en el mercado por esos 20 euros que él decía". Insistía en que eso no era posible y mi mujer, un poco cansada del comercial le dijo: "Él sabe de lo que habla porque trabaja en el sector". Finalmente me tomó los datos y seguro que dentro de algunas semanas me vuelve a llamar dándole la lata para que me dé de alta con ellos.

       De momento lo que hice esa misma tarde fue llamar al 1004 para comprobar si había posibilidad de dar el alta con Teléfonica y me dijeron que sí, que no había problemas. Como ya me conozco los CAUs, al día siguiente volví a llamar y otro teleoperador me dijo que la única posibilidad de saber si podíamos tener la línea con telefónica era tramitando el alta y esperando a que los técnicos realicen la instalación. Si pueden todo resuelto, y si no, ya nos avisarían diciéndonoslo. De momento no hemos dado el alta porque vamos a esperar a terminar la mudanza, volver de las vacaciones,...

    martes, 11 de julio de 2006

    Los horarios en el trabajo

       Aún a riesgo de defraudar a Alex que en su último post me pide más post técnicos, no puedo dejar de escribir de algo que acabo de leer hace unos minutos.

       Nosotros estamos en la misma situación, aunque sin niños (de momento). Estos días hemos estado liados con la firma del piso y todo lo que ello conlleva y hemos pasado por lo mismo. Yo tuve que salir antes para llegar a tiempo a la notaría y ese mismo día por la noche estaba llamando a mi jefe para decirle que el día siguiente iba a llegar más tarde para terminar de solucionar lo que nos quedaba pendiente del piso. No he tenido ningún problema. Llegué a eso de las 12:00 y lo primero que hice fue charlar con mi jefe sobre la firma de las escrituras, el garaje,...

       ...Justo todo lo contrario que a mi mujer, que le ocurre exactamente lo mismo que a la del Consultor Anónimo. Pobre de mi mujer como se le ocurra llegar 5 minutos tarde o intentar salir un poco antes, porque ya tiene que estar dando explicaciones a media empresa. Y luego encima el %&$@~# de su jefe le hace recuperar las horas!!.

    viernes, 7 de julio de 2006

    Apache + Tomcat + Redirección + Ocultamiento de puertos

       En el trabajo tenemos una arquitectura un tanto particular para comunicar los sistemas entre sí. En lugar de que se llamen unos a otros de manera incontrolada, todos tienen que utilizar un middleware comun llamado dispatcher que, en función de un parámetro que es el código de la operación que se quiere realizar, llama al sistema apropiado pasándole los parámetros necesarios. Ocurre que este dispatcher es una "simple" aplicación web corriendo en un tomcat y se está migrando a una nueva plataforma. Antes de esta migración definitiva lo que está montado es que el dispatcher reenvía todas las operaciones a la nueva plataforma, ésta se comunica con el sistema final, reenvía la respuesta al dispatcher y éste finalmente responde.

       En el entorno de validación, que es el que nosotros administramos, para ir acostumbrando a la gente a utilizar la nueva arquitectura hemos decidido capar diversas operaciones (si no les funcionan van a tener que migrar forzosamente) de una forma elegante y transparente para desarrollo. Vamos a montar un apache "delante" del tomcat, levantado en su mismo puerto que redirija todas las peticiones al tomcat, que estará levantado en otro puerto. Además, en el apache caparemos diversas operaciones para mostrar un mensaje de error y cuando se realice la redirección de las operaciones correctas, mantendremos el puerto del tomcat oculto.

    Configuración en Apache
    Hemos utilizado la versión 1.3.26 de Apache y el sistema operativo en el que corre es Solaris 8.
    En el archivo httpd.conf hemos añadido las siguientes líneas.

    Conector de Tomcat:
    LoadModule jk_module libexec/mod_jk.so
    AddModule mod_jk.c


    Definición de las operaciones que queremos capar:
    RewriteEngine on
    RewriteLog "logs/rewrite_log"
    RewriteLogLevel 2
    Options +FollowSymLinks
    RewriteCond %{THE_REQUEST} .*OPERACION_01.* [OR]
    RewriteCond %{THE_REQUEST} .*OPERACION_02.* [OR]
    ...
    RewriteCond %{THE_REQUEST} .*OPERACION_N.* [OR]
    RewriteRule dispatcher /error_dispatcher.xml [PT]


    Redirección al tomcat:
    JkWorkersFile /ruta/del/apache/conf/workers.properties
    JkLogFile /ruta/del/apache/logs/mod_jk.log
    JkLogLevel info
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
    JkRequestLogFormat "%w %V %T"
    JkMount /* worker1

    Creamos el worker.properties:
    # Define 1 real worker using ajp13
    worker.list=worker1
    # Set properties for worker1 (ajp13)
    worker.worker1.type=ajp13
    worker.worker1.host=IP_DE_LA_MAQUINA
    worker.worker1.port=8009
    worker.worker1.lbfactor=50
    worker.worker1.cachesize=10
    worker.worker1.cache_timeout=600
    worker.worker1.socket_keepalive=1
    worker.worker1.recycle_timeout=300


       Y listo. Reiniciamos el tomcat y el apache y haciendo una prueba vemos que las operaciones "prohibidas" se redirigen al mensaje de error definido y el resto se resuelven por el tomcat.

    miércoles, 5 de julio de 2006

    Mi nuevo piso

       El pasado martes 27 de Junio firmamos por fín las escrituras del piso. Después de 6 meses de retraso ya tenemos las llaves!!. Tanto tiempo esperando y al final, en 10 minutos miras las escrituras, el notario comprueba que eres quien dices ser con el dni, hechas una firma y listo. Te dan las llaves y corriendo a ver tu nuevo piso.
       Ahora viene lo peor: limpiar, empaquetar todas las cosas y hacer la mudanza; y lo mejor: irnos del piso de mierda de alquiler en el que estamos viviendo. En fin, todo poco a poco.

    martes, 20 de junio de 2006

    Estoy harto del fútbol

       Me parece genial que a la gente le guste el fútbol, que España juegue en el mundial e incluso que ganen, pero vale ya de tanto fútbol. ¿Por qué si el mundial sólo lo retransmiten en una cadena (dos con los partidos de España), tengamos que sufrirlo en el resto de cadenas?. Ayer CSI empezó a las 22:50, justo cuando acabó el partido de fútbol, alargaron el Cámera Café, pusieron minutos y minutos de anuncios, y por fín, justo cuando terminó el maldito fútbol se dignaron a comenzar con la serie.

       Aunque no sé de qué me quejo, ya debería estar acostumbrado, en este país lo único que hay es prensa rosa, fútbol y toros, así nos vá. No me extraña que seamos los últimos de Europa para todo y que nos consideren que somos el norte de África.

    jueves, 1 de junio de 2006

    Los periodistas y Rocío Jurado

       Me parece estupendo que estén dando cierta cobertura a Rocío Jurado por ser un personaje público, pero se están pasando un poco. Ayer por la noche en casa tuve que cambiar de canal unas cuantas veces porque no había otras noticias, en los periódicos igual, el fin de semana pasado Salsa Rosa batió records... Esto ya huele un poco. Creo que deberían dejar a la familia en paz.

       Cuanta gente importante (y mucho más que ella) ha estado en la misma situación y prácticamente no se ha dicho nada. Si es que en este país es todo igual, lo único que importa son las noticias de corazón, futbol y poco más.

       ACTUALIZACION: Me acabo de enterar que esta noche ha fallecido. Uffff, miedo me da lo que nos espera en televisión. Va a ser una buena época para ver alguna serie nueva o leer algún libro.

    jueves, 18 de mayo de 2006

    Ya soy Ingeniero...


       ...bueno, en verdad lo soy desde hace ya 2 años en que leí mi Proyecto Fin de Carrera (realmente hace casi 4 porque cuando uno termina la carrera y empieza a trabajar siempre deja un poco de lado el proyecto), pero por fín tengo el título. Parecía que no iba a llegar nunca!!

       Mira que parece fácil, hacer un papelito poner un par de sellos y de firmas y listo. Y para todo eso 2 largos años!. En fin, mejor tarde que nunca.

    martes, 9 de mayo de 2006

    El bote de Pasapalabra

       Por fin han dado el bote de Pasapalabra, ni más ni menos que 2.190.000 euros!!. No es que dude de la inteligencia del concursante, pero se ha notado muchísimo que querían dar el premio porque han rebajado demasiado el nivel. Yo no veía pasapalabra todos los días, pero hubo una temporada (cuando ya habían sobrepasado el millón de euros) en que en cada rosco había palabras que no debían conocer más de 4 ó 5 personas en toda España. Los concursantes pasaban muchas, y cuando se arriesgaban a decir alguna de las complicadas fallaban casi siempre y al oir la palabra buscada se les quedaba cara de tontos pensando que todavía quedaban 7 u 8 palabras más como esas que no iban a averiguar ni de casualidad.
       Para los que no nos ha tocado ni el bote ni la lotería, tendremos que seguir madrugando y viniendo a trabajar cada día.