Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[redes] vlan y virtualizacion.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Tue Jan 27, 2009 7:58 pm    Post subject: [redes] vlan y virtualizacion. Reply with quote

Hola,

Estaba intentando planificar y montar la red de un servidorcillo de virtualizacion, con una sola interface de red, de forma que pudiera tener maquinas virtuales tanto en la lan como en la dmz, la idea es la siguiente:

Del router vienen 2 vlan (vlan1->lan y vlan2->dmz) a la unica interface de red del servidor (eth0) en el que hay tambien una interface de red virtual (tap0) conectada a un switch virtual (vde) al que se conectan las maquinas virtuales:
Code:

                                    ------------------------------------------------
                                    |    pc - vlan1: 192.168.1.2                   |
----------------------              |                ----------------------------  |
| router:            |              |                | vde - vlan1: 192.168.1.3 |  |
| vlan1: 192.168.1.1 |--------------|eth0    tap0----| vde - vlan1: 192.168.1.4 |  |
| vlan2: 192.168.2.1 |              |                | vde - vlan2: 192.168.2.2 |  |
----------------------              |                ----------------------------  |
                                    ------------------------------------------------

Ahora lo que no tengo claro es como pasar las vlan de eth0 a tap0 manteniendo el pc en la vlan1.

La solucion que se me ocurre es montar en el pc un bridge (br0->192.168.1.2) con las dos interfaces (eth0 y tap0), que imagino mantenga las vlan, pero en este caso ¿el pc (br0) realmente estaria dentro de la vlan1?

Bueno, si a alguien puede arrojar un poco de luz a mis limitados conocimientos de redes...

Muchas gracias y salu2.
Back to top
View user's profile Send private message
Inodoro_Pereyra
Advocate
Advocate


Joined: 03 Nov 2006
Posts: 2631
Location: En la otra punta del cable

PostPosted: Tue Jan 27, 2009 10:34 pm    Post subject: Reply with quote

IP Aliasing en el bridge:

En el router: eth0:0 192.168.1.1 | eth0:1 192.168.2.1
En el servidor: br0:0 192.168.1.X | br0:1 192.168.2.X

Esa se me ocurre que sería la forma existiendo el puente entre eth0 en el servidor y tap0.

De todas formas, si el asunto es que las pc (virtuales o no) de una vlan no tengan acceso a las de la otra vlan pero manteniendo la conectividad contra el router, bastaría con que el router pertenezca a la misma subred que ambas vlans y listo:

En el router: eth0 192.168.1.1 netmask 255.255.252.0

En vlan1: ethX 192.168.1.X netmask 255.255.255.0
En vlan2: ethX 192.168.2.X netmask 255.255.255.0

Es mucho mas sencillo de rutear de esta manera. (Si vas a poner iptables de pormedio).

Salud!
_________________
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Thu Jan 29, 2009 10:48 am    Post subject: Reply with quote

Eso es exactamente lo que pretendia, que las maquinas de la lan no sean directamente accesibes desde la dmz y viceversa, salvo algun servicio de la dmz que si podria ser alcanzable desde la lan, cosa que pretendia hecer con routing mediante iptables.

Por lo que entiendo me recomiendas utilizar subneting en vez de vlans de forma que el router pertenezca tanto a la subred lan como a la subred dmz. Lo que no termino de pillar en este caso es la parte de siempre, la union de eth0 con tap0. Imagino que sea haciendo un br0 entre eth0 y tap0 poniendole al br0 una ip de la subred que quiera (192.168.1.2/24 para que pertenezca a la subred lan) que seria la que utilizaria el servidor fisico. ¿acerte?

Muchas gracias Inodoro_Pereyra y salu2.
Back to top
View user's profile Send private message
Inodoro_Pereyra
Advocate
Advocate


Joined: 03 Nov 2006
Posts: 2631
Location: En la otra punta del cable

PostPosted: Thu Jan 29, 2009 2:35 pm    Post subject: Reply with quote

Haciendo un poco de memoria encontré el Mini Howto de Gringo para integrar kvm a la LAN que es perfectamente aplicable a tu caso.

Salud!
_________________
Mi Blog.

Si no fuera por C, estaríamos escribiendo programas en BASI, PASAL y OBOL.
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Thu Jan 29, 2009 4:35 pm    Post subject: Reply with quote

Si, lo conozco. Fue el que utilice en el portatil durante una temporada, hasta que empece a utilizar la wifi que no se puede meter en bridge por lo que cambie el sistema a routing.

Bueno imagino que el mejor sistema sera probar... estaba esperando a que saliera la nueba version de openwrt, pero ahora que han hecho publica la RC2 puede ser buen momento.

Muchas gracias y salu2.
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Tue Feb 10, 2009 8:44 pm    Post subject: Reply with quote

Por si a alguien le interesa...

Teniendo en cuenta que al PC fisico por eth0 le entran 2 vlan y tenemos una interface virtual:
- vlan_0 no marcada (untagged) 192.168.1.0
- vlan_1 marcada (tagged) 192.168.2.0
- tap0

Configuramos el puente entre eth0 y tap0 que tendra una IP perteneciente a la vlan_0 (ya que no esta marcada) para dar servicio al PC fisico, es necesario emerger previamente bidge-utils y crear los links para tap0 y br0 (https://forums.gentoo.org/viewtopic-t-579065-start-0-postdays-0-postorder-asc-highlight-kvm.html):
Code:

#/etc/config/net
config_eth0=( "null" )

tuntap_tap0="tap"
config_tap0=( "null" )

RC_NEED_br0="net.eth0 net.tap0"
bridge_br0="eth0 tap0"
config_br0=( "dhcp" )


Ahora hay que configurar vde, una vez emergido, creando 2 vlan y asociar la interface virtual del PC, tap0 que en vde sera el puerto 1, a ambas vlan de manera que en la vlan_0 no este marcado (untagged) y en vlan_1 si este marcado (tagged). Para lo que crearemos el fichero vde_switch.rc (si se dejan lineas en blanco parece funcionar igual, pero aparecen unos cuantos warnings en /var/log/messages.log):
Code:

# /etc/vde2/vde_switch.rc
vlan/create 1
vlan/addport 1 1
port/create 2
port/allocatable 2 1
port/create 3
port/allocatable 3 1
port/create 4
port/allocatable 4 1
port/setvlan 4 1
port/create 5
port/allocatable 5 1
port/setvlan 5 1


Se configura vde indicandole que use tap0 (/etc/conf.d/vde) y se inicia como siempre (/etc/init.d/vde start) ahora si arrancamos una maquina virtual (en este caso un livecd, no tiene HD) asociada al puerto 2 o 3 estara en la vlan_0 (192.168.1.0) y si la sociamos a los puertos 4 o 5 estara en la vlan_1 (192.168.2.0), si tienes un servidor dhcp que de IPs a cada vlan lo puedes comprobar facilmente iniciando un cliente dhcp en la maquina virtual tal y como lo harias normalmente.
Code:

#!/bin/bash

VDE=$(which vdeq)
KVM=$(which kvm)

$VDE $KVM -m 256 -net nic,macaddr=52:54:00:12:33:56 -net vde,sock=/var/run/vde.ctl,port=4 -k es -vnc :0 -monitor stdio -cdrom livecd.iso -boot d


Si quieres ver un poco mejor como funciona el switch virtual vde modifica su script de inicio para conseguir un socket de gestion (en este caso /var/run/vde.ctl/ctl.mgmt):
Code:

# /etc/init.d/vde
...
start() {
        ebegin "Starting vde"
        [ "${VDE_MODPROBE_TUN}" == "yes" ] && modprobe tun
        start-stop-daemon --start --quiet \
                --exec /usr/bin/vde_switch -- -tap ${VDE_TAP} -daemon \
                -mgmt /var/run/vde.ctl/ctl.mgmt
        eend $? "Failed to start vde"
        chmod -R ${VDE_SOCK_CHMOD} /var/run/vde.ctl
        chown -R ${VDE_SOCK_CHOWN} /var/run/vde.ctl
}
...


Ahora ya te puedes conectar al socket de gestion con unixterm y ver lo que se ha hecho con vde_switch.rc (para ver la ayuda "help" en la consola de vde):
Code:

server ~ # unixterm /var/run/vde.ctl/ctl.mgmt
VDE switch V.2.2.2
(C) Virtual Square Team (coord. R. Davoli) 2005,2006,2007 - GPLv2

vde$ vlan/allprint
0000 DATA END WITH '.'
VLAN 0000
 -- Port 0001 tagged=0 active=1 status=Forwarding
 -- Port 0002 tagged=0 active=0 status=Learning
 -- Port 0003 tagged=0 active=0 status=Learning
VLAN 0001
 -- Port 0001 tagged=1 active=1 status=Forwarding
 -- Port 0004 tagged=0 active=0 status=Learning
 -- Port 0005 tagged=0 active=0 status=Learning
.
1000 Success

vde$ logout


Salu2.


Last edited by opotonil on Sat Mar 21, 2009 12:57 pm; edited 1 time in total
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Fri Feb 13, 2009 10:01 am    Post subject: Reply with quote

Quote:
Por si a alguien le interesa...


a mi si desde luego, muchas gracias :-) No es que vaya a ponerlo en práctica de inmediato pero siempre es bueno saber algo de estas cosas ;)
Que tal te funciona vde en general ? Es que a veces tengo la sensación de como si se colgara y en los logs no hay absolutamente nada, te ha pasao algo similar ?

saluetes
_________________
Error: Failing not supported by current locale
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Mon Feb 16, 2009 6:50 pm    Post subject: Reply with quote

Quote:

Que tal te funciona vde en general ? Es que a veces tengo la sensación de como si se colgara y en los logs no hay absolutamente nada, te ha pasao algo similar ?


Pues no, pero la verdad que no le he dado un uso muy intensivo. Lo he probado principalmente en el portatil con una VM que utilizo para programar y normalmente soy yo el que la lio... Pero segun termine de montar el servidorcillo te cuento que ando escaso de tiempo y queria meter un FreeBSD pero enterandome de lo que hago.

Salu2.

PD: la pregunta estupida. No puedo paravirtualizar un BSD, solo guests con el SO del host ¿verdad?
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Tue Feb 17, 2009 9:12 am    Post subject: Reply with quote

si, yo tb. lo usaba principlamente en mi macbook y tampoco he jugueteao mucho con esto últimamente. Seguramente he metido la zarpa donde no debía o algo similar.
Lo último que estuve haciendo fue juguetear con gentoo/bsd en una máquina virtual por cierto, por si le quieres echar un vistazo ;)

Quote:
la pregunta estupida. No puedo paravirtualizar un BSD, solo guests con el SO del host ¿verdad?


no sé si te he entendido bien, pero si te refieres a usar p.ej. xen o algo similar con un bsd como cliente, creo que se puede aunque con algunas limitaciones.

saluetes
_________________
Error: Failing not supported by current locale
Back to top
View user's profile Send private message
opotonil
l33t
l33t


Joined: 17 Jun 2005
Posts: 801
Location: 127.0.0.1

PostPosted: Tue Feb 17, 2009 10:45 am    Post subject: Reply with quote

Quote:

no sé si te he entendido bien, pero si te refieres a usar p.ej. xen o algo similar con un bsd como cliente, creo que se puede aunque con algunas limitaciones.


La idea es utilizar paravirtualizacion KVM (http://kvm.qumranet.com/kvmwiki/Virtio), que entiendo es de lo que estan hablando aqui http://kerneltrap.org/node/7545 y parece que da un performance muy bueno, siendo el host un Gentoo y el guest un FreeBSD (imagino que lo primero tendria que enterarme de si existen las cosas que se necesitan en el kernel BSD)

Salu2.

PD: Tampoco tengo claro si la paravirtualizacion KVM funciona de forma similar a Xen.


--- EDITADO ---

Me da que no se va a poder http://kerneltrap.org/index.php?q=mailarchive/freebsd-hackers/2008/6/6/2048424/thread
Quote:

Note that FreeBSD does not have block-mode devices.
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Tue Feb 17, 2009 11:46 am    Post subject: Reply with quote

Quote:
La idea es utilizar paravirtualizacion KVM (http://kvm.qumranet.com/kvmwiki/Virtio), que entiendo es de lo que estan hablando aqui http://kerneltrap.org/node/7545 y parece que da un performance muy bueno, siendo el host un Gentoo y el guest un FreeBSD (imagino que lo primero tendria que enterarme de si existen las cosas que se necesitan en el kernel BSD)


ah, ok, no lo he probao pero dicen que si, que va algo mejor que la virtualización.
Y si, hasta donde yo sé tienen que ser ambos kernel linux por una serie de parámetros y soporte que hay que pasarle/ activar en el kernel.

Te comentaba lo de xen porque tengo entendido que bsd funciona bajo xen ( mas o menos bien), pero como te comento arriba no he montado nunca un host con paravirtualización y xen sólo lo he probao con un cliente linux hace mucho mucho tiempo, antes de que existiera kvm.

pero no te cortes y cuéntanos que tal te va :-)

saluetes
_________________
Error: Failing not supported by current locale
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum