Linux는 브리지에 macvlan 인터페이스를 추가합니다.

Linux는 브리지에 macvlan 인터페이스를 추가합니다.

host1(tap0) <--OpenVPN--> (tap0)host2(eth0) <---> host2 LAN

호스트 2의 eth0 장치를 건드리지 않고 원격 네트워크에 대한 L2 브리지를 설정해야 합니다.

나는 macvlan 인터페이스를 생성하고 이를 브리지에 넣어서 이를 수행하려고 합니다.

@host2:

ip link add link eth0 type macvlan mode passthru
ip link set dev macvlan0 up
brctl addbr br0
brctl addif br0 macvlan0
brctl addif br0 tap0
ip link set dev br0 up

@host1:

dhcpcd -T tap0

IP 주소를 얻거나 호스트 2 LAN에서 장치를 ping할 수 있을 것으로 예상했지만 그렇지 않습니다. tcpdump는 양쪽 끝에서 브로드캐스트 트래픽, arp 요청/응답 등을 표시합니다. macvlan 인터페이스를 지정해도 promisc 모드로 들어가지 않아서 dhcp 요청이 macvlan0을 거쳐서 서버가 응답을 보내는데 응답이 삭제되는 것을 발견했습니다. eth0에서는 볼 수 있지만 macvlan에서는 볼 수 없습니다.

eth0@host2를 그대로 유지하면서 이러한 브리지를 어떻게 설정할 수 있습니까? 일부 릴레이 데몬과 같은 소프트웨어 솔루션도 작동합니다.

감사해요.

답변1

(Linux 커널 용어를 사용하기 위해) MACVLAN netdev를 가상 브리지 netdev에 성공적으로 종속시키는 동안 예상대로 작동하지 않습니다. 특히 브리지는 전달되는 트래픽을 볼 수 없습니다.Bridge 및 Macvlan 장치의 충돌 및 제한 사항Linux 커널 소스 코드를 자세히 살펴보고 무엇이 무엇이고 아닌지 알아보세요.

관련 정보