A interface de rede não recebe quadros a menos que no modo promíscuo

1

Eu tenho uma interface de rede que se recusa a receber o tráfego destinado a ela (o MAC de destino é igual ao endereço de hw configurado da interface).

Aqui está a informação do motorista;

# ethtool -i eth0
driver: ixgbe
version: 4.0.1-k
firmware-version: 0x80000534
expansion-rom-version:
bus-info: 0000:04:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

Assim que eu inserir ifconfig eth0 promisc , a interface começará a receber quadros. Um tcpdump mostra que o MAC de destino realmente se alinha com o endereço MAC de configuração da interface.

# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:01:02:03:04:05
          UP BROADCAST RUNNING PROMISC SLAVE MULTICAST  MTU:1508  Metric:1
          RX packets:600363 errors:0 dropped:0 overruns:0 frame:0
          TX packets:230866 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:904700278 (862.7 MiB)  TX bytes:16161664 (15.4 MiB)

Por que a interface precisa ser promíscua?

    
por Críostóir Ó Catháin 22.03.2017 / 16:10

1 resposta

2

Eu leio a fonte do driver ixgbe na busca por respostas.

Até onde eu sei, este driver utiliza filtragem VLAn de hardware (foi sugerido em alguns tíquetes de suporte que os motivos incluem segurança e desempenho).

Esse comportamento é controlado pelo sinalizador de controle IXGBE_VLNCTRL_VFE VLAN.

As duas opções para percorrer com sucesso esses filtros no kernel são:

  • Ativar o modo promíscuo na interface
  • Adicione uma VLAN (por exemplo, usando vconfig) à interface
por 22.03.2017 / 18:53