IPs virtuais e enquanto dest MAC não corresponde - como isso funciona? (meio Proxmox / OPNsense - mas não realmente)

0

Considere ter um barebone com 1 NIC e este endereço

  • IP: .1
  • MAC :: 01

Agora, temos 1 IP adicional com um MAC separado (IP do gateway)

  • IP: .2
  • MAC :: 02

E mais 2 IPs (IPs virtuais) com o mesmo MAC que o NIC principal

  • IP: .3 e .4
  • MAC :: 01
  1. Nós configuramos nosso barebone para ter uma ponte br0 com .1 / :: 01 (ponte eth0) (não é realmente interessante, usamos isso para criar interfaces virtuais).

  2. Agora criamos uma interface virtual em br0 (usando proxmox) com o convidado KVM usando essa interface como uma NIC - essa interface virtual possui o MAC :: 02 e, mais tarde, obterá o IP .02 (esse convidado KVM é na verdade um FreeBSD / OPNsense)

Pergunta:

Quando eu configuro os IPs .3 / .4 como IPs virtuais no OPNsense, eu esperava que eles NÃO funcionassem, já que todos os pacotes que entram em eth0 / br0 / vtnet0 (nome da NIC dentro do opnsense) têm o MAC :: 01 como destino (que o tem), e não :: 02 (que é o MAC real do nosso NIC virtualizado vtnet0).

Ainda assim, isso funciona e eu não entendo o porquê. Por que isso realmente funciona? Por que o pacote, na camada 2, é considerado por vtnet0 (a NIC virtualizada no opnsense) mesmo que os endereços MAC não estejam combinando?

Estou ciente de que há promiscuous mode e é por isso que uma interface não apenas descarta todos os pacotes para "não meu MAC" imediatamente, mas eu esperava que para IPs virtuais funcionasse, o MAC precisava ser correspondência.

    
por Eugen Mayer 12.03.2018 / 15:44

0 respostas