Summary. On this post we configure Raspberry Pi in VLAN trunk mode, in this way rpi 2 has a potential use as an IP probe in a telecom network. We define basic concepts, show networking scenario and configuration files used in Raspberry Pi 2.
En algunos escenarios, como por ejemplo en pruebas de performance de enlace, se requiere configurar la raspberry pi en modo troncal. En este artículo veremos como se puede hacer esto con un ejemplo de configuración permanente.
Definiciones básicas
La VLAN es una forma de separar el tráfico a nivel de capa 2. Desde el punto de vista del usuario este no sabe ni configura VLAN esto es un concepto que permanece en el equipo que trabaja hasta la capa 2 o switch, en ocasiones se debe comunicar la información de VLANs entre equipos, esto se hace a través de troncales de VLAN.
Una troncal de VLAN es un modo de comunicación de capa 2 donde un mismo enlace es capaz de transportar múltiples vlan. Esto se realiza de acuerdo a las definiciones del estandard 802.1q. Esencialmente un Trunk de VLANs consiste en agregar un TAG al frame Ethernet donde, entre otros campos, se considera el valor de VLAN o VLAN id. Esta información solo tiene significado entre los dos equipos participantes del trunk.
Escenario de prueba
La prueba se define del siguiente modo: Un router conecta a un switch en modo acceso a través de la VLAN 1 proporcionando servicio de DHCP a traves de esta VLAN. El switch a su vez tiene una puerta en modo troncal para conectar a la rasberry pi usando las Vlan 1, 10, 20. En la Raspberry se define el direccionamiento estático asociado a la vlan 10 y 20 y se deja la configuración dinámica para la VLAN 1
Para hacer esta prueba usamos un switch administrable modelo 260GS y un router modelo 750GL, ambos de marca Mikrotik conectados como se muestra en la figura.
Definiciones de diseño
Se consideran las siguientes definiciones para los servicios y direccionamiento
VLAN 1 192.168.88.0/24, con DHCP client en la Raspberry Pi 2
VLAN 10 192.168.10.0/24, con .2 en la Raspberry Pi 2
VLAN 20 192.168.20.0/24, con .2 en la Raspberry Pi 2
Configuración en Raspberry Pi 2
Usamos una Raspberry Pi 2 con Raspbian, como hemos descrito en otro artículo
Conectamos la Raspberry Pi en una puerta en modo acceso, en la VLAN 1.
Los comandos usados son los siguientes,
sudo apt-get update sudo apt-get upgrade sudo apt-get install vlan sudo modprobe 8021q
El último comando se verifica con
lsmod | grep 8021q
Luego se ejecutan los siguientes comandos
pi@raspberrypi ~ $ sudo su - root@raspberrypi:~# echo 8021q >> /etc/modules root@raspberrypi:~# exit
Luego se abre el archivo de configuración con el comando
sudo nano /etc/network/interfaces
El archivo queda de esta manera
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp # Connect all virtual VLAN trunks once the physical # Ethernet comes up. post-up ifup eth0.10 post-up ifup eth0.20 # Define subinterfaz para VLAN 10 iface eth0.10 inet static address 192.168.10.250 netmask 255.255.255.0 # Define subinterfaz para VLAN 20 iface eth0.20 inet static address 192.168.20.250 netmask 255.255.255.0
El objetivo del archivo anterior es usar la VLAN 1 para levantar la puerta INDEPENDIENTEMENTE si las otras VLANs existen o no, es decir, considera failover.
Luego haces restart de los servicios de red
sudo /etc/init.d/networking restart
Y verificamos
pi@raspberrypi ~ $ ifconfig -a eth0 Link encap:Ethernet HWaddr b8:27:eb:d5:6e:dd inet addr:192.168.88.254 Bcast:192.168.88.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:155668 errors:0 dropped:0 overruns:0 frame:0 TX packets:102024 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10658583 (10.1 MiB) TX bytes:8356417 (7.9 MiB) eth0.10 Link encap:Ethernet HWaddr b8:27:eb:d5:6e:dd inet addr:192.168.10.2 Bcast:192.168.10.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) eth0.20 Link encap:Ethernet HWaddr b8:27:eb:d5:6e:dd inet addr:192.168.20.2 Bcast:192.168.20.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Referencias
http://www.sbprojects.com/projects/raspberrypi/vlan.php
https://blog.sleeplessbeastie.eu/2012/12/23/debian-how-to-create-vlan-interface/
http://www.cyberciti.biz/tips/howto-configure-linux-virtual-local-area-network-vlan.html
muy interesante gracias