You are on page 1of 8

Crear una red virtual con Qemu y OpenVPN

versión 1.0 - Por Gerardo García Peña


Copyright © 2005 Gerardo García Peña
Verbatim copying and distribution of this entire article is permitted worldwide
without royalty in any medium provided this notice is preserved.

Introducción
Este documento trata sobre como crear una red virtual con ayuda del Qemu y OpenVPN, de tal
manera que se puedan realizar las prácticas de SXC de un modo más o menos sencillo.

La configuración va orientada a crear una configuración para Qemu de tal forma que acepte
conexiones entrantes, algo no posible en la configuración de red por defecto de Qemu.

Para ello se crea una pasarela VPN con una tarjeta virtual que llamaremos TAP, creada por
OpenVPN. Qemu creará otra tarjeta virtual que se conectará a ella y, mediante la conexión
compartida de Internet de Windows, haremos que el ordenador local (el real, con Windows) se
convierta en un enrutador hacia Internet.

Mapa de la red
En este mapa podemos ver como interactúan los elementos virtuales y físicos:

Los elementos son los siguientes:

– La máquina con IP 192.168.0.2 será nuestra máquina virtual (Qemu).


– La VPN la gestiona OpenVPN 2.0.2
– La tarjeta de red 192.168.0.1 es virtual y la crea OpenVPN 2.0.2
– El ordenador negro con flechas (las flechas denotan que funcionará como Router) es nuestra
máquina física.
– La cajita con bolitas es el típico símbolo que se le arrea a un Modem.
– El rayo es la conexión con Internet, y la nube Internet.
– Los DNS1 y DNS2 son los servidores de nombre que siempre usamos.
– El ordenador 'foo.upc.es' lo usaremos para hacer las pruebas. Es un servidor de una asociación
de la UPC, el cual gestiono yo y se que no hará cosas raras.

Instalación de OpenVPN 2.0.2


Descarga
Lo podemos descargar desde la siguiente URL:

http://openvpn.net/download.html

Debemos descargar la versión Windows Installer (openvpn-2.0.2-install.exe).

Una vez descargado lo instalamos de forma estándar en el ordenador, es decir, decidle que sí a todo
y que sus decisiones nos parecen maravillosas.

Reiniciad el ordenador.

Configuración de la tarjeta TAP


Ahora abrid una ventana de Símbolo de comandos. En ella escribid:

openvpn --show-adapters

El resultado será algo del estilo:

Available TAP-WIN32 adapters [name, GUID]:


'tap_name' {xxx-yyy-zzz}

El campo tap_name será algo de la forma Conexión de area local #X o una chorrada por el estilo.
Lo importante es que sepáis que chorrada es, ya que le cambiaremos el nombre ahora mismo por
algo muchísimo más descriptivo.

Id a Panel de control, abrid Conexiones de red y de acceso telefónico y ahí encontraréis una tarjeta
de red con el nombre chorra que habéis visto antes. Cambiadle el nombre por tap, nombre a todas
luces más hermoso, corto y descriptivo.

Ahora pulsad sobre la tarjeta de red con el botón derecho del ratón, y configuráis el TCP/IP:
Observad que en la configuración establecemos la IP 192.168.0.1/24 que figuraba en el mapa. El
valor de “DNS preferido” y “DNS alternativo” serían las direcciones IP de DNS1 y DNS2. En este
caso tenemos 172.26.0.1 que es el DNS interno de mi casa (sí, tengo un DNS propio y soy así de
bruto, ¿pasa algo?).

Configuración de la conexión compartida a Internet


Ahora debemos ir a nuestra interfaz conectada a Internet (puede ser una conexión PPPoE ADSL,
una conexión por Módem RTB, o una Ethernet -como en mi caso-) y activar en ella la conexión
compartida a Internet:
Puede ser que os salga un dialogo bárbaro o alguna animalada extraña de Windows. Le decís que sí
y a freír espárragos.

Probad a conectaros a Internet desde el Explorer y ver que todo aún funciona. Si es así, es buena
señal.
Instalación de Qemu
Descarga
Descargad esta versión de Qemu:

http://www.h6.dion.ne.jp/~kazuw/qemu-win/qemu-0.7.1-tap.zip

Es una versión especial con los parches para poder trabajar con tarjetas TAP de OpenVPN.

Instalación
Descomprimid el contenido del fichero .ZIP en la raíz. Os quedará un directorio C:\qemu-0.7.1-tap\
que renombraréis a C:\qemu\ por vuestra propia salud mental y para que sea más fácil manteneros
coherentes con este documento.

Esto es opcional y es para que todo vaya más rápido: copiad en éste directorio una imagen ISO del
Knoppix-STD. De esta forma no hará falta que tengaís el CD de Knoppix introducido en la unidad
de CD cada vez que trabajéis con él. Además irá todo más rápido ;).
Lanzar Qemu con Knoppix
Abrir una ventana de Símbolo de comandos.
Dirigirse al directorio de Qemu ejecutando la siguiente línea:

cd \qemu

Ahora editad un fichero knoppix.bat en ese directorio con este contenido:

qemu -L . -cdrom [ubicación_Knoppix] -tap tap

Si habéis copiado la imagen de Knoppix-STD al directorio de Qemu la ubicación del knoppix será
el nombre del fichero:

knoppix-std-0.1.iso

En cambio, si preferís trabajar con el CD de Knoppix (o cualquier otro CD arrancable), introducid:

\\.\d:

A partir de ahora, cuando queráis trabajar con Knoppix-STD, sólo tendreís que ejecutar el fichero
knoppix.bat desde el explorador de archivos o con un acceso directo.
Configuración de Knoppix-STD
Pulsando el botón derecho del ratón sobre el escritorio de Knoppix-STD tendría que aparecer un
menú. En el apartado Internet, dentro de Connect, seleccionad netcard config.

Responded según este patrón:

– Use DHCP Broadcast?


NO, caca
– Please enter IP Address for eth0
Le poneís 192.168.0.2
– Please enter Network Mask for eth0
Una buenísima opción es 255.255.255.0
– Please enter Broadcast Address for eth0
Apostaría sin dudarlo por 192.168.0.255
– Please enter Default Gateway
El otro extremo de la VPN: 192.168.0.1
– Please enter Nameserver(s)
Aquí introducís las IP de los servidores de nombres (DNS) de vuestro proveedor de
Internet, separados por espacios en blanco.

Pruebas
La tarjeta virtual de Knoppix
Primero de todo probaremos que la tarjeta virtual de Knoppix está bien configurada y se consigue
conectar con la tarjeta virtual tap.

Abrid una terminal en Knoppix y haced un ping (es la primera línea del código que figura aquí). La
salida tendría que parecerse a ésta:

knoppix@ttyp1[knoppix] ping -c4 192.168.0.2


PING 192.168.0.2 (192.168.0.2) 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.658 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=255 time=0.781 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=255 time=0.887 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=255 time=1.16 ms

--- 192.168.0.2 ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.658/0.872/1.165/0.190 ms

Luego probamos la conectividad con la VPN:

knoppix@ttyp1[knoppix] ping -c4 192.168.0.1


PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.658 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.781 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.887 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=1.16 ms

--- 192.168.0.1 ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.658/0.872/1.165/0.190 ms
Conexión con el exterior
Para esta prueba debemos tener levantada la conexión a Internet.
Ahora probamos a conectarnos con un servidor de Internet, pero sin resolver nombres: a saco.
Al ejecutarse el comando de ping deberíamos tener algo parecido a esta salida:

knoppix@ttyp1[knoppix] ping -c4 147.83.200.172


PING 147.83.200.172 (147.83.200.172) 56(84) bytes of data.
64 bytes from 147.83.200.172: icmp_seq=1 ttl=50 time=84.3 ms
64 bytes from 147.83.200.172: icmp_seq=2 ttl=50 time=76.8 ms
64 bytes from 147.83.200.172: icmp_seq=3 ttl=50 time=79.0 ms
64 bytes from 147.83.200.172: icmp_seq=4 ttl=50 time=80.2 ms

--- 147.83.200.172 ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 76.886/80.137/84.333/2.733 ms

Si hemos llegado hasta aquí todo va muy bien. Probemos los DNS. Repetimos el mismo ping pero
con el nombre del servidor usado antes:

knoppix@ttyp1[knoppix] ping -c4 foo.upc.es


PING foo.upc.es (147.83.200.172) 56(84) bytes of data.
64 bytes from foo.upc.es (147.83.200.172): icmp_seq=1 ttl=50 time=79.2 ms
64 bytes from foo.upc.es (147.83.200.172): icmp_seq=2 ttl=50 time=78.4 ms
64 bytes from foo.upc.es (147.83.200.172): icmp_seq=3 ttl=50 time=76.1 ms
64 bytes from foo.upc.es (147.83.200.172): icmp_seq=4 ttl=50 time=75.4 ms

--- foo.upc.es ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 75.453/77.347/79.283/1.604 ms

Si todo ha ido bien en estos momentos estáis disfrutando de una knoppix con conectividad casi
completa1 con el exterior.

1 En realidad sólo podeís crear conexiones desde la Knoppix a internet, pero nadie puede crear una conexión
directamente desde Internet a vuestra Knoppix debido a que se está realizando NAT. En cierto modo es una ventaja
ya que así la seguridad de vuestro ordenador no se ve comprometida ;-)

You might also like