iptables
e ebtables
não podem definir tags de VLAN em pacotes. É para isso que as subinterfaces da VLAN são.
Existe um artigo no wiki do Ubunut que discute as VLANs que você provavelmente deveria revisar. Em resumo, você quer:
-
Verifique se o módulo 802.1q está carregado com
modprobe 8021q
. -
Crie a subinterface da VLAN com
vconfig add eth0 444
. -
Adicione um endereço IP e uma máscara de sub-rede da sub-rede usada na VLAN 444 à sub-interface
eth0.444
comip addr add x.x.x.x/z dev eth0.444
Você também precisará configurar a porta do switch à qual o servidor está conectado para aceitar quadros marcados para a VLAN 444. Você não menciona sua marca de switch, por isso não posso dar muita orientação lá, mas você está provavelmente procurando uma porta "trunk" ou "geral" configurada como um membro marcado da VLAN 444 e um membro não marcado de qualquer VLAN é usado pela sub-rede atribuída à interface eth0
.
Esteja ciente de que tcpdump
pode ter problemas exibindo as tags de VLAN , portanto, não necessariamente assuma que os quadros não estão sendo marcados se você estiver usando apenas tcpdump
no próprio host para verificar se os quadros estão marcados.
Editar:
Normalmente, há um relacionamento um-para-um entre VLANs e sub-redes IP. Seria extremamente atípico se o switch tivesse uma interface de gerenciamento na VLAN 444 que fosse a mesma sub-rede IP de qualquer VLAN em que sua atual porta eth0
estivesse localizada.