전송된 트래픽을 거부하는 네트워크 인터페이스가 있습니다(대상 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 사용)