viernes, 29 de diciembre de 2017

Wake on Lan, como arrancar un ordenador remotamente desde ubuntu


Hola amigos, os traigo este artículo para enseñaros a arrancar o "despertar" remotamente un ordenador apagado.

Lo habréis oído muchas veces, y tal vez creéis que es mágia o simplemente demasiado complicado para vosotros. Pues no, no es magia ni tampoco es complicado, mientras tengáis claros los conceptos básicos de comunicación de redes.


Voy a arrancar o "despertar" un ordenador portátil (Laptop), el sistema operativo del cuál es Ubuntu versión 16.04, desde otro ordenador, en este caso un ordenador de sobremesa (Desktop Pc), donde también hay instalado un sistema operativo Ubuntu versión 16.04.
Estos dos Pc están conectados a un router, la Laptop está conectada mediante una tarjeta de red alámbrica, con un cable ethernet y el Desktop Pc está conectado al router mediante una tarjeta de red inalámbrica (wifi).
Por tanto tenemos una pequeña red privada LAN (Local Area Network), o mejor dicho una red WLAN (Wireless Local Area Network), ya que uno de los Pcs está conectado inalámbricamente.
Este sería el esquema de la red:



Lo primero que debemos comprobar es si nuestro Pc, (en mi caso mi Laptop) tiene la opción wake-on-lan en la BIOS, y si tiene esta opción la activaremos.
Así que arrancamos la Laptop en mi caso es una HP de mas de 15 años y para acceder a la BIOS debo presionar la tecla F10 justo al mostrarse el nombre del fabricante del Pc. En el vuestro googlead si no lo sabéis.
En mi ordenador se encuentra en este submenú de la BIOS la opción Wake-on-Lan:


Guardamos los cambios y accedemos al Sistema Operativo.

A cada Pc el router mediante el protocolo DHCP le asigna una IP, que es dinámica o cambiante. Mi router en particular comprueba cada 24 horas si cada Pc está conectado o no, en el caso de desconexión esa IP asignada queda libre y por tanto si el mismo Pc vuelve a conectarse otra vez es posible que el router le asigne una IP diferente y tengamos problemas para provocar el arranque, ya que nos dirigirá a otro Pc. Por tanto debemos de asignar al Laptop en mi caso una IP fija o estática, que siempre sea la misma.
Nos vamos a configuración del sistema y clickearemos en el icono Red.




Una vez dentro elegiremos la "red cableada" y presionamos el botón "opciones", dentro del menú opciones elegimos la etiqueta "Ajustes IPv4" y en método lo cambiamos a manual, luego añadiremos una dirección IP que no esté asociada a ningún Pc, yo he elegido 192.168.1.39, le añadimos la mascara de red 255.255.255.0 y la puerta de enlace 192.168.1.1 que es mi router, en los servidores DNS pues le añadimos los de nuestro ISP (proveedor de servicios de internet) separados por una coma y presionamos en guardar y ya podemos salir de esta ventana.


Para comprobar que la IP queda asignada, abrimos un terminal de comandos "Ctr" + "Alt" + "T" y escribimos el comando ifconfig, y nos debería mostrar la ip que hemos dejado fija en la red cableada.


Aprovechamos que tenemos en pantalla la información de ifconfig y nos apuntaremos la dirección HW que es la dirección MAC. MAC es el nombre que da cada fabricante a cada tarjeta de red y es único en el mundo, así que anotaremos en mi caso el número 00:1a:4b:  :  :b0.
Pues bien en la Laptop ya no hay nada mas que hacer, así que la vamos a apagar, pero dejándola enchufada a la red eléctrica y dejaremos el cable de red conectado de la Laptop al router.

Ahora debemos irnos a la configuración de nuestro router, para ello abriremos nuestro navegador preferido y en la dirección url escribiremos 192.168.1.1, que es la puerta de enlace de nuestro router, nos pedirá el usuario y la contraseña, deberéis googlear otra vez para conseguirlas o llamar a vuestro ISP, ya que si no las habéis cambiado nunca serán las que vienen por defecto, así que según el modelo de router y vuestro proveedor de servicios de internet podréis encontrar cuales son. Ahora que ya hemos accedido dentro del router deberéis hacer NAT, que es asociar un puerto al protocolo UDP y a la IP de la Laptop que queremos enviar los datos, en este caso se le enviará un "paquete mágico" que será una señal eléctrica de arranque. Yo elegiré para esta prueba el puerto 6788 y la IP de la Laptop era la 192.168.1.39. Cada modelo de router tiene su menú, en mi caso es un Commtrend y en la imagen que sigue veréis esta configuración:



Ahora nos vamos al Desktop Pc, deberemos instalar el programa wakeonlan que se encuentra en los repositorios con el siguiente comando:

$ sudo apt-get install wakeonlan

Una vez instalado ya podemos ejecutarlo con la siguiente sintaxis:

$ wakeonlan -i 192.168.1.39 -p 6788 00:1a:4b: : :b0

Después del comando wakeonlan, -i se refiere a la IP del Laptop objetivo del arranque, -p indica el puerto que hemos elegido para la transmisión del paquete mágico y finalmente la dirección MAC de la tarjeta de red alámbrica de la Laptop.

Una vez ejecutada toda la instrucción la Laptop no tardó mas de 1 segundo en arrancar.

Si no es vuestro caso, es que hay algo mal configurado, repasad la dirección MAC de la tarjeta alámbrica, la IP que habéis asignado y el NATing en el router, con el puerto correspondiente.

Es muy fácil como podéis comprobar. Y seguro que os sentís unos auténticos Hackers después de ver como por arte de magia os arranca el Pc solo.
Si lo enseñáis a vuestros padres, se van a quedar maravillados. Oh! Cuanto sabe mi hijo. Como regalo un Pc mas potente para que puedas aprender y practicar mejor. XDD.

Por cierto, este arranque es desde ordenadores en una misma red privada. Desde fuera de la red, también es posible. Yo he probado de arrancar la misma Laptop, pero desde un smartphone con el sistema operativo Android conectado fuera de la red LAN, o sea conectado a los datos con el ISP que tengo contratado el smartphone. Mediante un programa descargado de la Play Store de Google.
Pero esto ya os lo mostraré en el próximo artículo.

Ahora a disfrutar y practicar arranques en la misma red. Comentaros que el arranque wakeonlan solo se permite en tarjetas de red que estén soldadas a las placas base (motherboard) que permiten esta opción, o aquellas tarjetas de red que lleven un cable específico para ello y debe conectarse a la placa base.
Yo os he mostrado el arranque remoto a través de una tarjeta de red alámbrica, pero también es posible realizarlo a través de una tarjeta de red inalámbrica, pero esta tarjeta de red debe de llevar el chip Intel  3945ABG o superior.

Para comprobar que tipo de tarjeta de red tenemos instalada, como siempre en Linux todo es muy fácil, escribimos este comando en la terminal:

$ lshw -class network

Y nos listará todas las tarjetas de red instaladas, en el caso de mi Laptop, tiene 2, una alámbrica y otra inalámbrica y efectivamente veo que la inalámbrica tiene este chip, así si que podré hacer un Wake on Lan vía wifi que se le llama Wake on Wireless Lan. La mecánica será prácticamente la misma, pero queda pendiente para otro post. Aquí la foto del listado de tarjetas de red con el comando anterior:



Espero os haya gustado y nos vemos en el próximo artículo.




No hay comentarios:

Publicar un comentario

Gracias por participar en este blog.