Resolvido, finalmente: é uma questão relacionada ao ARP.
- O servidor DHCP atribui um endereço IP ao endereço MAC da interface virtual e define esse par na tabela ARP local do servidor
- A caixa do Linux liga o novo endereço IP à interface virtual que o solicitou.
- Os PINGs estão trabalhando nos dois sentidos:
- Ao pingar do Linux para o servidor, ele passa pelo real interface (que está na mesma sub-rede IP)
- Ao pingar do servidor para Linux, novamente a interface real responde, então parece como se está tudo bem ...
MAS
Quando o servidor envia pacotes IP (no meu caso, mensagens SNMP), ele usa o endereço MAC da interface virtual. Quando chega à caixa do Linux, o kernel simplesmente descarta esses frames, já que não sabe como encaminhá-los; A execução do Wireshark exibe essas mensagens, pois geralmente a interface é colocada em modo promíscuo
Para fazer com que as mensagens SNMP atinjam o agente SNMP que é ligado à interface virtual, o pacote IP deve ter o endereço MAC da interface real (acho que só então o kernel faz o roteamento da VLAN , com base no endereço IP ...)
A maneira de conseguir isso é enviar uma solicitação gratuita ARP da caixa do Linux interface real para o servidor, informando que o endereço IP recém-atribuído (a uma das interfaces virtuais ...) é "propriedade" do endereço MAC da interface real. Isso atualiza a tabela ARP do servidor corretamente.
BTW, isso também explica por que esperar algum tempo antes de iniciar o tráfego do SNMP funciona: a entrada da tabela ARP do servidor está com o tempo vencido, então o servidor envia uma solicitação ARP que é respondida corretamente pelo < interface strong> real