VMware trae una opción para conectarse a la red obteniendo la ip de la red desde un dispositivo virtual, pudiendo así tener a la máquina virtual como si estuviese conectada a la misma red de la maquina anfitriona, muy útil para probar hacer nuestros propios servidores caseros y jugar con las configuraciones
; esto se me había complicado un poco con VirtualBox, mi virtualizador GNU favorito, ya que no tiene un asistente para eso, así que me puse manos a la obra, y con la ayuda de Google pues he logrado hacerlo, y aquí les dejo el mini How-To de como se crean los dispositivos Tun/Tap y como usarlos con VirtualBox:
Para poder utilizar una tarjeta de red en VirutalBox primero debemos compilar algunos paquetes que nos servirán para ello.
Lo primero que necesitamos son los Bridge Utils que nos servirán para hacer la conexión con nuestra tarjeta de red.
Lo segundo es descargarnos los uml-Utilities que nos servirán para crear los dispositivos TAP, que puede ser descargado desde sourceforge.net
Si no desean compilar, pues tengo acá los paquetes para Slackware 12
Si el kernel que usamos es el que viene con Slackware no habrá problemas, pero si es uno a la medida debemos tener en cuenta que tengamos activado el soporte:
networking -> 802.1d Ethernet Bridging
ya sea como módulo o compilado directamente en el kernel.
Ahora procedemos a crear nuestro dispositivo virtual
Lo primero será crear la carpeta y el nodo para el dispositivo tap
# mkdir /dev/net
# mknod /dev/net/tun c 10 200
Con nuestro nodo creado podemos crear un grupo para que pueda ingresar al dispositivo, y le asignamos los permisos necesarios al dispositivo:
# groupadd umlnetwork
# chgrp umlnetwork /dev/net/tun
# chmod g+rw /dev/net/tun
Instalamos el modulo para este dispositivo:
# modprobe tun
Ahora debemos crear nuestra interfaz virtual
# tunctl -u <usuario> -t tap0
Es importante que tengamos en cuenta que debemos reemplazar <usuario> por el usuario que vaya a usar la interfaz, o no podrá ingresar por problemas de permisos y recordarnos añadir a ese usuario al grupo umlnetwork; por su puesto que también pudimos cambiar el grupo del dispositivo (/dev/net/tun) a users, para que todos los usuarios tengan acceso al dispositivo. el nombre tap0 lo pueden cambiar por el que mas les guste
Si no queremos mas esta interfaz de red virtual la podemos eliminar con el parametro -d:
# tunctl -d tap0
Ahora se supone que con añadir unas cuantas líneas al /etc/modprobe.d/modprobe.conf podemos hacer que con solo crear el nodo automaticamente nos levante los dispositivos creados y las configuraciones, no me ha funcionado muy bien, pero se los dejo por si logran hacerlo
# echo “alias char-major-10-200 tun” >> /etc/modprobe.d/modprobe.conf
# depmod -a
Ahora debemos configurar nuestra conexión con alguna de nuestras tarjetas de red además del dispositivo tap, yo usaré la segunda tarjeta (eth1), para ello debemos colocarla en modo promiscuo o en modo para compartir por así decirlo
y con la dirección en
# ifconfig eth1 0.0.0.0 promisc up
# ifconfig tap0 0.0.0.0 promisc up
Ahora creamos el dispositivo puente que se encargará de conectar ambas tarjetas de red entre sí, esto lo hacemos con el comando brctl ( bridge control ), primero creamos el dispositivo y luego añadimos a ese dispositivo las interfaz que queramos unir.
# brctl addbr puente0
# brctl addif puente0 eth1
para corroborar que ya tenemos añadida esa interfaz y todo esté bien configurado podemos ver como esta el estado del puente:
# brctl show
Ahora le asignamos una dirección de red a nuestra interfaz puente para que podamos hacer lo que necesitemos, como probar servicios de dhcp, OpenLDAP, u otras cosas que sin esto sería difícil hacer
# ifconfig puente0 192.168.0.5 netmask 255.255.255.0 up
Con todo en orden solo nos resta crear nuestros script de inicio para Virtual Box
Script de inicio:
#!/bin/sh
kdesu “/sbin/ifconfig $2 up && /usr/sbin/brctl addif puente0 $2″
Lo que hace es levantar la tarjeta de red y luego añadirla al puente.
Script de cierre de sesión:
#!/bin/sh
kdesu “/usr/sbin/brctl delif puente0 $2 && /sbin/ifconfig $2 down”
Como en el anterior, solo que este script quita al dispositivo del puente y lo deshabilita.
Estos scripts los colocamos en una carpeta y los llamamos desde la pantalla de VirtualBox de esta manera:
Y cuando iniciemos nos pedirá usuario y contraseña para que podamos ejecutar los scripts.
Ahora ya podemos hacer nuestras pruebas de configuraciones como en una Red Real!!
Fuentes de Inspiracion y de ayuda
Bulma -> http://bulma.net/body.phtml?…..Page=2
VirtualBox Wiki -> http://www.virtualbox.org/wiki/Automatic_Bridge_Ubuntu
Virtualización con Quemu -> http://www.saghul.net/…howto-virtualizacion…/
Documentación del kernel -> http://www.kernel.org/…/networking/tuntap.txt
Documentacion de Quemu -> http://compsoc.dur.ac.uk/~djw/qemu.html
Configuraciones de Puentes -> http://es.tldp.org/…/Bridge+Cortafuegos.html












Septiembre 19, 2007 a las 9:48 pm |
dhabyx mierda! hoy tuve tentando de nuevo un slack!! ubuntu me volvio zombie vas a ver
Septiembre 19, 2007 a las 10:52 pm |
@Jorge: jajajaja, ya viste, pasate al lado Zen de Linux
Septiembre 20, 2007 a las 9:13 am |
Porque no usar el Bridged network setting. Asi tambien tu guest OS pueded adquirir su propia IP ya sea DCHP or Static.
Ahora si estas tratando de separar el traffico para distinguir machine, entoces si iria de esa forma.
En un setup que tengo lo mas facil para mi fue agregar una nueve nic card. Funciona perfecto. Este es un heavy duty server though.
Saludos!
Septiembre 20, 2007 a las 1:58 pm |
@Luis: Pues yo tengo dos tarjetas (reales) una que conecta a internet y otra que la tengo casi siempre desconectada en mi Host OS
lo que me permite hacer lo que quiera con la otra nic, entonces así puedo probar colocar un servidor dhcp solo en la otra targeta y probar configuraciones de iptables, etc. y aunque bien se puede crear otra nic en el virtual lo que quiero es tener total control sobre lo que hace y no usar el servidor dhcp del VirtualBox, si no que yo poder efectuar eso desde mi tarjeta (real) eth1 en el HostOS que va puenteada al dispositivo tun también en el HostOS, para que el GuestOS pueda usarla
Saludos.
Septiembre 23, 2007 a las 3:07 pm |
Muy interesante, haré la prueba =)
Septiembre 23, 2007 a las 3:35 pm |
@Element: Que te diviertas
Saludos.
Septiembre 25, 2007 a las 10:36 am |
Wow bastante bueno !!! , lo voy a probar.
Septiembre 25, 2007 a las 4:13 pm |
@P3II3: a divertirse!!!
Junio 14, 2008 a las 11:51 pm |
Flaco sos Slackware y pones cosas con ubuntu ??? a sos un desastre.
Junio 14, 2008 a las 11:55 pm |
@Slack, en donde miras cosas de Ubuntu??
si te refieres al screenshot, solo es solo un tema de color parecido al de ubuntu pero no igual, y el tema del borde de la pantalla se llama Crystal, lo que hace que sea transparente además le puse un tono ocre por eso pareciera que es ubuntu pero es KDE
Saludos
Junio 24, 2008 a las 9:38 pm |
Me parece que a lo que se refiere es a que pusiste una imagen que dice en la barra “Ubuntu Settings”… cosa que preocuparia a cualquier Slack, ya que seria visto como tomar el nombre de slackware en vano xD
Muy buen tuto.. cuando pueda voi a ver si lo pongo en practica..
Saludos dhabyx
A.-
Junio 24, 2008 a las 10:25 pm |
@Asclepio: bueno, estaba configurando Ubuntu,
, es la configuración que utilicé para Configurar la máquina virtual de Ubuntu =), yo solamente lo tengo en máquina virtual y no en una partición directa
Agosto 5, 2008 a las 6:28 pm |
Muy buen tutorial, mucho tiempo atrás lo hacía de manera similar. Sin embargo, una acotación:
No se olviden de colocar los -scripts de inicio- con el bit de ejecución.
Saludos
Agosto 14, 2008 a las 3:44 pm |
@Alejandro gracias por el tip