Hora actual

Portada

AdSense

Wake on Lan, WOL, o “Levántate y anda”

Tras escribir el título del post, recuerdo un chiste que me contaron hace tiempo y que ahora comparto con vosotros…
“En un pueblito, está el loco del pueblo comentando pasajes bíblicos al azar en la plaza, y hablando sobre el relato de Lázaro, hubo la siguiente conversación entre el loco y uno de los que le escuchaban:
Loco – Entonces Cristo le dijo a Lázaro: Lázaro, levántate y anda. Y así fue, Lázaro se levantó y andó.
Observador – anduvo, idiota.
Loco – Anduvo idiota al principio, pero luego se le pasó…”

En fin, tras este pequeño paréntesis (no creáis que habría mejorado mucho si me hubierais escuchado contarlo en persona…) paso a comentaros el tema de mi post. Se trata del Wake on Lan o WOL. Bajo este nombre se esconde una funcionalidad que cada día más placas base y tarjetas de red nos ofrecen, y que permite, básicamente, poder encender nuestro ordenador a distancia desde la LAN en que se encuentre (si es que así ocurre) o incluso desde Internet.

El funcionamiento de WOL es tan simple y tan elegante como enviar un paquete (el Magic Packet) a una IP, con una máscara de red determinada,  una dirección MAC concreta y un puerto conveniente. De esta forma, estaremos dirigiéndonos a la tarjeta de red del ordenador que queremos encender a distancia. La tarjeta de red reconocerá que se trata de un paquete mágico, y actuará en consecuencia “despertando” al ordenador a través de una señal enviada a la placa base del mismo. Es por esto que tanto la tarjeta de red como la placa base deben soportar este servicio. Podemos comprobar si la tarjeta de red es compatible con esta funcionalidad, en el administrador de dispositivos de Windows (para quienes usamos la criatura de Microsoft), y navegando por las opciones del dispositivo, encontraremos referencias a WOL, o al Magic Packet, o a “Permitir despertar a través de este dispositivo”, etc. Será fácil identificar qué atributos podemos activar para, en resumen, dar permisos a la tarjeta de red para revivir el ordenador.

El conjunto IP-Máscara de red-Puerto-MAC es una forma de llegar al ordenador en cuestión que queremos arrancar, como explicaremos en las siguientes líneas.

En caso de redes con routers configurados en monopuesto, es bastante sencillo de comprender. Cuando nos encontramos configuraciones multipuesto, y routers con IP dinámica que realicen NAT, es un poco más engorroso de configurar, ya que debemos combinar a lo visto hasta ahora, el requerimiento de que nuestro router permita usar Dinamic DNS con alguno de los proveedores de dicho servicio (que suele ser gratis) en Internet. El funcionamiento de Dinamic DNS se basa a grandes líneas en hacer coincidir nuestra IP (dinámica según hemos dicho, que puede cambiar cada vez que reiniciamos el router) con un DNS fijo, que el proveedor de Dinamic DNS nos permite configurar o personalizar en cierta medida, cuando creamos nuestra cuenta. De esta forma, el router envía al servidor de DDNS su IP actualizada cuando arranca, y DDNS actualiza esta información en su base de datos. Así, nosotros sólo tendremos que dirigirnos a nuestra DNS que será siempre fija, y DDNS mantendrá la correlación entre dicho nombre y la IP correspondiente siempre actualizada.

Por otra parte, tenemos el problema de las direcciones MAC. Cuando el router se apaga o reinicia, es posible que sus tablas de ARP se borren, y con ellas, la información almacenada sobre las direcciones MAC correspondientes a cada interfaz de red que “conoce”. Si ocurre esto, podemos hacer dos cosas:
    a) Mediante telnet al router o mediante su propia interfaz de configuración si lo permite, añadir manualmente a su tabla de filtrado, la MAC de la interfaz de red que queremos mantener a la escucha de WOL. Si hacemos esto, el router conocerá perfectamente esa MAC incluso después de reiniciar, y podremos enviar el paquete mágico exclusivamente al PC que nos interesa (podremos usar como máscara de red la 255.255.255.255, ya que sabremos la IP (o DDNS) del router de la red destino, el puerto asignado al servicio que hemos configurado (que suele ser el 7 o el 9 UDP), y la MAC del interfaz a través del cual arrancar el ordenador).

    b) Enviar el paquete a un segmento mayor de la red, usando máscaras /24 (255.255.255.0), o la que corresponda según el caso, haciendo cierto broadcast dentro de la red. El problema de hacerlo de esta forma es que si no conocemos la MAC destino, y tenemos varios PC’s configurados para WOL, se despertarán a la vez, porque el paquete mágico se difundirá a todos ellos.

Hasta aquí las bases del WOL. Ahora, me queda por decir una pequeña desventaja, o detalle, que debemos tener en cuenta a la hora de usarlo: sólo permite arrancar ordenadores que han sido apagados correctamente, esto es, no funcionará si hemos dado un botonazo al PC, o si se ha ido la electricidad y el PC se ha quedado apagado, o si lo hemos apagado correctamente, pero luego lo hemos desenchufado y vuelto a enchufar. El PC debe haberse apagado correctamente, y no debe haberse visto interrumpida la alimentación eléctrica (ya que si esto ocurre, la tarjeta de red dejará de permanecer a la escucha de paquetes mágicos). ¡No iba a ser todo perfecto! :P

Para finalizar, os comento que existen varias aplicaciones gratuitas que podéis descargar de Internet para enviar vuestros paquetes mágicos y arrancar vuestros PC’s a distancia. Uno de los más conocidos es “WOL Magic Packet Sender” (http://magicpacket.free.fr/). Otra opción (en caso por ejemplo de que queráis arrancar el PC de casa desde vuestro trabajo, y tengáis el puerto de salida cerrado…) es utilizar algunas de las webs que permiten enviar el paquete directamente desde ellas. A mi me gusta la de Depicus: http://www.depicus.com/wake-on-lan/woli.aspx

Captura de Wake on Lan desde Depicus

Captura de Wake on Lan desde Depicus

Espero que toda esta información os sea interesante, útil, y que disfrutéis mucho encendiendo vuestros PC’s por ejemplo desde vuestro teléfono móvil conectados a la WiFi del Mc’Donald de Tres Cantos con los 20 minutos que os dan gratis de conexión al comprar vuestro Big Bang, digo, vuestro Big Mac :P

Comandos de VMware

Hoy quiero hablaros de Vmware, uno de los más importantes sistemas de virtualización del mercado actual. En concreto, nos centraremos en Vmware Server. Se trata de un producto que nos permite crear un servidor dentro de otro servidor (o PC), es decir, lo que se conoce como una máquina virtual.

Es un producto que utilizamos constantemente en nuestro trabajo, y mediante el cual, podemos ampliar y redimensionar nuestra infraestructura sin necesidad de realizar cambios a nivel físico (con su correspondiente ahorro en trabajo y costes). Además, por supuesto, de permitirnos una mayor flexibilidad a la hora de realizar pruebas.

No es el único producto de virtualización, ni siquiera de Vmware, que ofrece distintos productos comerciales (Vmware Infraestructure, Vmware Workstation) y gratuitos (Vmware Server, Vmware Player). Como alternativa a Vmware podemos encontranos con Xen, Virtual BoxVmware Server está disponible tanto para Windows como para Linux.

vmware-server-2

Interfaz Web de administración de VMware Server 2.0

Administrar un Vmware Server corriendo bajo Windows es relativamente sencillo. Sin embargo, dado que en los servidores Linux no es muy conveniente disponer de entorno gráfico, que necesita demasiados recursos de forma innecesaria, se nos complica un poco la administración desde el propio servidor anfitrión. No obstante, podemos acceder a la interfaz de administración a través de un navegador web, ya que Vmware Server configura automáticamente un servidor web para poder administrar nuestras máquinas virtuales de forma remota.

A veces, pese a todo, es necesario poder realizar acciones sobre las máquinas virtuales desde el propio servidor. Para ello disponemos de un juego de herramientas que ejecutaremos desde línea de comandos. Las he estado utilizando recientemente y me han parecido muy útiles a la hora de programar scripts, por ejemplo para realizar backups, aunque pueden servirnos para mucho mucho más.

La que nos interesa principalmente es vmrun. Mediante vmrun podemos realizar todas las acciones que nos permite la interfaz gráfica y muchas más. Por ejemplo, podríamos arrancar una máquina virtual ejecutando (en Vmware Server 2.0):

vmrun -T server -h https://servidor:8333/sdk -u Usuario -p Password start “[Datastore] NombreVM/nombreVM.vmx”

Igualmente podríamos apagarla cambiando el parámetro start por stop.

Otra cosa que podemos hacer es tomar snapshots, que no son más que instantáneas (“copias”, aunque en realidad es algo más complejo) de nuestra máquina virtual, de manera que podemos realizar modificaciones sin peligro alguno. Si tuviésemos algún problema podríamos revertir los cambios al estado anterior.

Podemos realizar snapshots con el siguiente comando:

vmrun -T server -h https://servidor:8333/sdk -u Usuario -p Password snapshot “[DataStore] NombreVM/NombreVM.vmx” Nombre_Snapshot

Para revertir los cambios cambiaríamos el parámetro snapshot por revertToSnapshot y para eliminar uno de ellos deleteSnapshot.

Hasta aquí todo es igual que con la interfaz gráfica, pero lo que ésta no nos permite es, por ejemplo, ejecutar directamente un programa en una máquina virtual, matar alguno de sus procesos, crear, copiar, borrar archivos, capturar la pantalla o ejecutar scripts. Todo esto, por supuesto, no en el Sistema Operativo anfitrión, sino en el huésped.

Saludos virtuales!!

Uniendo estrellas y bits…

Como primer post para nuestro recién nacido blog, he pensado que sería interesante daros a conocer un programa que puede resultaros bastante interesante, o al menos.. ¡curioso!
Se trata de Stellarium, software que quizá muchos de vosotros ya conozcáis.

Stellarium (http://www.stellarium.org/es/) es una aplicación gratuita de código abierto, disponible para Linux, Mac y Windows, y que nos permite obtener panorámicas del cielo que se puede observar en un momento dado en una cierta ubicación de nuestro planeta. Además, nos ofrece determinadas herramientas que pueden ayudarnos a conocer la bóveda celeste (al menos a mi me ayudan, ya que no soy ningún experto en la materia, simplemente un curiosillo). Así, podemos activar/desactivar etiquetas con nombres de las estrellas, constelaciones, ver las líneas que dibujan las constelaciones, las trayectorias que dibujan los astros, retículas de orientación, etc. También podemos cambiar la hora/día de observación, el entorno simulado en el que nos encontramos, el brillo de las estrellas, etc.

Aquí os muestro una captura de pantalla del programa, simulando el cielo que puede observarse en esta tarde de un gris día de marzo, de un prometedor año 2009.

 stellarium-1

En resumen, se trata de un complemento interesante para todos los aficionados a los asuntos celestiales (no, no tiene que ver con Dios), y además una apuesta por las aplicaciones de código abierto. Un gran ejemplo de nuestro propósito de aprender un poco más sobre la ciencia en general, ¡¡y que mejor manera de hacerlo que de la mano de un PC!!! :)

 

//Para la herramienta Google Analytics // Para la herramienta Google Translator