Linux 브리지는 패킷을 TAP 인터페이스로 전달하지 않습니다.

Linux 브리지는 패킷을 TAP 인터페이스로 전달하지 않습니다.

br0다음과 같은 시나리오가 있습니다. 내부에 Linux 브리지가 구성되어 연결된 Docker 컨테이너를 실행하고 , eth0컨테이너의 기본 인터페이스와 TAP 인터페이스가 있습니다 tap0. 마지막 것은 컨테이너로 실행되는 QEMU 게스트 머신에 연결됩니다.

Docker 컨테이너는 Calico를 CNI로 사용하여 Kubernetes 클러스터에서 실행됩니다.

내가 직면한 것은 ping컨테이너의 IP(TAP 인터페이스에 할당됨)를 얻을 때 어떤 응답도 받지 못한다는 것입니다.

그런 다음 옛 친구와 함께 디버깅을 시작했고 tcpdump패킷이 eth0컨테이너에 올바르게 도착하고 브리지에는 도달했지만 br0 TAP 인터페이스에는 도달하지 않았음을 발견했습니다 tap0. 알 수 없는 이유로 패킷이 삭제되었습니다.

어떤 아이디어가 있나요?

브리지의 RF 필터를 비활성화하려고 시도했지만 결과가 없습니다.

답변1

이 문제를 해결했습니다.

그 이유는 컨테이너로 도난당한 경로가 게스트 운영 체제로 푸시되지 않기 때문입니다.

관련 정보