28 diciembre 2018

¿Cómo configurar VLANs con Slackware Linux?

Esto es algo básico, cuando se configura Linux para redes, a veces, existe la necesidad de aislar el tráfico específico del enrutador para que solo lo vea la segunda NIC. A veces, simplemente no deseamos que la NIC permanezca en la VLAN predeterminada debido a que los bucles de red frecuentes matan la PC, no deseamos dar otros cien billetotes por el dispositivo de demarcación de 2 puertos o quizas sos un ISP pequeño y tu proveedor de red troncal ha designado una gama de VLAN para vos y tus puntos de interés en la ciudad, por lo que debes obtener el tráfico etiquetado (taggeado) en un Slackware y desmarcar para tus clientes. A menudo he utilizado un bridge de trafico de VLAN taggeado en una PC de prueba.
¿Razones? Se pueden encontrar razones suficientes para una pequeña novela.
Entonces, en pocas palabras, cuando necesites que tu interfaz de red acepte el tráfico etiquetado, desactivalo y luego envialo a tu kernel, así es como se hace:

root@daelomin:~# lsmod | grep 802
root@daelomin:~# modprobe 8021q
root@daelomin:~# lsmod | grep 802
8021q                  18128  0
root@daelomin:~# vconfig add eth3 200
Added VLAN with VID == 200 to IF -:eth3:-
root@daelomin:~# ifconfig eth3.200 10.0.0.1/16 up
root@daelomin:~# ping 10.0.155.50 -I eth3.200
PING 10.0.155.50 (10.0.155.50) 56(84) bytes of data.
64 bytes from 10.0.155.50: icmp_req=1 ttl=63 time=0.286 ms
64 bytes from 10.0.155.50: icmp_req=2 ttl=63 time=0.286 ms
64 bytes from 10.0.155.50: icmp_req=3 ttl=63 time=0.275 ms
64 bytes from 10.0.155.50: icmp_req=4 ttl=63 time=0.281 ms
^C
--- 10.0.155.50 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.275/0.282/0.286/0.004 ms
root@daelomin:~#



802.1q es el nombre del protocolo, el módulo del Kernel se llama 8021q. Si el módulo ya está cargado, se puede omitir la línea modprobe. Si deseas que el módulo se cargue al inicio, puede agregarlo en /etc/rc.local o /etc/rc.d/rc.modules (como prefieras). El primer comando cargará el módulo cuando todo lo demás ya esté configurado. La configuración de la VLAN se establecerá independientemente de que el módulo se haya cargado DESPUÉS de que ifconfig y vconfig hayan realizado su trabajo.

La línea vconfig agrega la VLAN real a la placa Ethernet 3 (cambia, según tu configuración) y el ifconfig está configurando la dirección IP y la máscara (cambia a tu configuración u omiti), y habilita la placa Ethernet. Finalmente, obtenes una eth3 y una eth3.200:

root@daelomin:~# ifconfig eth3
eth3      Link encap:Ethernet  HWaddr 00:0E:0A:29:0A:29
 inet addr:10.0.0.2  Bcast:10.0.255.255  Mask:255.255.0.0
 UP BROADCAST 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:1000
 RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
 Interrupt:19 Base address:0xdc00

root@daelomin:~# ifconfig eth3.200
eth3.200  Link encap:Ethernet  HWaddr 00:0E:0A:29:0A:29
 inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0
 UP BROADCAST 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)

root@daelomin:~#


En la misma placa Ethernet, se pueden habilitar más VLAN al agregarlas de la misma manera (no es necesario cargar el módulo Kernel cada vez, en caso de que no lo sepa ) Si necesitas que se elimine la VLAN de su NIC, hace lo contrario:

root@daelomin:~# ifconfig eth3.200 down
root@daelomin:~# vconfig rem eth3.200
Removed VLAN -:eth3.200:-


Por alguna razón, no hay un ejemplo de configuración decente sobre cómo hacer que Slackware habilite VLAN en una NIC específica en el proceso de arranque. Este script corto lo adjunte a rc.local. Se ejecuta cuando todo lo demás ya está configurado, pero en un primer momento no lo necesitaba:


#!/bin/bash
echo "Setting vlans ..."
modprobe 8021q
vconfig add eth3 200
ifconfig eth3.200 10.0.0.5/16 up
echo "... done"
#eof


 
Que te diviertas!

No hay comentarios:

Publicar un comentario