Recientemente me tope con este escenario, como simular el encapsulamiento dot1q en linux. Y leyendo e investigando un poco me entere que era posible, y realmente sencillo.
802.1q es un mecanismo que permita a múltiples redes compartir de forma transparente
el mismo medio físico, sin problemas de interferencia entre ellas (Trunking).
802.1Q en realidad no encapsula la trama original sino que añade 4
bytes al encabezado Ethernet original. El valor del campo EtherType se
cambia a 0x8100 para señalar el cambio en el formato de la trama.
Debido a que con el cambio del encabezado se cambia la trama, 802.1Q fuerza a un recálculo del campo "FCS"
1. Agregamos el modulo 8021q al kernel
# modprobe 8021q
2. Agregamos el modulto a /etc/modules, para hacer el cambio permanente
# echo 8021q >> /etc/modules
3. Instalamos el paquete apropiado
# apt-get install vlan
4. Configuramos la red. En este ejemplo eth0 esta conectado vía trunk con un tag de vlan 101 al switch. La interfase eth1 esta conectada a una red separada independiente.
# cat /etc/network/interfaces.
auto vlan101
iface vlan101 inet static
address 172.17.101.9
netmask 255.255.255.0
network 172.17.101.0
broadcast 172.17.101.255
gateway 172.17.101.1
#Aqui especifico por cual interfase ira esa VLAN-101
vlan_raw_device eth0
auto eth1
iface eth1 inet static
address 172.17.100.9
netmask 255.255.255.0
network 172.17.100.0
broadcast 172.17.100.255
5. Modificamos el archivo /etc/sysctl.conf agregamos al final del archivo
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
6. Cargamos los cambios
#sysctl -p
7. Reiniciamos las interfaces
# /etc/init.d/networking restart
8. Un Ifconfig para asegurarnos de que todo esta corriendo bien
# ifconfig
eth0 Link encap:Ethernet HWaddr 14:fe:b5:2c:15:86
inet6 addr: fe80::16fe:b5ff:fe2c:1586/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:23763 errors:0 dropped:0 overruns:0 frame:0
TX packets:10485 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3481376 (3.4 MB) TX bytes:2500480 (2.5 MB)
Interrupt:36 Memory:d6000000-d6012800
eth1 Link encap:Ethernet HWaddr 14:fe:b5:2c:15:88
inet addr:172.17.100.9 Bcast:172.17.100.255 Mask:255.255.255.0
inet6 addr: fe80::16fe:b5ff:fe2c:1588/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:973 errors:0 dropped:0 overruns:0 frame:0
TX packets:257 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:75737 (75.7 KB) TX bytes:29086 (29.0 KB)
Interrupt:48 Memory:d8000000-d8012800
vlan101 Link encap:Ethernet HWaddr 14:fe:b5:2c:15:86
inet addr:172.17.101.9 Bcast:172.17.101.255 Mask:255.255.255.0
inet6 addr: fe80::16fe:b5ff:fe2c:1586/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:17260 errors:0 dropped:0 overruns:0 frame:0
TX packets:10350 errors:0 dropped:4 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2445291 (2.4 MB) TX bytes:2400114 (2.4 MB)
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:16436 Metric:1
RX packets:277 errors:0 dropped:0 overruns:0 frame:0
TX packets:277 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:25230 (25.2 KB) TX bytes:25230 (25.2 KB)