É assim que eu trabalho com VLANs na minha máquina. Na minha situação, eu só preciso acessar as VLANs ao administrar máquinas específicas, então, por padrão, a interface de rede é executada sem tag (ou seja, sem configuração de VLAN).
Eu fiz um pequeno script que cria uma interface secundária em execução na VLAN especificada:
#!/bin/bash
# This script will configure and start a virtual network interface which is a member of VLAN 2.
# TODO
# 0. Check if package 'vlan' has been installed and if not, prompt the user to do so.
# [code goes here]
# 1. Load the VLAN kernel module
sudo modprobe 8021q
# 2. Add enp1s0 to VLAN 2
sudo vconfig add enp1s0 2
# 2.1 Wait 3 seconds before bringing up enp1s0.2, otherwise enp1s0.2 will not get an IP
sleep 3
# 3. Bring up enp1s0.2 with IP address 10.0.0.2
sudo ifconfig enp1s0.2 10.0.0.2 netmask 255.255.255.0 up
NOTA: Você precisará substituir 'enp1s0' e as informações de IP para corresponder à sua situação.
NOTA 2: como você pode ver no código, o script requer que o pacote 'vlan' seja instalado. Você pode fazer isso executando:
apt install vlan
Se alguém souber como verificar essa dependência no script, informe-nos.
NOTA3: este script não adicionará persistentemente a interface de rede com acesso VLAN à sua máquina - quando você reinicializar, ele desaparecerá. Claro, você sempre pode executar o script novamente ou editar
/etc/network/interfaces
e adicione-o lá. No entanto, estou com problemas quando tento fazer isso em um dos meus servidores (na verdade, esperava encontrar uma resposta para essa questão aqui, mas, em vez disso, só encontrei perguntas não relacionadas a VLAN), de modo que pode não funcionar.