En la entrada anterior escribía como usar openvswitch con xen y debian jessie, este software me permite crear la infraestructura virtual de red de forma rápida y sencilla. Pero, no solo me permite la conexión interna entre las maquinas virtuales, sino también hacia la red física. Es esta oportunidad vamos a usar openvswitch y configuraremos vlans de trabajo las cuales asociaremos vlans existentes en los switch de nuestra red.
Esta entrada surge debido la siguiente situación, tengo un servidor el cual utilizaré para virtualizar, el mismo posee dos tarjetas físicas, una de las tarjetas la uso como acceso administrativo, quedando sólo una interfaz para crear maquinas virtuales que puedan conectarse a mi red DMZ, LAN y una que WAN que posee ip publica.
Para repasar, instalamos openvswitch con el comando
# apt-get install openvswitch-switch
una vez instalado verificamos que este corriendo con el comando
# ovs-vsctl show
e2ffe3b2-4224-443e-a939-21a5b2ca02e1
ovs_version: "2.3.0"
vemos que esta instalado y debemos configurar según nuestra necesidad. Y hacemos lo siguiente.
configuramos la interfaz del servidor, editando el archivo interfaces
# vi /etc/network/interfaces
auto lo ovsbr0 eth0 eth1 vlan10 iface lo inet loopback # The primary network interface allow-hotplug eth0 allow-hotplug eth1 iface eth0 inet static address 172.31.91.164 netmask 255.255.252.0 gateway 172.31.91.2 ##################bridge y vlans para XEN ###################### allow-ovs ovsbr0 eth1
iface ovsbr0 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
ovs_type OVSBridge
ovs_ports eth1 vlan10 vlan215
allow-ovsbr0 eth1
iface eth1 inet manual
ovs_bridge ovsbr0
ovs_type OVSPort
#ovs_options tag=1 vlan_mode=native-untagged
# Alternatively if you want to also restrict what vlans are allowed through
# you could use:
ovs_options tag=1 vlan_mode=native-untagged trunks=10,215
allow-ovsbr0 vlan10
iface vlan10 inet manual
ovs_type OVSIntPort
ovs_bridge ovsbr0
ovs_options tag=10
ovs_extra set interface ${IFACE} external-ids:iface-id=$(hostname -s)-${IFACE}-vif
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
En mi red la vlan10 tiene un segmento 172.16.x.x, la vlan 215 es un segmento de ip publicas y la vlan1 esta en un segmento 172.31.x.x configuraremos la vlan10 y la vlan1. En el archivo interfaces configuramos como normalmente lo hariamos pero la diferencia esta en las líneas. ovs_ports eth1 vlan10 vlan215 ovs_options tag=1 vlan_mode=native-untagged trunks=10,215 aqui definimos las interfaces vlans y el tipo de acceso del puerto ovsbr0 que creamos, en nuestro caso seria un puerto troncal en le switch virtual (ovsbr0). Reiniciamos las interfaces # /etc/init.d/networking restart
verificamos con el comando ifconfig que todo este arriba # ifconfig
eth0 Link encap:Ethernet HWaddr 98:4b:e1:65:93:84
inet addr:172.31.91.164 Bcast:172.31.91.255 Mask:255.255.252.0
inet6 addr: fe80::9a4b:e1ff:fe65:9384/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171184 errors:0 dropped:306 overruns:0 frame:0
TX packets:51715 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:81121169 (77.3 MiB) TX bytes:5696893 (5.4 MiB)
Memory:c0400000-c041ffff
eth1 Link encap:Ethernet HWaddr 98:4b:e1:65:93:85
inet6 addr: fe80::9a4b:e1ff:fe65:9385/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:167684 errors:0 dropped:0 overruns:0 frame:0
TX packets:26302 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69563654 (66.3 MiB) TX bytes:1879692 (1.7 MiB)
Memory:c0460000-c047ffff
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:944 (944.0 B) TX bytes:944 (944.0 B)
ovsbr0 Link encap:Ethernet HWaddr 98:4b:e1:65:93:85
inet6 addr: fe80::9a4b:e1ff:fe65:9385/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:39286 errors:0 dropped:131 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2721632 (2.5 MiB) TX bytes:648 (648.0 B)
vlan10 Link encap:Ethernet HWaddr 2e:18:70:28:d7:aa
inet6 addr: fe80::2c18:70ff:fe28:d7aa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:520 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:64046 (62.5 KiB) TX bytes:648 (648.0 B)
Luego en el switch virtual hacemos # ovs-vsctl set port ovsbr0 trunks=1,10,215
procedemos a revisar la configuración del switch virtual # ovs-vsctl show
9909c85f-5cbc-4b18-bdbd-bf0cab6ae1cf
Bridge "ovsbr0"
Port "ovsbr0"
trunks: [1, 15, 215]
Interface "ovsbr0"
type: internal
Port "eth1"
tag: 1
trunks: [1, 10, 215]
Interface "eth1"
Port "vlan10"
tag: 10
Interface "vlan10"
type: internal
ovs_version: "2.3.0"
Luego en las maquinas virtuales procedemos a configurar de la siguiente forma. Veran que esta difindo el bridge con el tag de la vlan de la forma bridge=ovsbr0.10
Iniciamos las maquinas virtuales # xl create /etc/xen/siglas.conf # xl create /etc/xen/atencionciudadano.conf podemos ver con el comando ifconfig la configuración de red de cada maquina. y verificamos como queda la configuración del switch luego de iniciar las maquinas virtuales Verificamos la salida a internet en las maquinas virtuales y el acceso desde la red interna. NOTA: Se deben realizar las respectivas configuraciones en los switch físicos. Bibliografia: http://blog.scottlowe.org/2013/05/28/vlan-trunking-to-guest-domains-with-open-vswitch/ http://blog.scottlowe.org/2012/11/07/using-vlans-with-ovs-and-libvirt/ http://docs.openvswitch.org/en/latest/faq/vlan/ http://blog.scottlowe.org/2012/10/04/some-insight-into-open-vswitch-configuration/ https://pve.proxmox.com/wiki/Open_vSwitch#VLANs_Host_Interfaces http://wiki.flav.com/wiki/Open_vSwitch_Tutorial |


























