lunes, 29 de febrero de 2016

Alias vs VLANs - Exprimiendo las interfaces de red.

En linux tenemos la posibilidad de operar con más de una dirección IP sobre una única interfaz red red. Mediante los alias de la interfaz o mediante la creación de VLANs.

Creación de alias Tradicionalmente se han utilizado los alias mediante el comando ifconfig que proporciona el paquete net-tools.
# ifconfig eth0:1 192.168.0.5 netmask 255.255.255.0
Desde la entrega de los núcleos 2.2 tenemos la posibilidad de crear alias con el comando ip, pertenciente al paquete iproute2.
#ip addr add 192.168.0.5/24 dev eth0:1
Creación de VLANs A partir de la versión 2.4.14 el kernel de Linux, se incluye la posibilidad de crear VLANs. Esto podemos hacerlo mediante el comado vconfig o bien mediante el comando ip. En Red Hat y derivados se encuentra incluido en el paquete vconfig, en Debian y sus derivados lo podemos encontrar en el paquete vlan. Para ello utiliza el siguiente patrón : vconfig add "ethx" "id_vlan"
# vconfig add eth0 01

Added VLAN with VID == 01 to IF -:eth0:-
Comprobamos la creación del dispositivo mediante ifconfig:
eth0.1   Link encap:Ethernet  HWaddr bc:ae:c5:60:4e:48  
          inet6 addr: fe80::beae:c5ff:fe60:4e38/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 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:0 (0.0 B)  TX bytes:2012 (2.0 KB)

Seguidamente le damos una dirección mediante ifconfig o bien ip :
# ifconfig eth0.1 10.200.100.5 netmask 255.255.255.0
# ip addr add 10.200.100.5/24 dev eth0.1

Comprobamos mediante ifconfig :
eth0.1   Link encap:Ethernet  HWaddr bc:ae:c5:60:4e:48  
          inet addr:10.200.100.5  Bcast:10.200.100.255  Mask:255.255.255.0
          inet6 addr: fe80::beae:c5ff:fe60:4e38/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:18207 (18.2 KB)

El comando ip también nos permite la creación de VLANs:
#ip link add link eth0 name eth0.2 type vlan id 02
# ip addr add 10.200.100.5/24 dev eth0.2

Estas configuraciones son temporales y al reinicar la máquina desapareceran. Para hacerlas permanentes editaremos los ficheros en /etc/sysconfig/network-interfaces en Red Hat y /etc/network/interfaces en Debian. /etc/sysconfig/network-interfaces/ifcfg-eth0.1
DEVICE=eth0.1
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.200.100.5
NETMASK=255.255.255.0

/etc/network/interfaces
iface eth0.1 inet static
      address 10.200.100.5
      netmask 255.255.255.0

vlan04

Entonces cual es la diferencia entre alias y VLANs? Para que complicarse la vida con las VLANs si con un simple linea creamos un alias tal y como hemos venido haciendo siempre?

Un alias es sólo una dirección IP adicional añadida a la misma interfaz de red. Una VLAN es una interfaz que recibe tramas etiquetadas 802.1q provenientes, normalmente, de un switch con capacidad de gestión de protocolo 802.1q. Es decir un switch con capacidad de gestionar VLANs.

Si nuestra eth0:1, que hemos creado como alias en el primer apartado, recibe una trama ethernet normal, la procesará. Pero si nuestra eth0:1 recibe una trama etiquetada como 802.1q VLAN ID 01, no sabrá que hacer con ella y la desechará. En nuestro caso, en el primer paso, hemos creado una VLAN con ID 01 sobre la eth0. Por lo tanto cuando esa trama etiquetada como 802.1q VLAN ID 01, la eth0 la obviará, pero la eth0.1 la procesará. Estan son dos de las posiblidades que Linux nos permite a la hora de gestionar nuestras interfaces de red. Aún podriamos seguir con las VPNs, pero eso da para un futuro tutorial.
Jordi Cabrera
pdf

No hay comentarios:

Publicar un comentario