Linux 5.9 VLAN 인터페이스는 무차별 모드가 활성화되지 않으면 트래픽을 수신하지 않습니다.

Linux 5.9 VLAN 인터페이스는 무차별 모드가 활성화되지 않으면 트래픽을 수신하지 않습니다.

방금 Debian Buster를 실행하는 NAS를 Debian Bullseye로 업그레이드했습니다. 여기에는 4.19.0에서 5.9.0으로의 커널 업그레이드와 241에서 247.1로의 systemd 업그레이드가 포함되었습니다(시스템은 구성을 위해 systemd-networkd를 사용함).

네트워크 구성은 다소 복잡합니다.

  • eno1/eno2: 듀얼 포트 Intel I210 온보드 기가비트 이더넷(igb 드라이버 사용)

  • main: eno1/eno2를 물리적 링크로 사용하는 802.3ad 본딩 인터페이스

  • vlan60/vlan63: 기본을 기본으로 사용하는 VLAN 하위 인터페이스

main, vlan60및 모두 IPv4 및 IPv6 주소가 있지만 또는 vlan63에는 주소가 없습니다 .eno1eno2

모든 인터페이스는 기본 MAC 주소 모드를 사용하고 있습니다. 즉, 5개 모두 내장 MAC 주소인 eno1. 이 문제를 해결하려고 시도하는 동안 로컬로 관리되는 MAC 주소 vlan60를 구성했지만 vlan63도움이 되지 않았습니다(실제로 에서 IPv6 지원이 중단되었지만 main이유를 알 수 없었습니다).

Buster 구성을 사용하면 이 모든 것이 잘 작동했습니다. Bullseye로 업그레이드한 후 main제대로 작동하지만 vlan60트래픽 vlan63을 보내거나 받지 않습니다. 해당 주소와의 내부 트래픽은 제대로 작동하지만 외부 트래픽은 그렇지 않습니다.

이 문제를 해결하려고 시도하는 동안 tcpdump에서 시작했는데 vlan63트래픽이 흐르기 시작하는 것을 즉시 발견했습니다. 패킷 캡처를 중지하면 트래픽 흐름이 다시 중지됩니다.

현재 및 를 실행하여 시스템을 가동하고 실행하고 ip link eno1 set promisc on있으며 ip link eno2 set promisc on모든 인터페이스가 트래픽을 원활하게 전달하고 있습니다. 상위 레벨 인터페이스에서는 무차별 모드를 활성화할 필요가 없으며 물리적 인터페이스에서만 활성화할 필요가 있습니다.

무차별 모드를 활성화하지 않으면 VLAN 하위 인터페이스가 네트워크에서 브로드캐스트 프레임을 수신하지 못하는 것으로 나타나며 이로 인해 ARP 및 NDP가 작동하지 않게 됩니다.

이러한 커널 버전 사이에 이에 영향을 미칠 수 있는 일부 동작 변경이 있었습니까(알고 있는데, 커널 버전이 너무 많습니다...)?

답변1

커널이 무엇을 변경했는지는 잘 모르겠지만 Proxmox VE 7.0(Debian 11), 커널 버전 5.11.22-1에서 동일한 문제가 발생했습니다. 커널 버전을 5.11.22-3으로 업그레이드하자 문제가 사라졌습니다.

커널 문제일 수도 있습니다. 최신 버전의 커널로 업그레이드하면 문제가 없습니다.

관련 정보