Configuración de la tarjeta de red en Virtual Box

Una máquina virtual de Virtual Box nos permite configurar hasta 8 tarjetas de red distintas. Desde el entorno gráfico podremos configurar hasta cuatro, necesitando usar línea de comandos para configurar la otra mitad.

Por defecto el hardware virtualizado será una tarjeta AMD PCNet FAST III, aunque también tenemos la opción de cambiarlo por un adaptador de la familia Intel PRO/1000 si fuera necesario por temas de drivers en nuestro sistema operativo invitado. La lista de tarjetas disponibles sería esta:

  • AMD PCNet PCI II (Am79C970A)
  • AMD PCNet FAST III (Am79C973)
  • Intel PRO/1000 MT Desktop (82540EM)
  • Intel PRO/1000 T Server (82543GC)
  • Intel PRO/1000 MT Server (82545EM)
  • Paravirtualized network adapter (virtio-net)

Desde ese panel también podremos cambiar la MAC, lo que nos resultará útil para realizar tests de seguridad o para usar el Team Viewer de forma indefinida sin pagar licencia (me han contado, señoría, yo nunca selojuro…). Basta con pulsar el botón de recargar al lado de la dirección MAC y nos asignará una nueva.

En cuanto al modo de conexión hay seis opciones:

  • No Conectado: Simplemente emula el comportamiento del equipo si la tarjeta de red estuviera presente pero con el cable desconectado.
  • NAT: En modo NAT, Virtual Box emulará un router entre el exterior y el sistema operativo invitado. Este poseerá un servidor DHCP sirviendo hacia el invitado y mapeando el tráfico de la máquina virtual de forma transparente para el usuario. Cada máquina en modo NAT tiene su propio router por lo que estarán en redes aisladas: las máquinas con tarjetas en NAT no se pueden ver entre si.
  • NAT Network: Funciona de forma similar al modo NAT con la diferencia de que Virtual Box en este caso emulará un mismo router para todas la máquinas, lo que implica que podrán verse entre sí como si estuvieran todas en la misma red.
  • Bridged: El modo Briged, o puente, simula que la tarjeta virtual está conectada a la misma red que la tarjeta del equipo anfitrión, por lo que ambas se verán como si fuesen miembros de la misma red física.
  • Red Interna: Este modo nos permite configurar una red aislada de máquinas virtuales, que en principio no tendría salida hacia el exterior. Para poder conectar esta red a internet tendríamos que configurar en algún equipo una segunda tarjeta en modo NAT o Bridged para que disponga de salida a través del anfitrión.
  • Solo Anfitrión: El último modo nos permite configurar una red aislada similar al modo Red Interna pero con la salvedad de que en este modo el equipo anfitrión también formaría parte de la red.

Existe un modo más, definido como Generic Driver que nunca he utilizado. Creo que permite cargar drivers de algunos packs de expansión.

Exportar la configuración de las VPN de Windows a otros equipos

El otro día me cambiaron el equipo en el curro y me puse a pensar “Ahora a configurar el montón de conexiones VPN de los clientes ¿hay una forma más rápida?” Pues claro que la hay: puedes exportarla de un equipo a otro simplemente copiando el fichero rasphone.pbk ¿Cómo lo hago? Simplemente buscándolo, copiando y pegando, nada más. Te lo puedes llevar en un pendrive o guardártelo en una ubicación en la nube para descargalo de cualquier otro equipo.

¿Cuál es la ruta?

En Windows XP (si todavía lo usas): C:\Documents and Settings\All Users\Datos de programa\Microsoft\Network\Connections\Pbk\rasphone.pbk

En los Windows posteriores (Vista, 7, 8, 10) tienes dos rutas:

Redes creadas para todos los usuarios: C:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk

Redes creadas para un usuario en particular: %userprofile%\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk

Cuando lo copias en otro equipo Windows basta con ejecutarlo, un simple doble click, y ya realizará la conexión a la VPN.

Conocer tu ip externa desde línea de comandos en Linux con wget

Hace tiempo habíamos visto por aquí cómo conocer nuestra IP externa desde línea de comandos en Linux con cURL. Pero hay más métodos. Veamos hoy cómo hacerlo con wget, de nuevo recurriendo a la web ifconfig.me para ello (como en ejemplo de cURL):

wget -qO - ifconfig.me/ip

El API de ifconfig.me además nos permite conocer otras cosas como nuestro user agent, el puerto por el que conectamos, el idioma predefinido con el que navegamos… en la página principal podéis ver, debajo de vuestros datos, todos los comandos disponibles.

Solucionando el error 809 en Windows al intentar conectar una VPN con L2TP/IPSec.

Hoy configuraba en el trabajo un compañero una conexión VPN a través del firewall de un cliente nuevo y se encontraba siempre con el mismo código de error: el 809.

En principio todos los datos parecían correctos y en mi equipo (Xubuntu) y el de otro compañero (Mac) funcionaba, así que parecía que era algo relativo a la configuración de Windows. Tras un rato de búsqueda por Google me encontré con lo siguiente: Windows por defecto no puede establecer conexiones seguras con servidores que estén ubicados tras un dispositivo que haga NAT.

Entonces ¿cómo solucionamos esto?. Pues siguiendo estos pasos para cambiar esta configuración en el registro:

  • Abrimos el editor de registro regedit
  • Buscamos la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
  • Añadimos un nuevo valor de DWORD de 32 bits que se llame AssumeUDPEncapsulationContextOnSendRule
  • Buscamos también la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy
  • Si no existe la clave IPsecThroughNAT la creamos y le ponemos como valor 2, en caso de que exista modificamos su valor a 2.
  • Reiniciamos el equipo.

El valor 2 en estas claves implica que Windows permitirá realizar asociaciones de seguridad tanto si el cliente como el servidor se encuentran tras un dispositivo que haga NAT.

Hacer un reseteo a parámetros de fábrica (hard reset) de un router Technicolor TG582n

No hace mucho tiempo se popularizaron unos mensajes humorísticos en cadena en las redes sociales sobre padres que ponían tareas a sus hijos para adivinar la contraseña del wifi. Comenté que si tuviera un hijo adolescente al que no le da la cabeza para buscar cómo resetear un router ya ni me esforzaría en que intente estudiar. Esta chanza me hizo descubrir que hay mucha gente (supuestamente “nativa digital“) que no sabe la diferencia entre reiniciar un router y resetearlo, e incluso que ni conoce la posibilidad de resetear.

El Technicolor TG582n es uno de los modelos más populares de la actualidad, un modelo de gama económica que muchos proveedores de internet instalan a sus clientes.

¿En qué consiste el reseteo?

Cuando ejecutamos un reseteo devolvemos determinados ajustes del router a los parámetros de fábrica por defecto. Esto no implica, por ejemplo, eliminar actualizaciones del firmware sino reinicializar algunos parámetros, entre ellos:

  • Usuario y contraseña del router
  • Nombre y contraseña de la wifi
  • Servidor DNS predeterminado
  • Excepciones y configuración del firewall
  • Redirección de puertos

¿Cómo ejecutamos el resteo?

Es muy simple. Si te fijas en la foto de abajo verás que señalamos un agujero que está al lado del botón de encendido, bajo el cual está grabada la palabra reset:

Technicolor TG582n
Fig 1: Botón de reset

Para ejecutar el reseteo basta con coger un clip, aguja, alambre… un objeto que pueda entrar por el agujero y empujar hasta que notemos que el botón que hay dentro cede y llega a su tope. Una vez llegue aguantamos unos 15-20 segundos y soltamos. El router se reiniciará solo tras esto. Una vez veamos que la luz de WLAN deja de parpadear el router estará reinciado.

¿Cuales son los parámetros de fábrica?

Esta cuestión es compleja, porque cada distribuidor puede haber alterado los suyos. Generalmente la IP por defecto suele ser la 192.168.0.1 o la 192.168.1.1, aunque he visto alguna compañía que lo traía en otro rango. El usuario por defecto suele ser admin o administrator y la contraseña admin. En cuanto al usuario y contraseña de la wifi por defecto, generalmente están impresas en una pegatina en la parte inferior del router. Seguramente en el manual de instrucciones que acompaña al router vengan todos estos datos.

Comprobar la velocidad de conexión desde línea de comandos en Linux.

Hay múltiples webs que nos permiten ejecutar tests de velocidad, pero a veces estamos administrando un servidor sin entorno gráfico y resulta útil poder lanzar un comando que nos de el resultado. Con la siguiente línea puedes hacerlo sin tener que instalar nada:

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

Os dejo una captura del resultado desde casa de mis padres.

Teste de velocidad comandos

fping: Una herramienta de ping “vitaminado” para Linux.

Todos conocemos ping, una utilidad diagnóstica que comprueba el estado de la comunicación del host local con uno o varios equipos remotos de una red IP por medio del envío de paquetes ICMP de solicitud (ICMP Echo Request) y de respuesta (ICMP Echo Reply). Hoy vamos a ver cómo funciona fping, un programa que nos permite ampliar las posibilidades que tiene el ping standar de Linux.

Para instalarlo, en un sistema de la familia Ubuntu/Debian, basta con teclear lo siguiente:

sudo apt-get install fping

¿Qué cosillas nos aporta fping? Veamos:

  • Lanzar un ping a varias IP a la vez: Basta con pasar como parámetro las direcciones IP separadas por un espacio y fping lanzará un ping a cada uno y nos responderá con el estado de cada IP.
  • Lanzar un ping a un rango de IP: Similar a lo anterior, pero en lugar de definir manualmente una lista de IP le damos dos valores para que compruebe todo entre ellos. Para hacerlo la sintaxis es fping -s -g y las dos direcciones IP separadas por un espacio. fping a rango
  • Lanzar un ping a toda la red: También podemos definir una máscara de red para que fping envíe ping a todos los equipos de la misma. En este caso la sintaxis fping -g seguido de la red que queremos revisar (en mi caso sería fping -g 192.168.1.0/24) dará una vuelta a vuestra red mandando pings a todas las direcciones.
    fping a toda la red
  • Carga direcciones desde un fichero: Supongamos que tenemos un fichero que se llama ListaIP.txt, pues con fping podemos cargar esa lista y recorrerla. Bastaría con hacer un fping < ListaIP.txt
  • Redirigir la salida a un fichero: Esto realmente no es una característica de fping sino que es algo general de Linux. Ya sabes que añadiendo el carácter > seguido de un nombre la salida de un comando se guarda en ese fichero. Por ejemplo fping -g -r 1 192.168.1.0/24 > red.txt crearía un fichero con ese nombre con el resultado de ese comando.

En este enlace puedes ver la documentación para exprimir a fondo todas las opciones de fping.