Hacer visible en nuestra red una máquina virtual con VirtualBox (o comunicar entre si dos de estas)

herramientas Cuando creas una máquina virtual con VirtualBox, con las opciones de red por defecto, esta cuenta con conexión a cualquier recurso en la red al que tenga acceso la máquina anfitriona (conexión a Internet incluida) y puede compartir archivos con ella si configuramos la opción de «Directorios Compartidos», pero entre máquina anfitriona y máquina virtual no existe ninguna otra posible conexión. La máquina virtual tampoco es accesible de ninguna forma desde otra máquina de nuestra red local y si abrimos dos máquinas virtuales en la misma máquina anfitriona tampoco pueden verse entre si. Esto puede cambiarse fácilmente para que cualquier máquina virtual que creemos sea totalmente visible, tanto por la máquina anfitriona, como por cualquier otra máquina física (o virtual, en esta u otra máquina anfitriona configurada por este mismo método) como si se tratase verdaderamente de una máquina real conectada de forma independiente a nuestra red. Nos ponemos a ello.

Partimos de una máquina anfitriona con Debian o una distribución derivada (Ubuntu, Kubuntu, etc.), que ya tiene Virtualbox instalado y cuenta con una única interfaz de red (eth0). Lo primero que tenemos que hacer es instalar el paquete bridge-utils.

josemaria@valeria:~$ sudo apt-get install bridge-utils

Luego editamos la configuración de nuestro interface ethernet (/etc/network/interfaces) y lo dejamos de esta forma:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

auto br0
iface br0 inet dhcp
bridge_ports eth0 vbox0 vbox1

Las líneas en negritas son las que hemos añadido. En ellas estamos definiendo dos interfaces virtuales (vbox0 y vbox1) que están ligados a nuestro interfaz físico real (eth0) y que tomaran una IP de forma dinámica a través de un servicio DHCP que debemos de tener disponible en nuestra red. Esto no quiere decir que no podamos ponerles direcciones fijas a nuestras máquinas virtuales: Estas tendrán disponible este servicio, si existe, desde su arranque pero luego nosotros podremos configurarlas perfectamente mediante IP’s estáticas sin ningún problema, ya dentro del sistema operativo que hayamos elegido para ellas. Por cierto: hemos creado dos interfaces por que es lo que necesitamos (yo, en concreto, quiero hacer prácticas para los chicos con un windows 2003 server y un windows xp que deben de verse para que el segundo se conecte al dominio definido por el primero) pero, lógicamente, podríamos definir una sóla. O diez 🙂 .

Ahora editamos el archivo de configuración de interfaces de virtualbox (/etc/vbox/interfaces) y añadimos las siguientes líneas:

vbox0 josemaria br0
vbox1 josemaria br0

En ellas redefinimos los dos nuevos interfaces virtuales que hemos creado (vbox0 y vbox1) y declaramos el usuario de la máquina anfitriona que tiene permiso para usarlos.

Ya casi estamos. Ahora reiniciamos, por este orden, la interfaz de red física de nuesta máquina anfitriona y luego virtualbox:

josemaria@valeria:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
(...)
bound to 192.168.1.10 -- renewal in 39314 seconds.
[ OK ]
josemaria@valeria:~$ sudo /etc/init.d/virtualbox-ose restart
* Shutting down VirtualBox host networking
* done.
* Starting VirtualBox host networking
* done.

Luego iniciamos Virtualbox y configuramos la red de las máquinas que queremos hacer accesibles de esta forma:

Configurando VirtualBox con bridge-utils

Y con esto ya si que hemos acabado. En el siguiente pantallazo (ampliable si hacéis click en él) podéis ver como mis dos máquinas virtuales se ven perfectamente (la XP tomando su IP mediante DHCP, el 2003 server con IP estática configurada manualmente), la autenticación de dominio entre ellos se ha hecho perfectamente y ambas son visibles también desde la máquina anfitriona.

Configurando VirtualBox con bridge-utils

ACTUALIZACION: Si has llegado aquí a través de Google, olvídate de ello. Virtualbox tiene ya un modo bridge de forma automática con sólo escoger la opción adecuada en la configuración de red. Lo hemos contando aquí.

Frases desafortunadas (y XXII)

icono para las frases desafortunadas

«¡Qué triste dedicarse toda la vida a luchar contra el capitalismo y la bestia estadounidense y cuando en lo criminal se llaman Txeroki, en lo civil se llaman Wyoming!»

Federico Jiménez Losantos, locutor estrella de la cadena de radio de la Iglesia Católica de nuestro país, vuelve a visitarnos con otra de sus ocurrencias. En justicia podría estar aquí todos los días con una «fgggrasecita» de las suyas, pero somos buenos y le damos una oportunidad a los demás de vez en cuando.

Yo tampoco secundo la huelga

Opinión Antes de nada decir que, por supuesto, respeto a todo el que mañana quiera ejercer su derecho e ir a la huelga. Yo no lo haré y me gustaría dejar aquí mis motivos por si el lector ese que pasa de vez en cuando por aquí está aún indeciso y puedo ayudarle a tomar una decisión.

  • No soy absolutamente nada corporativista: no me siento ligado a nadie sólo por el hecho de que tenga la misma titulación que yo. Me siento identificado con la gente que desempeña sus funciones con profesionalidad y dentro de este sector conozco a tantas personas sin titulación de informática que hacen su trabajo fabulosamente bien, como a ingenieros en informática que parece que han conseguido su título descargándoselo por el emule.
  • Tampoco creo en la excesiva regulación de competencias profesionales. Creo en un modelo en el que un determinado trabajo pueda desempeñarlo quién esté capacitado para ello y una titulación (al igual que una certificación, algo que en esta profesión gusta demasiado) no garantiza absolutamente nada y mucho menos a medida que transcurren años desde que la obtuviste. Esto puede que no sea tan evidente para quién aún esté en la facultad o lleve poco tiempo «en la calle», pero cualquiera que lleve más de 10 años en el mundo profesional puede dar fe de ello.
  • No me siento para nada agraviado por el tratamiento que se le da a otras titulaciones. De hecho yo me matriculé en informática cuando era una Licenciatura, soy Licenciado en Informática y jamás opté a la convalidación de la titulación porque me siento más cercano en mis inquietudes y formación al pensamiento abstracto y científico que a la aplicación práctica de determinados conocimientos. No estoy en contra de las ingenierías, ojo, pero no fue lo que yo elegí estudiar y tampoco me hace gracia que, a veces, me traten como si fuese un ingeniero: ni lo soy ni he querido serlo nunca.
  • Me desagradan profundamente los mensajes manipuladores que han lanzado los organizadores y promotores de la huelga: que la titulación de informática iba a desaparecer, que a quienes ya tuvieran el título o estuvieran en ello no les iba a servir para nada, que no podremos trabajar en Europa, la confusión que han tratado de crear mezclando atribuciones y competencias…
  • No creo, en definitiva que la situación de los titulados en informática vaya a cambiar ni un ápice en el futuro tras el desarrollo de la nueva ley de universidades. Ni para bien, ni para mal.

Hay mucha gente por ahí que ha escrito sobre esto y en esta línea mucho mejor que yo. Os dejo aquí algunos enlaces para quién quiera leer algo más en este sentido:

Acer AspireOne con Ubuntu Netbook Remix

portátiles Me ha costado trabajo decidirme pero, finalmente, he optado por sacrificar las ventajas de la distribución Linpus original a cambio de contar con una distribución más cómoda y con la que me manejo mejor y le he instalado Ubuntu Netbook Remix a mi Acer AspireOne. Aquí tenéis la «evolución» que ha sufrido en su aspecto desde que me lo compré, con el escritorio original de la Linpus, hasta ahora:

El AspireOne original con Linpus El AspireOne con Linpus maqueado
El AspireOne con Ubuntu Netbook Remix

Una de las cosas buenas que tiene la distro de Ubuntu especializada en Netbooks es que es capaz de pasar del aspecto predefinido que veís aquí arriba, al de un escritorio convencional y viceversa con apenas un par de clicks de ratón:

El AspireOne con Ubuntu Netbook Remix y escritorio convencional

Aunque parece que sigue sin ser un producto del todo oficial y no va parejo con el resto de las distribuciones de Canonical, el procedimiento de instalación se ha simplificado mucho desde las primeras versiones y puede seguirse fácilmente desde aquí. Si la semana que viene soy capaz de sacar un par de horitas libres haré un tutorial sencillote para los más perezosos.

Un Evento Blog para la web 0,5

evento blog 08 Este fin de semana todo el mundo que es alguien, se lo cree, o aspira a serlo en este mundillo de «la blogocosa» está en Sevilla en el EBE08 Y muchos de los que no han podido ir están por ahí, lamentándose por ello por las esquinas de su twitter…

A mi, sin embargo, que queréis que os diga, me parece un completo desperdicio perder un fin de semana como este para ir a unas charlas que, perfectamente, podrían organizarse de forma que cualquiera pudiera seguirlas (e, incluso participar) desde su casa y sin desplazarse de su ciudad. O, al menos, posibilitar esta opción para quien así lo prefiera. Si yo, con cuatro euros de por medio, soy capaz de organizar de forma digna un evento con intervenciones en directo de ponentes desde Argentina, Nicaragua o Perú y retransmitirlas a través de live streaming ¿Cómo es que un evento con el presupuesto de EBE08 y que está dirigido precisamente a esto de la web interactiva no se preocupa por este tema?

Lo dicho, que de 2.0 nada de nada. 0,5 y va que arde.

(Más) pequeños cambios

opinion El primero es evidente, creo. La foto de la cabecera para esta temporada es de un curioso arriate compuesto por botas militares reutilizadas para hacer las veces de macetas (o tiestos, que se dice en mi tierra), una función bastante más provechosa que la de servir de calzado a un descerebrado que sigue jugando a las batallitas después de haber cumplido los 20 años. Lo vimos en lo que parecía un espacio de actuaciones alternativo en Berlín y aquí tenéis otra toma:

dscf1046

El segundo es que, después de nuevos problemas con él, he decidido pasar de feedburner. No lo he desactivado y, por el momento, tampoco tengo intención de hacerlo, así que nadie debería de tener problemas por seguir usándolo, pero por si acaso que sepáis que los feeds de este blog ya no se redireccionan de forma automática al servicio de Google. Si quereís actualizarlo, por favor, hacedlo con este enlace.

Proxy transparente con Squid en Debian

icono de herramientas Si fuese cristiano pensaría que Zaryn Dentzel es el anticristo y esa abominación suya que se llama tuenti el camino a la perdición de toda una generación de adolescentes que prefieren perder el tiempo con estas bobadas en lugar de atender a las clases… O eso hacían, antes de que instalara el proxy con squid, claro. ¿Necesitáis un filtro de contenido eficiente y barato que funcione con software libre? Pues acompañadme…

La máquina que hará de proxy debe de tener dos tarjetas de red. Le instalamos una Debian seleccionando como interfaz de red primaria la que irá conectada al router externo, en mi caso la eth0. La instalación ha de ser mínima (sólo sistema estandard) para que la máquina no tenga ningún servicio superfluo.

Al final, el diagrama de red que perseguimos es como este:

Diagrama de red con Squid

Después del primer arranque configuramos las tarjetas de red en /etc/network/interfaces. Las mías quedan de la siguiente forma:

allow-hotplug eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.252
gateway 192.168.1.1
network 192.168.1.0
broadcast 192.168.1.3

allow-hotplug eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.255.0
network 192.168.100.0
broadcast 192.168.100.255

Instalamos ahora los paquetes correspondientes a los servicios que vamos a necesitar y que no vienen incorporados en la instalación por defecto: dhcp y squid:

sudo apt-get install dhcp squid

Usaremos el servicio dhcp para asignar direcciones en nuestra red interna. Para configurarlo debemos, primero, editar el fichero /etc/default/dhcp para especificar la interface que queremos que use el servicio (por defecto es eth0 y nosotros lo queremos en eth1). Para ello basta con completar la siguiente línea en dicho fichero:

INTERFACES="eth1"

Luego editamos el fichero /etc/dhcpd.conf y configuramos los datos correspondientes a la subred que vamos a administrar:

subnet 192.168.100.0 netmask 255.255.255.0 {
     range 192.168.100.100 192.168.100.254;
     option broadcast-address 192.168.100.255;
     option routers 192.168.100.1;
     option domain-name-servers 80.58.61.250, 80.58.61.254;
     }

Y ahora ya arrancamos el servicio de dhcp con /etc/init.d/dhcp start

ACTUALIZACI�N PARA DEBIAN 7: Hay algunos cambios en lo relativo a la instalación del servidor dhcp:

  • El paquete de instalación se llama ahora dhcp3-server
  • El fichero de configuración principal (donde seleccionamos el interface de escucha) se llama ahora isc-dhcp-server y sigue estando en el directorio /etc/default
  • El fichero donde configuramos los pool de direcciones se sigue llamando dhcpd.conf pero se encuentra ahora en el directorio /etc/dhcp
  • El daemon del servicio se llama ahora isc-dhcp-server

Ya casi estamos. Ahora vamos a hacer unos cambios en el fichero de configuración de squid (/etc/squid/squid.conf). Primero localizamos la línea con el puerto de entrada de squid (por defecto http_port 3128) y añadimos el parámetro transparente. Debe de quedarnos algo así:

http_port 3128 transparent

A continuación de esto, y en el mismo fichero, añadimos la siguiente línea:

acl lan src 192.168.1.2 192.168.100.0/24

Y, por último, buscamos la siguiente línea y la descomentamos (o la escribimos si no aparece):

http_access allow localnet

Ahora sólo nos queda configurar la máquina como router y direccionar el tráfico web que recibe por el interfaz interno (eth1) al puerto 3128 que es el que usa squid. Esto lo hacemos gracias a IPtables (que vienen instaladas en Debian por defecto) y al script que os copio a continuación (que he tomado de las páginas de Unixcraft) y que debes de configurar para que se ejecute de forma automática en el arranque de la máquina:

#!/bin/sh
# squid server IP
SQUID_SERVER="192.168.1.2"
# Interface connected to Internet
INTERNET="eth0"
# Interface connected to LAN
LAN_IN="eth1"
# Squid port
SQUID_PORT="3128"
# DO NOT MODIFY BELOW
# Clean old firewall
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
# Load IPTABLES modules for NAT and IP conntrack support
modprobe ip_conntrack
modprobe ip_conntrack_ftp
# For win xp ftp client
#modprobe ip_nat_ftp
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting default filter policy
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
# Unlimited access to loop back
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Allow UDP, DNS and Passive FTP
iptables -A INPUT -i $INTERNET -m state --state ESTABLISHED,RELATED -j ACCEPT
# set this system as a router for Rest of LAN
iptables --table nat --append POSTROUTING --out-interface $INTERNET -j MASQUERADE
iptables --append FORWARD --in-interface $LAN_IN -j ACCEPT
# unlimited access to LAN
iptables -A INPUT -i $LAN_IN -j ACCEPT
iptables -A OUTPUT -o $LAN_IN -j ACCEPT
# DNAT port 80 request comming from LAN systems to squid 3128 ($SQUID_PORT) aka transparent proxy
iptables -t nat -A PREROUTING -i $LAN_IN -p tcp --dport 80 -j DNAT --to $SQUID_SERVER:$SQUID_PORT
# if it is same system
iptables -t nat -A PREROUTING -i $INTERNET -p tcp --dport 80 -j REDIRECT --to-port $SQUID_PORT
# DROP everything and Log it
iptables -A INPUT -j LOG
iptables -A INPUT -j DROP

Si hemos arrancado de forma manual el script anterior, a continuación hay que reiniciar el daemon de squid:

service squid restart

Y lo que nos queda ya es bien fácil: personalizar la página que muestra Squid cuando tratas de visitar una página restringida (esto es opcional, claro, pero conveniente) y configurar las reglas de páginas prohibidas y permitidas. Si tenéis problemas con el tema de las reglas u os resulta más cómodo contar con una interfaz web para la configuración de estas, webmin tiene un módulo para la configuración de squid.

Actualización de BIOS en Acer AspireOne

portátiles Desde ayer hay disponible una nueva versión de la BIOS para el Acer Aspire One, la 3307a, y podéis descargarla desde aquí. Los cambios respecto a la anterior no son nada importantes pero resulta que yo, tan atento para actualizar otras cosas, no había estado pendiente de esto desde que lo compré, y entre la versión que traía el equipo de fábrica, la 3114, y la actual parece que si hay cambios importantes que mejoran, entre otras cosas, la escritura en disco y la duración de la batería.

Quien quiera actualizar el suyo puede seguir las instrucciones que dan en el blog de macles y que, básicamente, consisten en preparar una memoria USB «bootable» con el sistema FreeDos y la herramienta Unetbootin, volcar en ella los archivos de la nueva BIOS, una vez descomprimidos, y arrancar nuestro ACER con este medio. Una vez hecho esto ejecutamos el archivo .bat incluido junto con la actualización y, cuando finalice el proceso, reiniciamos el portátil.

ACTUALIZACI�N IMPORTANTE: He tenido numerosos problemas de inconsistencias en el sistema de archivos de mi Acer y tengo la sospecha de que el problema viene provocado por la actualización a la versión 3307a de la BIOS. He retrocedido a la anterior 3305 (disponible a través del mismo enlace) y parece que aquí el problema no se reproduce. Que lo sepáis.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información

ACEPTAR
Aviso de cookies