Feliz año 2014

Se acaba 2013, un año que ha sido complicado, sobre todo para muchas familias que probablemente este año no puedan ni siquiera celebrar la navidad ni el año nuevo por falta de recursos. Espero que 2014 venga con al menos algo más de esperanza y felicidad para todos.

Como resumen de 2013 he preparado un vídeo de las fotos que he hecho durante el año. Fotografía, esa aficción que cada día me da más satisfacciones personales.

Gracias a todos por estar ahí, en especial a Vero, mi amor.

¡¡Feliz y próspero año 2014!!

Lo único que se necesita para que triunfe el mal es que los hombres buenos no hagan nada.

Edmund Burke.

Cómo activar y desactivar el buzón de voz de la línea fija de Orange

orange-logo Es curioso, pero una de las entradas que más visitas tiene mi blog es un pequeño howto para activar y desactivar el buzón de voz Orange para líneas móviles. Ya en su día hace más de dos años, cuando escribí este mini tutorial, me costó encontrar información oficial explicando este tipo de funcionalidades que a mí (y parece que a bastante más gente) me parecen tan importantes y útiles. Al parecer la situación no ha cambiado y a los operadores (en este caso, Orange) no les interesa que sus usuarios conozcan fácilmente estas funcionalidades.

Ya ha habido varias personas que echan de menos un artículo que explique cómo activar y desactivar el buzón de voz en líneas fijas, así que aquí lo tenéis.

En la línea fija de Orange también viene activado por defecto el buzón de voz. Aquí os facilito los comandos de red para operar con el buzón de voz:

– Activa buzón de voz «si comunica o no contesta»: Descolgar teléfono y marcar *24*

– Desactivar buzón de voz «si comunica o no contesta»: Descolgar teléfono y marcar *241*

Así de fácil. Espero que os sirva de ayuda al igual que me ha servido a mí.

Comprobar si el servicio de NTP está levantado en un servidor ajeno

Hoy he necesitado comprobar si un servidor tenía levantado el servicio de NTP. Como no tenía acceso a dicho servidor y no quería configurar un cliente para hacer la comprobación, he decidido usar una herramienta alternativa: nmap.

Con esta herramienta básicamente lo que se comprueba es que el puerto de NTP (UDP 123) esté levantado.

[16:11:55 root@danubio:~]# nmap -sU -p123 10.192.4.2

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2013-05-16 16:11 CEST
Interesting ports on 10.192.4.2:
PORT STATE SERVICE
123/udp open|filtered ntp

Nmap finished: 1 IP address (1 host up) scanned in 0.336 seconds

Con esto sólo se garantiza que hay un proceso (presumiblemente el de NTP) escuchando en ese puerto y atendiendo peticiones. Para asegurar que funciona correctamente habría que configurar el cliente.

Fuente: http://www.rgrjr.com/linux/ntp.html.

Abrir varios perfiles simultáneos de Firefox [II]

En 2009 ya descubrí uno de mis trucos favoritos del navegador Firefox, y que a día de hoy sigo utilizando. Hoy simplemente vengo a recordarlo porque probablemente muchos ni lo habréis leído, y además a explicaros la forma en la finalmente yo más utilizo: Con las opciones «-p» y «-no-remote«.

En Windows, que por suerte o desgracia es el SSOO de escritorio que más utilizo, lo que suelo hacer es:

  1. Pulsar la combinación de teclas Windows +R para conseguir la ventana de ejecutar.
  2. Ejecutar el comando: firefox -p -no-remote.

firefox_no-remote

Así consigues tener las n instancias de Firefox que quieras, cada una con el perfil que quieras. Es muy útil cuando tienes distintos perfiles (Por ejemplo el del trabajo y el personal) y quieres usarlos a la vez sin que interfieran.

Este truco es válido para todos los SSOO (Linux, MacOS…), salvo que la parte de ejecutar que se hace en Windows resulta casi más sencilla desde una consola Linux/MacOS.

 

Crear ficheros de un tamaño determinado en entornos Unix y Windows

Para crear un fichero de un tamaño determinado de bytes en entornos Unix se suele utilizar el comando dd en el que podemos definir el tamaño exacto del fichero que queremos.

# dd if=<fichero_entrada> of=<fichero_salida> bs=<tamaño_en_bytes_del_fichero> count=1

Podemos utilizar el fichero /dev/zero que contiene carácteres NULL para completar el fichero:

# dd if=/dev/zero of=prueba.txt bs=8388608 count=1

Aunque también se pueden utilizar carácteres aleatorios con /dev/urandom.

# dd if=/dev/urandom of=prueba.txt bs=8388608 count=1

Importante: el parámetro bs se expresa en bytes.

En Windows existe otro comando para conseguir ficheros de tamaño determinado, se realiza con el comando fsutil.

# fsutil file createnew <nombre_del_fichero_de_salida> <tamaño_en_bytes_del_fichero>

Ejemplo:

# C:\>fsutil file createnew prueba.txt 8388608
El archivo C:\prueba1.txt está creado

Convertir celdas de excel en formato numérico

excelEn ciertas circunstancias nos podemos encontrar con un fichero excel que tiene valores numéricos con un formato no numérico. En esta situación es difícil trabajar con estas celdas puesto que excel no las reconoce como tales.

La solución más óptima que he encontrado es utilizar las fórmulas VALOR ó ENTERO para generar una nueva columna y/o fila con los valores numéricos de las celdas que tienen un formato diferente.

Un ejemplo en el que la celda A1 tiene un formato incorrecto, podríamos escribir en la celda A2 lo siguiente:

=VALOR(A1)

ó

=ENTERO(A1)

y con esto ya tendríamos en A2  el formato numérico de A1.

Formato vertical de salida en MySQL

A veces, especialmente en tablas con mucho campos, la salida horizontal (por defecto) puede ocupar demasiado espacio y ser difícil de seguir. Esto se puede agravar más sin pretendemos pegar los resultados en un e-mail, por ejemplo.

Utilizando \G en lugar de ; para terminar la query, conseguiremos que la salida se muestre con formato vertical.

Ejemplo de Formato horizontal:

mysql> SELECT * FROM table;

MySQL_horizontal

Ejemplo de Formato vertical:

mysql> SELECT * FROM table \G

MySQL_vertical

También se puede iniciar el cliente de MySQL con la opción –vertical y que afectaría a todas las consultas.

Resetear password de root en MySQL

Esto a mí me ha venido bien en algún momento, y es que no siempre recordamos o sabemos la password de root la BBDD.

En MySQL se puede resetear así:

1. Reiniciar la base de datos con la opción –skip-grant-tables:

# /etc/init.d/mysqld restart --skip-grant-tables

2. Conectarte a la BBDD con usuario root:

# mysql -u root

3. Establecer la nueva password:

mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
mysql> FLUSH PRIVILEGES;

4. Volver a arrancar la BBDD sin –skip-grant-tables:

# /etc/init.d/mysqld restart

Heartbeats de VRRP

Post técnico de la semana.

Me he encontrado con una duda sobre cómo averiguar qué VRRPs IDs están anunciándose en una red. Esto es relativamente importante controlarlo porque si en un momento dado añades un nuevo equipo que anuncie un VRRP ya usado, se puede liar gorda.

Si tienes acceso root a una máquina que esté pinchada en esa red, puedes utilizar tcpdump para descubrir los anuncios de VRRP.

Existen 3 formas que nos devuelven el mismo resultado:

tcpdump -i <interface> host 224.0.0.18
tcpdump -i <interface> proto 112
tcpdump -i <interface> ether dst 01:00:5e:00:00:12

Donde «<>» es la interfaz de red en la que quieres chequear, «host 224.0.0.18» es el host destino del tráfico VRRP, «proto 112» es el protocolo VRRP y la MAC «01:00:5e:00:00:12» en la dirección MAC de broadcast de VRRP.

Ejemplo:

[root@host53n01:~]# tcpdump -i eth4 -i eth5 proto 112
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth5, link-type EN10MB (Ethernet), capture size 96 bytes
10:42:21.099775 IP 10.203.12.132 > 224.0.0.18: VRRPv2, Advertisement, vrid 70, prio 150, authtype none, intvl 1s, length 20
10:42:21.114600 IP 10.203.12.130 > 224.0.0.18: VRRPv2, Advertisement, vrid 202, prio 150, authtype none, intvl 1s, length 20
10:42:21.514168 IP 10.203.12.137 > 224.0.0.18: VRRPv3, Advertisement
10:42:21.514169 IP 10.203.12.137 > 224.0.0.18: VRRPv2, Advertisement, vrid 50, prio 255, authtype none, intvl 1s, length 20
10:42:21.891698 IP 10.203.12.132 > 224.0.0.18: VRRPv2, Advertisement, vrid 70, prio 150, authtype none, intvl 1s, length 20
10:42:22.114708 IP 10.203.12.130 > 224.0.0.18: VRRPv2, Advertisement, vrid 202, prio 150, authtype none, intvl 1s, length 20
10:42:22.526551 IP 10.203.12.137 > 224.0.0.18: VRRPv3, Advertisement
10:42:22.526769 IP 10.203.12.137 > 224.0.0.18: VRRPv2, Advertisement, vrid 50, prio 255, authtype none, intvl 1s, length 20
10:42:22.820480 IP 10.203.12.132 > 224.0.0.18: VRRPv2, Advertisement, vrid 70, prio 150, authtype none, intvl 1s, length 20
10:42:23.114625 IP 10.203.12.130 > 224.0.0.18: VRRPv2, Advertisement, vrid 202, prio 150, authtype none, intvl 1s, length 20
10:42:23.513211 IP 10.203.12.137 > 224.0.0.18: VRRPv3, Advertisement
10:42:23.513213 IP 10.203.12.137 > 224.0.0.18: VRRPv2, Advertisement, vrid 50, prio 255, authtype none, intvl 1s, length 20
10:42:23.577365 IP 10.203.12.132 > 224.0.0.18: VRRPv2, Advertisement, vrid 70, prio 150, authtype none, intvl 1s, length 20
10:42:24.114488 IP 10.203.12.130 > 224.0.0.18: VRRPv2, Advertisement, vrid 202, prio 150, authtype none, intvl 1s, length 20
10:42:24.387004 IP 10.203.12.132 > 224.0.0.18: VRRPv2, Advertisement, vrid 70, prio 150, authtype none, intvl 1s, length 20

Filtrar por VRRP ID específico

Cada grupo de máquinas que participan en un VRRP tienen un VRRP ID asignado. Éste debe ser único por grupo de máquinas y por interfaz. Si quieres escuchar los heartbeats específicos de un VRRP ID, tienes que ejecutar:

tcpdump -i <interface> ether src 00:00:5e:00:01:

Donde «<VRID>» es el VRRP ID en hexadecimal.