무차별 모드가 아닌 이상 네트워크 인터페이스는 프레임을 수신하지 않습니다.

무차별 모드가 아닌 이상 네트워크 인터페이스는 프레임을 수신하지 않습니다.

전송된 트래픽을 거부하는 네트워크 인터페이스가 있습니다(대상 MAC는 인터페이스에 구성된 하드웨어 주소와 동일함).

운전자 정보입니다.

# 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

ifconfig eth0 promisc인터페이스에 들어가 자마자 프레임 수신이 시작됩니다. tcpdump는 대상 MAC가 실제로 인터페이스의 구성된 MAC 주소와 일치함을 보여줍니다.

# 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)

인터페이스가 난잡해야 하는 이유는 무엇입니까?

답변1

답을 찾기 위해 ixgbe 드라이버 소스 코드를 읽었습니다.

내가 아는 한, 이 드라이버는 하드웨어 VLAn 필터링을 활용합니다(일부 지원 티켓에서 제안된 이유에는 보안과 성능이 포함됩니다).

이 동작은 IXGBE_VLNCTRL_VFE VLAN 제어 플래그를 통해 제어됩니다.

이러한 필터를 커널로 성공적으로 통과하기 위한 두 가지 옵션은 다음과 같습니다.

  • 인터페이스에서 무차별 모드 활성화
  • 인터페이스에 VLAN 추가(예: vconfig 사용)

관련 정보