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.