Linux 브리지를 가상 스위치 대신 허브 역할을 하는 방법은 무엇입니까?

Linux 브리지를 가상 스위치 대신 허브 역할을 하는 방법은 무엇입니까?

저는 가상 머신을 사용 virt-manager하고 실행하고 있습니다. qemu다른 VM의 Kali Linux VM에서 트래픽을 스니핑하는 작업을 완료해야 합니다. 브리지된 네트워크는 스위치 역할을 하기 때문에 이는 불가능합니다(VMWare의 "무차별 모드"에 있기 때문입니다). 이 튜토리얼을 온라인에서 찾았습니다.https://techglimpse.com/convert-linux-bridge-hub-vm-interospection/

이는 brctl브리지가 스위치 대신 허브 역할을 하도록(그리고 모든 프레임을 가상 네트워크의 모든 호스트에 전달하도록) 브리지를 변경하는 데 사용할 수 있는 몇 가지 설정이 있음을 보여줍니다.

브리지가 시작된 후 기사에 표시된 대로 다음 명령을 실행했습니다.

brctl stp virbr0 off
brctl setageing virbr0 0
brctl setfd virbr0 0

그런 다음 Kali에서 Wireshark를 열었고 가상 네트워크 카드가 무차별 모드에 있었습니다. 그런 다음 별도의 가상 머신에서 ping 8.8.8.8.

Kali VM으로 돌아가서 네트워크 트래픽을 보려고 하면 8.8.8.8의 ICMP 에코 응답을 볼 수 있지만 VM의 에코 요청은 볼 수 없습니다.

가상 머신에서 웹 브라우저를 열고 탐색했는데, 다시 가상 머신에서 발생하는 패킷이 아닌 가상 머신으로 이동하는 패킷만 볼 수 있었습니다.

나는 이것이 virbr0 인터페이스의 기본 게이트웨이가 어떻게 든 직접 패킷을 보내고 모든 인터페이스로 전달되지 않기 때문이라고 추측합니다.

이 문제를 해결하기 위해 제가 할 수 있는 다른 방법이 있나요? Open Vswitch에 대해 읽었습니다. 이 소프트웨어나 다른 소프트웨어를 사용하여 허브와 같은 가상 네트워크를 생성할 수 있는 방법이 있습니까?

나는 이것이 libvirt가 각 가상 머신에 대해 별도의 가상 인터페이스 vnet*을 생성한다는 사실과 관련이 있을 수 있다고 생각하며 192.168.122.1기본 게이트웨이가 인터넷용 패킷을 브리지 네트워크로 다시 전달하는 이유가 이해되지 않습니다.

관련 정보