Búsqueda de sitios web

Cómo crear una interfaz de red VLAN en Ubuntu 24.04


VLAN (red de área local virtual) es una tecnología de red que permite la segmentación del tráfico en su red dividiendo una red física en grupos lógicos. Esto dará como resultado seguridad y eficiencia de la red, ya que impide la comunicación entre VLAN a menos que esté específicamente permitido. Las VLAN funcionan utilizando el estándar de red IEEE 802.1Q, también conocido como Dot1q.

Las VLAN se utilizan ampliamente en la partición de redes de departamentos de oficina, aislamiento del tráfico WiFi de invitados, priorización del tráfico VoIP y protección de dispositivos IoT, entre muchas otras aplicaciones. Antes de configurar VLAN en su infraestructura de red, asegúrese de que el conmutador de red en uso sea compatible con el etiquetado VLAN (802.1Q). El proceso de verificación de la compatibilidad con VLAN variará de un proveedor a otro. Le recomendaré que consulte la documentación oficial del proveedor del conmutador para obtener más información.

Requisitos previos de configuración

Para configurar una interfaz de red VLAN en su sistema Ubuntu o Debian, necesitará la siguiente información.

  • Accede a tu sistema Ubuntu como root o usuario con privilegios sudo.
  • Identifique el nombre de la interfaz de red física; puede ser el nombre de la interfaz Ethernet o WiFi.
  • Tenga una ID de VLAN conocida para configurar para su red.

Inicie sesión en su servidor e instale el paquete vlan.

sudo apt update && sudo apt install vlan

Para los hosts utilizados en virtualización, habilite las siguientes configuraciones en sysctl.

echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.arp_filter=0" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.conf.all.rp_filter=2" | sudo tee -a /etc/sysctl.conf

Cargue las configuraciones después de agregarlas al archivo.

$ sudo sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.all.rp_filter = 2

Crear una interfaz VLAN en Ubuntu

Comenzamos cargando el módulo del kernel que proporciona soporte para VLAN. Esto se hace emitiendo el siguiente comando en la terminal.

sudo modprobe 8021q

Puede imprimir información adicional sobre el módulo usando el comando modinfo.

$ sudo modinfo 8021q
filename:       /lib/modules/6.1.0-18-amd64/kernel/net/8021q/8021q.ko
version:        1.8
license:        GPL
alias:          rtnl-link-vlan
srcversion:     686DDAC35CEE6EFE0A30ADC
depends:        mrp,garp
retpoline:      Y
intree:         Y
name:           8021q
vermagic:       6.1.0-18-amd64 SMP preempt mod_unload modversions
sig_id:         PKCS#7
signer:         Debian Secure Boot CA
sig_key:        32:A0:28:7F:84:1A:03:6F:A3:93:C1:E0:65:C4:3A:E6:B2:42:26:43
sig_hashalgo:   sha256
signature:      A9:87:F2:68:22:66:F6:4D:A7:FF:C7:97:A3:C4:DA:73:1F:54:8D:EF:
		92:19:E2:5F:35:96:5A:95:29:25:8B:CD:08:FE:35:AC:4F:66:AE:5D:
		42:91:35:0F:AD:34:A6:6C:F3:13:2E:BF:4B:22:46:DB:A3:A8:39:27:
		6E:C6:81:03:24:93:DC:B0:78:E6:76:68:E7:B8:DF:0A:BB:F6:7F:29:
		97:80:E1:16:2D:C1:24:35:6B:6D:77:08:AE:2A:42:A7:D6:FC:9A:79:
		3A:46:29:4E:F1:53:B8:F2:26:AB:B2:7D:A7:4D:3D:4C:2F:35:AA:24:
		63:A6:F3:0A:C1:67:BE:6A:6A:20:1C:75:61:B1:3E:9D:81:5E:76:B8:
		1F:C6:90:66:20:4F:12:94:80:2B:B3:80:CE:64:C7:39:98:7B:9A:F3:
		BC:B0:AB:2B:E0:2F:5F:8C:B8:8E:2B:F3:D5:AE:ED:D8:A7:B8:37:AA:
		CB:C2:D6:7F:9D:68:91:4E:D2:81:8E:48:75:09:71:4E:B9:8A:A7:91:
		42:F0:6C:33:98:CA:01:CC:FD:71:D8:95:DC:A4:74:0D:9C:7F:23:72:
		BF:14:31:42:91:EA:57:F2:7D:4F:FE:25:BD:7A:7D:62:91:AC:89:02:
		3C:10:E9:03:95:35:F5:ED:BF:56:9A:56:0C:7F:88:74

Estamos considerando las tres opciones para realizar la configuración de VLAN.

1) Configurar el etiquetado VLAN temporal

Este método se puede utilizar para probar el funcionamiento de VLAN en un punto final. Las configuraciones no persistirán si se reinicia un sistema. Usaremos el comando ip para crear una interfaz VLAN en tiempo de ejecución en nuestra máquina Ubuntu Linux.

Enumere las interfaces de red en su red.

$ sudo ip link  show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether bc:24:11:44:e9:6f brd ff:ff:ff:ff:ff:ff
    altname enp0s18
3: ens19: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether bc:24:11:bc:3f:d4 brd ff:ff:ff:ff:ff:ff
    altname enp0s19

Usaremos el comando ip link add para crear un nuevo nombre de interfaz etiquetado desde una interfaz física. Tendrá que reemplazar el nombre con el nombre de su interfaz real y el ID de VLAN con su ID de VLAN.

La sintaxis es:

sudo ip link add link <interface_name> name <vlan_interface_name> type vlan id <vlan_id>

A continuación se muestra un ejemplo en el que estamos creando una interfaz etiquetada denominada vlan30 con VLAN ID 30 en la interfaz física ens19:

sudo ip link add link ens19 name vlan30 type vlan id 30

Ahora podemos asignar una dirección IP a la interfaz VLAN.

sudo ip addr add 172.20.30.44/24 dev vlan30

Dónde :

  • 172.20.30.44 es la dirección IP
  • /24 es máscara de subred == 255.255.255.0
  • vlan30 es el nombre de la interfaz VLAN

Abra la interfaz.

sudo ip link set dev vlan30 up

Si se requiere enrutamiento para usar la interfaz, agregue la puerta de enlace a la red según sea necesario.

sudo ip route add 192.168.89.0 via 172.20.30.1

Para una puerta de enlace predeterminada, podemos usar.

sudo ip route add default via 172.20.30.1

Confirme la configuración de red configurada.

$ ip ad show dev vlan30
5: vlan30@ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether bc:24:11:0c:69:4e brd ff:ff:ff:ff:ff:ff
    inet 172.20.30.44/24 scope global vlan30
       valid_lft forever preferred_lft forever
    inet6 fe80::be24:11ff:fe0c:694e/64 scope link
       valid_lft forever preferred_lft forever

2) Usando el archivo /etc/network/interfaces

Para conservar los cambios realizados en 1), podemos editar y colocar configuraciones de VLAN en el archivo /etc/network/interfaces.

$ sudo vim /etc/network/interfaces
# Primary interface
auto ens19
iface ens19 inet manual

# Example for VLAN ID 30 on interface 
auto ens19.30
iface ens19.30 inet static
    address 172.20.30.2
    netmask 255.255.255.0
    gateway 172.20.30.1
    dns-nameservers 172.20.30.254

Sustituya los detalles proporcionados anteriormente con su propia configuración de red. Cuándo reinicie su red.

sudo systemctl restart networking

Si está utilizando el puente Linux, editará como se muestra a continuación.

# Primary interface
auto ens19
iface ens19 inet manual

# Example for VLAN ID 30 on interface 
auto ens19.30
iface ens19.30 inet manual

# Bridge creation
auto br0
iface br0 inet static
 bridge_ports ens19.30
  bridge_stp off         # disable Spanning Tree Protocol
  bridge_waitport 0    # no delay before a port becomes available
  bridge_fd 0             # no forwarding delay
  address 172.20.30.2
  netmask 255.255.255.0
  gateway 172.20.30.1
  dns-nameservers 172.20.30.1

Configuraciones de muestra en mi máquina.

$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    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 noprefixroute
       valid_lft forever preferred_lft forever
2: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 1c:69:7a:ab:be:de brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet6 fe80::1e69:7aff:feab:bede/64 scope link
       valid_lft forever preferred_lft forever
3: ens19.30@ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 1c:69:7a:ab:be:de brd ff:ff:ff:ff:ff:ff
    inet 172.20.30.2/24 brd 172.20.30.255 scope global ens19.30
       valid_lft forever preferred_lft forever
    inet6 fe80::1e69:7aff:feab:bede/64 scope link
       valid_lft forever preferred_lft forever

3) Usando netplan

Netplan es una solución de red que simplifica la gestión de interfaces de red en el sistema Ubuntu Linux. A continuación se muestra un ejemplo sobre cómo configurar la interfaz VLAN usando Netplan:

Cree un nuevo archivo netplan.

sudo vim /etc/netplan/01-vlan-interface.yaml

Ajuste la configuración para adaptarla a su caso de uso.

network:
  version: 2
  ethernets:
    ens19:
      dhcp4: no
  vlans:
    vlan.30:
      id: 30
      link: ens19
      addresses: [ 172.20.30.2/24 ]
      routes:
       - to: default
         via: 172.20.30.1
      nameservers:
        addresses: [172.20.30.1, 8.8.4.4] 

Aplicar las configuraciones y activar la interfaz.

sudo netplan apply

Verifique el efecto usando

 ip addr show

Conclusión

En esta publicación, hemos aprovechado diferentes métodos para configurar la VLAN y funcionar en nuestro sistema Linux Ubuntu 24.04. Puede probar la funcionalidad utilizando ping o herramientas similares para verificar el acceso al servicio desde dispositivos externos. Recuerde ajustar los detalles de la red utilizados en esta guía de acuerdo con la configuración de su red. Si tiene algún problema al seguir nuestra guía, no dude en comunicarse con nosotros.

Artículos relacionados: