Una VLAN es un tipo de red de área local que no tiene su propia infraestructura física dedicada, sino que utiliza otra red de área local para transportar su tráfico. El tráfico se encapsula para que la misma LAN física pueda transportar varias VLAN lógicamente separadas. Con las VLAN, puede crear varios dominios de difusión distintos que están aislados entre sí. Con las VLAN, los conmutadores de red (no los enrutadores) crean el dominio de difusión.
Cada VLAN se identifica mediante un VID (Identificador de VLAN) en el rango de 1 a 4094 inclusive. Los puertos de switch se asignan a una ID de VLAN y todos los puertos asignados a una única VLAN se encuentran en un único dominio de difusión. El VID se almacena en un encabezado adicional de 4 bytes que se agrega al paquete denominado Etiqueta. Agregar una etiqueta a un paquete se denomina etiquetado.
Configuración de etiquetado de VLAN mediante nmcli
1. Puede usar la conexión nmcli comando para crear una conexión VLAN. Incluya el "agregar tipo vlan ” argumentos y cualquier información adicional para crear una conexión VLAN. Por ejemplo:
# nmcli con add type vlan con-name vlan-ens37.100 ifname ens37.100 dev ens37 id 100 ip4 192.168.100.1/24 Connection 'vlan-ens37.100' (66950580-5ee1-40f7-8ce3-b9819fdfc492) successfully added.
El ejemplo define los siguientes atributos de la conexión VLAN:
- con-nombre vlan-ens37.100 :especifica el nombre de la nueva conexión VLAN
- ifname ens37.100 :especifica la interfaz a la que vincular la conexión
- dev ens37 :especifica el dispositivo físico (principal) en el que se encuentra esta VLAN
- id 100 :especifica la ID de VLAN
ip4 192.168.100.1/24 :especifica la dirección IPv4 para asignar a la interfaz
2. El comando nmcli con muestra la nueva conexión VLAN.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
3. Este comando crea el ifcfg-vlan-ens37.100 expediente. El siguiente es el contenido de este archivo:
# cat /etc/sysconfig/network-scripts/ifcfg-vlan-ens37.100 VLAN=yes TYPE=Vlan DEVICE=ens37.100 PHYSDEV=ens37 VLAN_ID=100 REORDER_HDR=yes GVRP=no MVRP=no BOOTPROTO=none IPADDR=192.168.100.1 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=vlan-ens37.100 UUID=66950580-5ee1-40f7-8ce3-b9819fdfc492 ONBOOT=yes
4. Puede usar el comando ip addr para ver la información de la dirección del protocolo para los dispositivos de red. A continuación se muestra la interfaz VLAN, ens37.100:
# ip add show 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens37.100@ens37: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:54:f7:34 brd ff:ff:ff:ff:ff:ff inet 192.168.100.1/24 brd 192.168.100.255 scope global ens37.100 valid_lft forever preferred_lft forever inet6 fe80::473b:5fc1:87d:89c3/64 scope link valid_lft forever preferred_lft forever
5. El dispositivo nmcli El comando muestra el dispositivo ens37.100.
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
6. La conexión nmcli comando muestra el vlan-ens37.100 conexión.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
Ver información de VLAN
Cada interfaz de red contiene un directorio en /sys/class/net directorio. Por ejemplo:
# ls /sys/class/net ens33 ens36 ens37 ens37.100 lo
En este ejemplo, existe una interfaz VLAN denominada ens37.100 y existe un directorio con el mismo nombre que contiene información de configuración para esa interfaz. Por ejemplo:
# ls /sys/class/net/ens37.100 addr_assign_type broadcast dev_id duplex ifalias link_mode netdev_group power statistics type address carrier dev_port flags ifindex lower_ens37 operstate queues subsystem uevent addr_len carrier_changes dormant gro_flush_timeout iflink mtu phys_port_id speed tx_queue_len
También hay archivos en /proc/net/vlan directorio que describe la interfaz VLAN. Por ejemplo:
# ls /proc/net/vlan config ens37.100
Puede usar el tcpdump utilidad para ver los paquetes etiquetados y sin etiquetar para asegurarse de que el tráfico se muestra en las interfaces esperadas. El -e La opción especifica el encabezado Ethernet que incluye etiquetas 802.1Q. Usa el -i opción para especificar la interfaz. Por ejemplo:
# tcpdump –e –i ens37