Hace más de un mes implementamos en nuestros servidores perimetrales un sistema para bloqueo de spam, en vista de la inoperancia de los sistemas tradicionales basados en el análisis de contenidos.
Desde hace algunos meses, los spammers están evolucionando hacia un nuevo tipo de correo incrustado en imágenes, de forma que los tradicionales filtros bayesianos o de reglas que se basan en el contenido disminuyen terriblemente en cuanto a eficacia. Esto está provocando que otros sistemas alternativos que hasta la fecha no habían tenido demasiada importancia hayan subido muchos puntos en la lucha contra el spam y se revelen como los únicos realmente efectivos. Dos aproximaciones toman especial interés: el reconocimiento de imágenes mediante sistemas de OCR y los sistemas de greylisting (listas grises).
Mientras que el primero requiere una gran cantidad de recursos por parte de los diferentes sistemas de análisis (aplicar un filtro de reconocimiento de caracteres implica un gran consumo de CPU y memoria, especialmente en sistemas con mucha carga), el segundo apenas requiere implementación y es de una simpleza asombrosa.
Un sistema de greylisting consiste en rechazar todo correo de aquellos remitentes que no conocemos durante un período de tiempo determinado. El sistema, al recibir un correo de un usuario (origen@dominio.com) para uno de nuestros destinatarios en particular (destinatario@midominio.com) a partir de una IP en concreto (iporigen) comprueba si en una base de datos local dicha "tripla" está permitida (origen,destinatario,iporigen). Si aparece en la lista, el correo automáticamente entra en nuestro sistema y se procesa directamente. Por el contrario, si no aparece, se rechaza con un código 550 (rechazo temporal) y se añade la tripa (origen,destiantario,iporigen) a nuestra lista. Al recibir este código, el servidor que envió el correo lo encola y lo volverá a intentar pasado un tiempo (de unos minutos a un par de horas). Esta segunda vez, el correo se volverá a chequear contra nuestra base de datos, pero como previamente se añadió la entrada a nuestro sistema, esta vez se acepta.
¿Y qué aporta este sistema si cualquier spammer puede intentar reenviar el mensaje al cabo de una hora? Pues bien, los spammers no se paran a comprobar que un correo está bien recibido. Simplemente lo intentan, y si entra fantástico. Si no entra, se descarta. Son sistemas preparados para procesar millones de direcciones, no para garantizar su entrega. Además utilizan máquinas de terceros que han sido infectadas por troyanos y que, por lo tanto, no tienen un sistema de envío de correo SMTP completo. De esta forma, ese primer "rechazo" hace que nuestro spammer no consiga su objetivo y el correo se pierda y no entre en nuestros sistemas.
El retardo también sirve para que si un spam vuelve a intentar entrar, nuestro sistema secundario basado en listas negras ya haya podido recibir la información de las listas antispam (pyzor, razor2, etc) que existen por internet y que en pocas horas estarán al día.
Además de almacenar la tripa "origen,destino,iporigen", también almacenamos el número de veces que esa tripa se usa, esto es, el número de mensajes recibidos desde una ip para uno de nuestros destinatarios y el tiempo pasado desde la última vez que se recibió. Esta información extra se utiliza para limpiar nuestra base de datos de spam que una vez intentó entrar y ahora se ha rechazado (esto es, spam que solo tiene un intento de entrada en nuestro sistema). Así la base se mantiene en un número de entradas razonables.
A día de hoy, greylisting es posiblemente el mejor sistema en relación coste/beneficio en la lucha contra el spam. La única pega es el posible retardo que a algunos usuarios puede incomodar, pero este retardo es solo con el primer correo recibido desde un determinado usuario. No hay efectos secundarios de correos legítimos rechazados salvo en casos de que el origen utilice un MTA con una mala implementación que no sepa interpretar un "rechazo temporal". Afortunadamente esto es extremadamente raro.
Eso sí, un sistema de greylisting siempre ha de complementarse con sistemas tradicionales basados en RBL (Relay Blocking List), listas negras/blancas (pyzor, razor, etc) para que el sistema antispam sea un sistema efizar y robusto.
¿Efectivo? Ciertamente. MUY EFECTIVO. Nuestro índice de spam se ha reducido en un 90%, y la mayor parte de ese 10% que entra es spam legítimo, esto es, aquellos correos comerciales de los cuales nos podemos dar de baja sin el menor problema.
2006/12/25
De vuelta tras las vacaciones de diciembre
De nuevo estoy de vuelta por Madrid, tras unas vacaciones en Cuba.
Curioso país. Por un lado comunista, por otro completamente capitalista. El sistema es incapaz de garantizar la solvencia de sus ciudadanos, los cuales no tienen más remedio que buscarse la vida en la más absoluta jungla social. El resultado, es un sistema que es más capitalista que haya conocido, una doble vida y una doble cara de un sistema que se revela completamente inoperante tras la caída del bloque soviético. El único punto bueno que se le puede sacar es que ha mantenido un fuerte sistema educativo en funcionamiento a pesar de las dificultades y que la gente no se muere de hambre como sucede en otros países de lationamérica. Gran logro, si tenemos en cuenta el bloqueo que sufre la isla desde hace medio siglo.
El futuro nos dirá que le depara a esta isla tras el fin del reinado de Castro. Esperemos que sea para mejor, si bien es curiso que ni los propios cubanos lo ven claro. El "Señor Oscuro" acecha desde el otro lado del estrecho de Florida. :)
Curioso país. Por un lado comunista, por otro completamente capitalista. El sistema es incapaz de garantizar la solvencia de sus ciudadanos, los cuales no tienen más remedio que buscarse la vida en la más absoluta jungla social. El resultado, es un sistema que es más capitalista que haya conocido, una doble vida y una doble cara de un sistema que se revela completamente inoperante tras la caída del bloque soviético. El único punto bueno que se le puede sacar es que ha mantenido un fuerte sistema educativo en funcionamiento a pesar de las dificultades y que la gente no se muere de hambre como sucede en otros países de lationamérica. Gran logro, si tenemos en cuenta el bloqueo que sufre la isla desde hace medio siglo.
El futuro nos dirá que le depara a esta isla tras el fin del reinado de Castro. Esperemos que sea para mejor, si bien es curiso que ni los propios cubanos lo ven claro. El "Señor Oscuro" acecha desde el otro lado del estrecho de Florida. :)
2006/11/15
Virtualización: ¿el futuro está aquí?
Mucho se ha hablado y se está hablando del término virtualización. Desde hace unos cuantos años este término aparece y se repite habitualmente en los círculos de tecnólogos, administradores de sistemas y otros, aunque hasta hace poco no había pasado más allá de ser un tema más de conversación sobre tecnología puntera que promete pero no acaba de consolidarse.
Aplicado a sistemas de información, la virtualización no es ni más ni menos que, a partir de una plataforma hardware, ejecutar un programa de "virtualización" que oculta el hardware que hay por debajo creando una máquina emulada por software.
Las aplicaciones de la virtualización son inumerables. Por un lado, permite reaprovechar al máximo los recursos hardware de la máquina. Gran parte de la plataforma de servidores instalada hoy en día está la mayor parte del tiempo ociosa, o no se destina el 100% de su potencia a las tareas asignadas porque simplemente la unidad de procesamiento no tiene más que hacer. Esos espacios muertos de tiempo pueden ser empleados para que otra tarea se lleve a cabo. El contar con una plataforma virtualizada implica que podemos tener de forma simultánea varias máquinas virtuales corriendo aplicaciones en nuestra máquina de forma completamente independiente. Esto no sería en sí una gran ventaja (podemos tener un servidor con múltiples aplicaciones instaladas) si no fuera por la seguridad que añadimos a la hora de ejecutar aplicaciones en entornos aislados: si nos falla una máquina virtual las otras permanencen impasibles. También permite asignar recursos bajo demanda a una máquina virtual cuando los necesite: procesador, memoria, etc, permitiendo en nuestra plataforma virtual ir añadiendo recursos o eliminando según se vayan necesitando o desplazando máquinas a o desde nuesta plataforma real según se vaya necesitando.
Esta es la segunda gran ventaja de la virtualización: la seguridad. El mantener entornos completamente estancos e independientes, aun siendo dentro de la misma plataforma, implica que si uno de nuestros servicios sufriera una interrupción por un mal funcionaminto del programa, la caída únicamene afectaría a dicha máquina y no al resto de máquinas virtuales que se ejecuten. Es como tener varios servidores, cuando en realidad solo tenemos uno.
La tercera gran ventaja es la versatilidad. Para determinadas aplicaciones (entornos de desarrollo y pruebas), el estar constantemente instalando, desinstalando y reinstalado sistemas operativos es una tarea común. Las máquinas virtuales nos permiten que, en cuestión de segundos, cambiemos una máquina por otra igual que si cambiáramos un disco duro de nuestro PC con un sistema operativo por otro disco duro completamente distinto. Si a esto añadimos que se nos permite realizar snapshots (fotos de estado en un momento dado), tenemos la posibilidad de volver a un estado anterior en cuestión de segundos. Podemos imaginarnos a un equipo de testing y calidad probando inumerables versiones de un mismo producto y desinstalándolas, sin ni siquiera tocar una tecla, dejando la máquina como estaba minutos antes.
A partir de estas premisas las aplicaciones son innumerables. Desde consolidar diferentes servidores ubicados en máquinas distintas mal aprovechadas dentro de una máquina más potente donde se ejecutan sus respectivas máquinas virtuales hasta que equipos de evaluación de software no requieran de una segunda o incluso tercera máquina para realizar sus pruebas y pueden lenvantar distinas máquinas con distintos sistemas operativos en cuestión de segundos según sus necesidades. Los beneficios cubren distintas y variadas áreas: desarrolladores, centros de proceso de datos, departamentos de sistemas, etc.
En el caso de servicios de alta disponibilidad, en caso de caída o mal funcionamiento de una plataforma hardware, podemos trasladar la máquina virtual en cuestión de minutos (o segundos si utilizamos almacenamiento compartido) a una nueva plataforma hardware completamente distinta y ponerla a funcionar sin tener que reconfigurar absolutamente nada.
Actualmente, la virtualización se está popularizando debido a una serie de avances técnicos, tanto a nivel hardware como software, que hacen que a día de hoy sea una alternativa a los servidores tradicionales a tener muy en cuenta. Por un lado, el desarrollo de los procesadores ha alcanzado un grado de desarrollo muy alto con la intruducción de micros de doble núcleo (Intel acaba de lanzar sus procesadores de cuatro núcleos). Este incremento en el número de unidades de ejecución en los microprocesadores hace que el coste de hardware en relación a su potencia se haya reducido considerablemente. Una máquina de ocho procesadores que hace unos pocos años costaba miles de euros podría reducir su coste al de una máquina de dos procesadores si utiliza pastillas de cuatro núcleos. Por otro lado, la reducción del precio de la memoria RAM y disco duro hace que estén a disposición del consumidor grandes espacios de almacenamiento a precio reducido. Paradójicamente, el tamaño de las aplicaciones y datos a almacenar no ha aumentado a una velocidad tan vertiginosa, por lo que de facto hoy en día sobra mucho espacio en la mayoría de los servidores. Finalmente, los nuevos procesadores que surgen en el mercado vienen preparados específicamente para facilitar al desarrollador de máquinas virtuales mecanismos para mejorar el rendimiento de sus entornos emulados.
Por otro lado, el desarrollo del software de virtualización tampoco se ha quedado atrás, y a los tradicionales productos comerciales como VMWare o Microsoft Virtual Machine se han añadido alternativas opensource, algunas con más éxito que otras, como Xen, Qemu o Boschs.
Evidentemente no todo son ventajas en el área de la virtualización, y sus detractores argumentan que el rendimiento se resiente, especialmente en aplicaciones con muchas operaciones de entrada / salida o que un fallo hardware en un servidor que incluya varias máquinas virtuales haría que todas esas máquinas dejaran de funcionar.
En cualquier caso, recomiendo a cualquiera que esté interesado que evalúe las herramientas que a día de hoy existen en el mercado, experimente y vea la facilidad y versatilidad que un sistema basado en máquinas virtuales pueda aportar. A día de hoy existen alternativas gratuítas (tanto comerciales como opensource) más que de sobra para hacerse una idea.
VMWare Server: http://www.vmware.com
Microsoft Virtual PC: http://www.microsoft.com/spain/windows/virtualpc/default.mspx
Qemu: http://www.qemu.org
Xen: http://www.cl.cam.ac.uk/research/srg/netos/xen/
Bochs: http://bochs.sourceforge.net
Aplicado a sistemas de información, la virtualización no es ni más ni menos que, a partir de una plataforma hardware, ejecutar un programa de "virtualización" que oculta el hardware que hay por debajo creando una máquina emulada por software.
Las aplicaciones de la virtualización son inumerables. Por un lado, permite reaprovechar al máximo los recursos hardware de la máquina. Gran parte de la plataforma de servidores instalada hoy en día está la mayor parte del tiempo ociosa, o no se destina el 100% de su potencia a las tareas asignadas porque simplemente la unidad de procesamiento no tiene más que hacer. Esos espacios muertos de tiempo pueden ser empleados para que otra tarea se lleve a cabo. El contar con una plataforma virtualizada implica que podemos tener de forma simultánea varias máquinas virtuales corriendo aplicaciones en nuestra máquina de forma completamente independiente. Esto no sería en sí una gran ventaja (podemos tener un servidor con múltiples aplicaciones instaladas) si no fuera por la seguridad que añadimos a la hora de ejecutar aplicaciones en entornos aislados: si nos falla una máquina virtual las otras permanencen impasibles. También permite asignar recursos bajo demanda a una máquina virtual cuando los necesite: procesador, memoria, etc, permitiendo en nuestra plataforma virtual ir añadiendo recursos o eliminando según se vayan necesitando o desplazando máquinas a o desde nuesta plataforma real según se vaya necesitando.
Esta es la segunda gran ventaja de la virtualización: la seguridad. El mantener entornos completamente estancos e independientes, aun siendo dentro de la misma plataforma, implica que si uno de nuestros servicios sufriera una interrupción por un mal funcionaminto del programa, la caída únicamene afectaría a dicha máquina y no al resto de máquinas virtuales que se ejecuten. Es como tener varios servidores, cuando en realidad solo tenemos uno.
La tercera gran ventaja es la versatilidad. Para determinadas aplicaciones (entornos de desarrollo y pruebas), el estar constantemente instalando, desinstalando y reinstalado sistemas operativos es una tarea común. Las máquinas virtuales nos permiten que, en cuestión de segundos, cambiemos una máquina por otra igual que si cambiáramos un disco duro de nuestro PC con un sistema operativo por otro disco duro completamente distinto. Si a esto añadimos que se nos permite realizar snapshots (fotos de estado en un momento dado), tenemos la posibilidad de volver a un estado anterior en cuestión de segundos. Podemos imaginarnos a un equipo de testing y calidad probando inumerables versiones de un mismo producto y desinstalándolas, sin ni siquiera tocar una tecla, dejando la máquina como estaba minutos antes.
A partir de estas premisas las aplicaciones son innumerables. Desde consolidar diferentes servidores ubicados en máquinas distintas mal aprovechadas dentro de una máquina más potente donde se ejecutan sus respectivas máquinas virtuales hasta que equipos de evaluación de software no requieran de una segunda o incluso tercera máquina para realizar sus pruebas y pueden lenvantar distinas máquinas con distintos sistemas operativos en cuestión de segundos según sus necesidades. Los beneficios cubren distintas y variadas áreas: desarrolladores, centros de proceso de datos, departamentos de sistemas, etc.
En el caso de servicios de alta disponibilidad, en caso de caída o mal funcionamiento de una plataforma hardware, podemos trasladar la máquina virtual en cuestión de minutos (o segundos si utilizamos almacenamiento compartido) a una nueva plataforma hardware completamente distinta y ponerla a funcionar sin tener que reconfigurar absolutamente nada.
Actualmente, la virtualización se está popularizando debido a una serie de avances técnicos, tanto a nivel hardware como software, que hacen que a día de hoy sea una alternativa a los servidores tradicionales a tener muy en cuenta. Por un lado, el desarrollo de los procesadores ha alcanzado un grado de desarrollo muy alto con la intruducción de micros de doble núcleo (Intel acaba de lanzar sus procesadores de cuatro núcleos). Este incremento en el número de unidades de ejecución en los microprocesadores hace que el coste de hardware en relación a su potencia se haya reducido considerablemente. Una máquina de ocho procesadores que hace unos pocos años costaba miles de euros podría reducir su coste al de una máquina de dos procesadores si utiliza pastillas de cuatro núcleos. Por otro lado, la reducción del precio de la memoria RAM y disco duro hace que estén a disposición del consumidor grandes espacios de almacenamiento a precio reducido. Paradójicamente, el tamaño de las aplicaciones y datos a almacenar no ha aumentado a una velocidad tan vertiginosa, por lo que de facto hoy en día sobra mucho espacio en la mayoría de los servidores. Finalmente, los nuevos procesadores que surgen en el mercado vienen preparados específicamente para facilitar al desarrollador de máquinas virtuales mecanismos para mejorar el rendimiento de sus entornos emulados.
Por otro lado, el desarrollo del software de virtualización tampoco se ha quedado atrás, y a los tradicionales productos comerciales como VMWare o Microsoft Virtual Machine se han añadido alternativas opensource, algunas con más éxito que otras, como Xen, Qemu o Boschs.
Evidentemente no todo son ventajas en el área de la virtualización, y sus detractores argumentan que el rendimiento se resiente, especialmente en aplicaciones con muchas operaciones de entrada / salida o que un fallo hardware en un servidor que incluya varias máquinas virtuales haría que todas esas máquinas dejaran de funcionar.
En cualquier caso, recomiendo a cualquiera que esté interesado que evalúe las herramientas que a día de hoy existen en el mercado, experimente y vea la facilidad y versatilidad que un sistema basado en máquinas virtuales pueda aportar. A día de hoy existen alternativas gratuítas (tanto comerciales como opensource) más que de sobra para hacerse una idea.
VMWare Server: http://www.vmware.com
Microsoft Virtual PC: http://www.microsoft.com/spain/windows/virtualpc/default.mspx
Qemu: http://www.qemu.org
Xen: http://www.cl.cam.ac.uk/research/srg/netos/xen/
Bochs: http://bochs.sourceforge.net
2006/11/14
3G/UMTS con Linux Ubuntu Edgy / Feisty
*** Actualizado a 8/5/2007 con comentarios para Ubuntu 7.04 (FEISTY) ***
Bueno, tras un poco de investigación finalmente he conseguido hacer funcionar mi Ubuntu Edgy en mi portátil con la conexión 3G/UMTS de alta velocidad (HSDPA). En mi caso, el operador que estoy usando es Orange, pero el procedimiento será válido tanto con Movistar como Vodafone, y posiblemente también con otros operadores internacionales (me basé en un thread de un foro alemán sobre Vodafone.de).
Nota: Feisty (Ubuntu 7.04) ya trae compilado el módulo de NOZOMI, por lo que esta sección del tutorial se puede omitir y pasar directamente a instalar gcom.
Lo primero, por supuesto, es verificar la tarjeta a utilizar. En mi caso es una QUADCOMM GT 3G+ del servicio Bussiness Everywhere de Orange.
Así pues, empezaremos por traernos el módulo para que funcione nuestra tarjeta, que es el "nozomi". Para ello
sudo apt-get install nozomi-source linux-headers-2.6.17-10-generic
Nota: Sustituye linux-headers-2.6.17-10-generic por la versión de kernel que tengas. Puedes verla con el comando uname -a
Esto nos va a traer el código fuente del módulo, el cual deberemos compilar y modificar.
Con el kernel 2.6.17 deberemos parchear un fuente para que nos funcione, así pues, iremos a
cd /usr/src
tar -jxvf nozomi-source.tar.bz2
cd modules/nozomi
sudo vim nozomi.c
Y nos vamos a la lína 966, sustituyendo esto:
if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
por esto:
if (tty_buffer_request_room(tty, i) < face="georgia">A continuación compilaremos el módulo y lo instalaremos
sudo make
sudo mkdir /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo cp nozomi.k /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo depmod -a
Nota: Ajusta 2.6.17-10-generic a tu versión de kernel.
Si hemos llegado hasta aquí es que todo va bien. Ahora deberemos comprobar que el módulo nos funciona adecuadamente. Para ello, comprueba que el módulo PCMCIA está operativo, cargamos el módulo de nozomi y verificamos en el log del kernel:
sudo /etc/init.d/pcmciautils start
sudo modprobe nozomi
dmesg
Deberá aparecer algo así en el log:
[17243729.156000] ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 16 (level, low) -> IRQ 169
[17243729.156000] Nozomi driver nozomi_tty<6>[792] nozomi_read_config_table(): Version of card: 3
[17243729.468000] [784] nozomi_read_config_table(): Initialization OK!
Verfica además, que los siguientes dispositivos existen:
ls /dev/noz*
Llegado a este punto, y si están los dispositivos creados, necesitaremos unos nuevos paquete para manejar adecuadamente la tarjeta.
sudo apt-get install gcom wvdial
Una vez instalados, comenzaremos las pruebas para ver si la tarjeta funciona.
sudo gcom -d /dev/noz0 info
Deberá devolver algo como esto:
##### GlobeTrotter Configuration #####
Manufacturer Text: Option
IMEI and Serial Number: XXXXXXXXXXXXXXXXXXXXXX
Manufacturer's Revision: (Date: May 31 2006, Time: 15:49:25)
Hardware Revision: 2.2
Network Locked: 1
Customisation: Not defined
Band settings: Europe 900/1800MHz (4)
Auto Attach:
##### END #####
A continuación, introducimos el PIN:
sudo gcom -d /dev/noz0
Tras pedirnos el PIN, devolverá algo tal que así:
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 31,99
Finalmente, comprobaremos los operadores y que todo va bien
sudo gcom -d /dev/noz0 /usr/share/doc/gcom/examples/operator
Devolverá algo tal que así:
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 30,99
Getting Operator list: ..................
+COPS: (1,"E AMENA","AMENA","21403",0),(2,"E AMENA","AMENA","21403",2),(1,"vodafone ES","voda ES","21401",0),(1,"vodafone ES","voda ES","21401",2),(1,"movistar","movistar","21407",0),(1,"movistar","movistar","21407",2),,(0, 1, 3),(0-2)
==============================================================
Format: (Access,Long Name, Short Name, Network ID [,Technology])
Access: 2 - Registered, 1 - Available, 3 - Forbidden
Technology: 0 - GSM/GPRS, 2 - UMTS (Not available on all cards)
Enter the Network ID to attempt manual registration
[blank = automatic selection]:
Registration request accepted
Command was: AT+COPS=0
Ahora que todo funciona, ya podemos proceder a realizar la conexión. Para ello configuraremos el wvdial:
sudo vim /etc/wvdial.conf
Nota: Tanto el username como la password deberá ser cambiada para que coincida con el operador que tengas. En el caso de Orange, es CLIENTE y AMENA, pero sé que en Movistar y Vodafone esto cambia. Mira en tu teléfono la configuración del servicio, pregunta en tu operador o consulta por internet.
De igual forma, deberás cambiar el APN. En el caso de Orange es "internet", pero cambiará igualmente con Vodafone y Movistar. El resto de la configuración debería ser la misma
[Dialer Defaults]
Phone = *99***1#
Username = CLIENTE
Password = AMENA
Stupid Mode = 1
Dial Command = ATDT
New PPPD = yes
[Dialer hsdpa]
Modem = /dev/noz0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
[Dialer 2gonly]
Init4 = AT+COPS=0,0,"internet",0
[Dialer 3gonly]
Init4 = AT+COPS=0,0,"internet",2
[Dialer orange]
Init5 = AT+CGDCONT=1,"IP","internet";
[Dialer 384k]
Init6 = AT+CGEQMIN=1,4,64,384,64,384
Init7 = AT+CGEQREQ=1,4,64,384,64,384
[Dialer 144k]
Init6 = AT+CGEQMIN=1,4,64,144,64,144
Init7 = AT+CGEQREQ=1,4,64,144,64,144
[Dialer 64k]
Init6 = AT+CGEQMIN=1,4,64,64,64,64
Init7 = AT+CGEQREQ=1,4,64,64,64,64
Modifica igualmente la configuración del wvdial para ppp:
sudo vim /etc/ppp/peers/wvdial
Con esta información:
plugin passwordfd.so
noauth
name wvdial
replacedefaultroute
noipdefault
nomagic
usepeerdns
ipcp-accept-local
ipcp-accept-remote
nomp
noccp
nopredictor1
novj
novjccomp
nobsdcomp
Finalmente comprobaremos que podemos conectarnos... y navegar!!!
sudo wvdial hsdpa orange
Deberemos ver una salida de este tipo:
--> WvDial: Internet dialer version 1.56
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet";
AT+CGDCONT=1,"IP","internet";
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 1800000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Tue Nov 14 11:16:57 2006
--> Pid of pppd: 15133
--> Using interface ppp0
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8
--> Connect time 0.1 minutes.
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8
Ahora que ya estamos dentro, podemos crearnos un script de inicialización que ejecutaremos cuando queramos conectarnos.
sudo touch /usr/bin/3G.sh
sudo chmod a+x /usr/vim/3G.sh
sudo vim /usr/bin/3G.sh
Script:
-----
#!/bin/bash
case $1 in
start | init)
echo "Cargando modulo"
sudo modprobe nozomi
echo "Inicializando tarjeta 3G"
sudo gcom -d /dev/noz0
wait
echo "Conectando"
sudo wvdial hsdpa orange
;;
eject)
echo "Ejectando tarjeta"
sudo pccardctl eject
echo "Ya puede retirar la tarjeta"
;;
* )
echo "Uso: 3G.sh [start|eject]"
Uso:
Para iniciar la conexión:
sudo 3G.sh start
Para finalizar la conexión: CTRL^C
Para sacar la tarjeta
sudo 3G.sh eject
Bueno, tras un poco de investigación finalmente he conseguido hacer funcionar mi Ubuntu Edgy en mi portátil con la conexión 3G/UMTS de alta velocidad (HSDPA). En mi caso, el operador que estoy usando es Orange, pero el procedimiento será válido tanto con Movistar como Vodafone, y posiblemente también con otros operadores internacionales (me basé en un thread de un foro alemán sobre Vodafone.de).
Nota: Feisty (Ubuntu 7.04) ya trae compilado el módulo de NOZOMI, por lo que esta sección del tutorial se puede omitir y pasar directamente a instalar gcom.
Lo primero, por supuesto, es verificar la tarjeta a utilizar. En mi caso es una QUADCOMM GT 3G+ del servicio Bussiness Everywhere de Orange.
Así pues, empezaremos por traernos el módulo para que funcione nuestra tarjeta, que es el "nozomi". Para ello
sudo apt-get install nozomi-source linux-headers-2.6.17-10-generic
Nota: Sustituye linux-headers-2.6.17-10-generic por la versión de kernel que tengas. Puedes verla con el comando uname -a
Esto nos va a traer el código fuente del módulo, el cual deberemos compilar y modificar.
Con el kernel 2.6.17 deberemos parchear un fuente para que nos funcione, así pues, iremos a
cd /usr/src
tar -jxvf nozomi-source.tar.bz2
cd modules/nozomi
sudo vim nozomi.c
Y nos vamos a la lína 966, sustituyendo esto:
if (tty->flip.count >= TTY_FLIPBUF_SIZE) {
por esto:
if (tty_buffer_request_room(tty, i) < face="georgia">A continuación compilaremos el módulo y lo instalaremos
sudo make
sudo mkdir /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo cp nozomi.k /lib/modules/2.6.17-10-generic/kernel/drivers/3G
sudo depmod -a
Nota: Ajusta 2.6.17-10-generic a tu versión de kernel.
Si hemos llegado hasta aquí es que todo va bien. Ahora deberemos comprobar que el módulo nos funciona adecuadamente. Para ello, comprueba que el módulo PCMCIA está operativo, cargamos el módulo de nozomi y verificamos en el log del kernel:
sudo /etc/init.d/pcmciautils start
sudo modprobe nozomi
dmesg
Deberá aparecer algo así en el log:
[17243729.156000] ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 16 (level, low) -> IRQ 169
[17243729.156000] Nozomi driver nozomi_tty<6>[792] nozomi_read_config_table(): Version of card: 3
[17243729.468000] [784] nozomi_read_config_table(): Initialization OK!
Verfica además, que los siguientes dispositivos existen:
ls /dev/noz*
Llegado a este punto, y si están los dispositivos creados, necesitaremos unos nuevos paquete para manejar adecuadamente la tarjeta.
sudo apt-get install gcom wvdial
Una vez instalados, comenzaremos las pruebas para ver si la tarjeta funciona.
sudo gcom -d /dev/noz0 info
Deberá devolver algo como esto:
##### GlobeTrotter Configuration #####
Manufacturer Text: Option
IMEI and Serial Number: XXXXXXXXXXXXXXXXXXXXXX
Manufacturer's Revision: (Date: May 31 2006, Time: 15:49:25)
Hardware Revision: 2.2
Network Locked: 1
Customisation: Not defined
Band settings: Europe 900/1800MHz (4)
Auto Attach:
##### END #####
A continuación, introducimos el PIN:
sudo gcom -d /dev/noz0
Tras pedirnos el PIN, devolverá algo tal que así:
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 31,99
Finalmente, comprobaremos los operadores y que todo va bien
sudo gcom -d /dev/noz0 /usr/share/doc/gcom/examples/operator
Devolverá algo tal que así:
SIM ready
Waiting for Registration..(120 sec max)
Registered on Home network: "E AMENA",2
Signal Quality: 30,99
Getting Operator list: ..................
+COPS: (1,"E AMENA","AMENA","21403",0),(2,"E AMENA","AMENA","21403",2),(1,"vodafone ES","voda ES","21401",0),(1,"vodafone ES","voda ES","21401",2),(1,"movistar","movistar","21407",0),(1,"movistar","movistar","21407",2),,(0, 1, 3),(0-2)
==============================================================
Format: (Access,Long Name, Short Name, Network ID [,Technology])
Access: 2 - Registered, 1 - Available, 3 - Forbidden
Technology: 0 - GSM/GPRS, 2 - UMTS (Not available on all cards)
Enter the Network ID to attempt manual registration
[blank = automatic selection]:
Registration request accepted
Command was: AT+COPS=0
Ahora que todo funciona, ya podemos proceder a realizar la conexión. Para ello configuraremos el wvdial:
sudo vim /etc/wvdial.conf
Nota: Tanto el username como la password deberá ser cambiada para que coincida con el operador que tengas. En el caso de Orange, es CLIENTE y AMENA, pero sé que en Movistar y Vodafone esto cambia. Mira en tu teléfono la configuración del servicio, pregunta en tu operador o consulta por internet.
De igual forma, deberás cambiar el APN. En el caso de Orange es "internet", pero cambiará igualmente con Vodafone y Movistar. El resto de la configuración debería ser la misma
[Dialer Defaults]
Phone = *99***1#
Username = CLIENTE
Password = AMENA
Stupid Mode = 1
Dial Command = ATDT
New PPPD = yes
[Dialer hsdpa]
Modem = /dev/noz0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem
[Dialer 2gonly]
Init4 = AT+COPS=0,0,"internet",0
[Dialer 3gonly]
Init4 = AT+COPS=0,0,"internet",2
[Dialer orange]
Init5 = AT+CGDCONT=1,"IP","internet";
[Dialer 384k]
Init6 = AT+CGEQMIN=1,4,64,384,64,384
Init7 = AT+CGEQREQ=1,4,64,384,64,384
[Dialer 144k]
Init6 = AT+CGEQMIN=1,4,64,144,64,144
Init7 = AT+CGEQREQ=1,4,64,144,64,144
[Dialer 64k]
Init6 = AT+CGEQMIN=1,4,64,64,64,64
Init7 = AT+CGEQREQ=1,4,64,64,64,64
Modifica igualmente la configuración del wvdial para ppp:
sudo vim /etc/ppp/peers/wvdial
Con esta información:
plugin passwordfd.so
noauth
name wvdial
replacedefaultroute
noipdefault
nomagic
usepeerdns
ipcp-accept-local
ipcp-accept-remote
nomp
noccp
nopredictor1
novj
novjccomp
nobsdcomp
Finalmente comprobaremos que podemos conectarnos... y navegar!!!
sudo wvdial hsdpa orange
Deberemos ver una salida de este tipo:
--> WvDial: Internet dialer version 1.56
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet";
AT+CGDCONT=1,"IP","internet";
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT 1800000
--> Carrier detected. Starting PPP immediately.
--> Starting pppd at Tue Nov 14 11:16:57 2006
--> Pid of pppd: 15133
--> Using interface ppp0
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8
--> Connect time 0.1 minutes.
--> local IP address 83.231.16.108
--> remote IP address 213.143.42.106
--> primary DNS address 213.143.32.20
--> secondary DNS address 213.143.33.8
Ahora que ya estamos dentro, podemos crearnos un script de inicialización que ejecutaremos cuando queramos conectarnos.
sudo touch /usr/bin/3G.sh
sudo chmod a+x /usr/vim/3G.sh
sudo vim /usr/bin/3G.sh
Script:
-----
#!/bin/bash
case $1 in
start | init)
echo "Cargando modulo"
sudo modprobe nozomi
echo "Inicializando tarjeta 3G"
sudo gcom -d /dev/noz0
wait
echo "Conectando"
sudo wvdial hsdpa orange
;;
eject)
echo "Ejectando tarjeta"
sudo pccardctl eject
echo "Ya puede retirar la tarjeta"
;;
* )
echo "Uso: 3G.sh [start|eject]"
Uso:
Para iniciar la conexión:
sudo 3G.sh start
Para finalizar la conexión: CTRL^C
Para sacar la tarjeta
sudo 3G.sh eject
2006/10/31
Prevenir mejor que curar
Según un informe del reputado economista Sir Nicholas Stern, remitido directamente a Tony Blair, parece claro que el impacto de la actividad humana sobre el medio ambiente va a tener consecuencias, por mucho que nuestro presidente del mundo (George Bush) se empeñe en negarlo.
Se ha escrito mucho sobre la exageración de los efectos que el calentamiento global puede causar en nuestro planeta (sin ir más lejos, la última novela de Michael Crichton apunta en este sentido), si bien todo parece indicar que cuando el río suena, agua lleva.
El hecho de que una alta personalidad del mundo económico sea quien haya alertado del coste que esto podría acarrear a nivel mundial (un impacto 20% del producto interior bruto mundial) frente a lo que podría costar evitarlo (un 1%) da mucha más trascendencia al asunto. El que además haya puesto cifras a las hasta ahora apocalípticas predicciones lanzadas por los grupos ecologistas da todavía más peso a este informe.
En cualquier caso, ese 1% del producto interior bruto mundial
equivaldría a la friolera de 610.000 millones de dólares... o algo así como 60 veces el producto interior bruto español... se dice pronto... :-o
Se ha escrito mucho sobre la exageración de los efectos que el calentamiento global puede causar en nuestro planeta (sin ir más lejos, la última novela de Michael Crichton apunta en este sentido), si bien todo parece indicar que cuando el río suena, agua lleva.
El hecho de que una alta personalidad del mundo económico sea quien haya alertado del coste que esto podría acarrear a nivel mundial (un impacto 20% del producto interior bruto mundial) frente a lo que podría costar evitarlo (un 1%) da mucha más trascendencia al asunto. El que además haya puesto cifras a las hasta ahora apocalípticas predicciones lanzadas por los grupos ecologistas da todavía más peso a este informe.
En cualquier caso, ese 1% del producto interior bruto mundial
equivaldría a la friolera de 610.000 millones de dólares... o algo así como 60 veces el producto interior bruto español... se dice pronto... :-o
2006/10/25
Fin de semana en Columbretes
Aprovechando para hacer una escapada, este fin de semana estuve en las Islas Columbretes buceando.
Salí el viernes de Madrid por la A-3 (no se la recomiendo a nadie con lluvia) bajo un diluvio que no cesó hasta Valencia, y de allí a Oropesa.
Luego embarcamos rumbo a las islas en una travesía de unas 5 horas (Columbretes esta a 30 millas de Oropesa camino de Ibiza).
Las inmersiones, como siempre en Columbretes, una maravilla. Montones de meros, bancos de sargos, mojarras, y corvinas aparecen por todas partes. Este año andan mal de pulpos porque desde que no se pesca han proliferado demasiado los meros y se han comido a los pulpos. En las zonas más profundas, en torno a los 30 metros, empiezan a aparecer las langostas que poco a poco irán subiendo según se enfríe el agua. El tiempo acompañó: sol. Y la gente también, como suele pasar.
La vuelta fue un tanto penosa. El mar se levantó con fuerte marejada y a pesar de la biodramina me encontré a las 2 horas de travesía vomitando por la borda.... durante otras 3 horas. Y luego 4 horas camino de Madrid. Recomiendo a cualquiera que coja la AP-36 desde Requena ante cualquier viso de lluvia. La A-3 debería desaparecer del mapa.
Como siempre, fotos disponibles para aquellos del grupo buceo_arrras en http://correcaminos.inigoml.com/gallery
Salí el viernes de Madrid por la A-3 (no se la recomiendo a nadie con lluvia) bajo un diluvio que no cesó hasta Valencia, y de allí a Oropesa.
Luego embarcamos rumbo a las islas en una travesía de unas 5 horas (Columbretes esta a 30 millas de Oropesa camino de Ibiza).
Las inmersiones, como siempre en Columbretes, una maravilla. Montones de meros, bancos de sargos, mojarras, y corvinas aparecen por todas partes. Este año andan mal de pulpos porque desde que no se pesca han proliferado demasiado los meros y se han comido a los pulpos. En las zonas más profundas, en torno a los 30 metros, empiezan a aparecer las langostas que poco a poco irán subiendo según se enfríe el agua. El tiempo acompañó: sol. Y la gente también, como suele pasar.
La vuelta fue un tanto penosa. El mar se levantó con fuerte marejada y a pesar de la biodramina me encontré a las 2 horas de travesía vomitando por la borda.... durante otras 3 horas. Y luego 4 horas camino de Madrid. Recomiendo a cualquiera que coja la AP-36 desde Requena ante cualquier viso de lluvia. La A-3 debería desaparecer del mapa.
Como siempre, fotos disponibles para aquellos del grupo buceo_arrras en http://correcaminos.inigoml.com/gallery
2006/10/12
Terminó la migración de groupware
Finalmente, tras tres semanas y una migración en fases con convivencia de dos servidores en dominios virtuales, hemos terminado la migración de cyrus a zimbra.
En general la acogida ha sido buena, dado que la funcionalidad y la interfaz web compensan con creces los problemas que surgen siempre que se despliega un nuevo sistema.
Quedan ahora una serie de pequeños detalles (listas moderadas, algunos bugs) que iremos corrigiendo en la semanas venideras.
En general la acogida ha sido buena, dado que la funcionalidad y la interfaz web compensan con creces los problemas que surgen siempre que se despliega un nuevo sistema.
Quedan ahora una serie de pequeños detalles (listas moderadas, algunos bugs) que iremos corrigiendo en la semanas venideras.
Servicio de DNS gratuito
La gente de OpenDNS está dando un servicio de DNS público gratuíto a través de sus servidores distribuídos por Estados Unidos y próximamente en UK.
Claman que sus servidores tienen un mantenimiento óptimo y dan algún servicio extra como puede ser la protección contra phishing (páginas falsificadas), lo cual es bastante útil.
Ahora mismo lo estoy utilizando, y si bien no noto mejoras de rendimiento en resolución de nombres, sí que puedo constatar que la función antiphishing funciona.
www.opendns.org.
Claman que sus servidores tienen un mantenimiento óptimo y dan algún servicio extra como puede ser la protección contra phishing (páginas falsificadas), lo cual es bastante útil.
Ahora mismo lo estoy utilizando, y si bien no noto mejoras de rendimiento en resolución de nombres, sí que puedo constatar que la función antiphishing funciona.
www.opendns.org.
2006/09/30
Migrando groupware
En estos momentos me encuentro inmerso en plena migración del sistema de correo electrónico de mi empresa (Vector Software Factory). Estamos pasando de un sistema clásico MTA (postfix) + almacenaje y acceso POP3/IMAP4 (Cyrus) a una solución groupware integrada opensource (Zimbra, www.zimbra.com).
Tras un proceso de evaluación que ha durado casi un año, durante el cual hemos evaluado, entre otros:
- egroupware (www.egroupware.org)
- openXchange (www.openxchange.org)
- opengroupware (www.opengroupware.org
- zimbra (www.zimbra.com)
me he decantado finalmente por este último. Ha sido una evaluación larga y constante. Zimbra ha sido seleccionado por ser el único que soporta toda la funcionalidad deseada, a saber:
- webmail avanzado (en este caso, basado en Ajax)
- integración con Outlook vía conector nativo.
- soporte comercial (porque aunque sea gratis, nunca viene de más si el precio es razonable)
- integración con PDAs
- desarrollo muy activo (a dos releases por año)
- integración con LDAP externos.
- Libreta global de direcciones
- Libreta personal de direcciones.
- Agenda personal.
- Compartición de recursos (agendas, libretas de direcciones, etc).
- Gestor documental (por ahora en beta)
- Mensajería instantánea (por ahora en alpha).
- Listas de distribución.
La migración se está realizando en fases mediante conector imapsync. Inicialmente se movió un grupo de 30 usuarios para problar la estabilidad del sistema. Tras dos semanas de uso intensivo, estamos procediendo a migrar un primer grupo de 100 usuarios. En dos semanas migraremos al resto de la compañía.
Tras un proceso de evaluación que ha durado casi un año, durante el cual hemos evaluado, entre otros:
- egroupware (www.egroupware.org)
- openXchange (www.openxchange.org)
- opengroupware (www.opengroupware.org
- zimbra (www.zimbra.com)
me he decantado finalmente por este último. Ha sido una evaluación larga y constante. Zimbra ha sido seleccionado por ser el único que soporta toda la funcionalidad deseada, a saber:
- webmail avanzado (en este caso, basado en Ajax)
- integración con Outlook vía conector nativo.
- soporte comercial (porque aunque sea gratis, nunca viene de más si el precio es razonable)
- integración con PDAs
- desarrollo muy activo (a dos releases por año)
- integración con LDAP externos.
- Libreta global de direcciones
- Libreta personal de direcciones.
- Agenda personal.
- Compartición de recursos (agendas, libretas de direcciones, etc).
- Gestor documental (por ahora en beta)
- Mensajería instantánea (por ahora en alpha).
- Listas de distribución.
La migración se está realizando en fases mediante conector imapsync. Inicialmente se movió un grupo de 30 usuarios para problar la estabilidad del sistema. Tras dos semanas de uso intensivo, estamos procediendo a migrar un primer grupo de 100 usuarios. En dos semanas migraremos al resto de la compañía.
Bienvenido a mi blog
Hoy estrenamos blog. Si bien hace años (desde el siglo pasado) que tengo página web, la falta de tiempo y sobre todo, la falta de "arte" ha hecho que esté completamente abandonada y con un diseño que deja bastante que desear.
Hoy comienzo, así pues, este blog donde regularmente espero ir publicando mis ideas, trabajos, disertaciones y cualquier otra "frikada" que se me pase por la cabeza.
Supongo que si consigo mantener un flujo constante de historias será bastante entretenido, sobre todo por lo que atañe a temas informáticos. ;)
Hoy comienzo, así pues, este blog donde regularmente espero ir publicando mis ideas, trabajos, disertaciones y cualquier otra "frikada" que se me pase por la cabeza.
Supongo que si consigo mantener un flujo constante de historias será bastante entretenido, sobre todo por lo que atañe a temas informáticos. ;)
Suscribirse a:
Entradas (Atom)