2017-09-26 2 views
0

다음 시나리오의 작동 방식에 대해서는 약간 혼란 스럽습니다. 아주 간단한 설정이므로 간단한 설명이되기를 바랍니다.단일 macvlan 인터페이스의 여러 LXD 컨테이너

단일 실제 NIC가있는 호스트가 있습니다. 이 물리적 NIC에서 브리지 모드로 단일 macvlan 하위 인터페이스를 만듭니다. 그런 다음 두 개의 LXD/LXC 컨테이너를 시동합니다. 각각 고유 한 MAC 및 IP를 가지고 있지만 프로필에서 각 컨테이너의 상위 인터페이스와 동일한 단일 macvlan 하위 인터페이스를 지정합니다.

두 컨테이너 모두 문제없이 네트워크에 액세스 할 수 있습니다. 각 컨테이너의 고유 한 IP 주소를 사용하여 각 컨테이너에 SSH를 연결할 수도 있습니다. 이것은 나를 혼란스럽게하는 비트입니다 :

어떻게이 모든 것이 두포 밑에서 작동합니까? 두 컨테이너는 외부 세계에 액세스 할 때 단일 macvlan MAC/IP를 사용합니다. 충돌이 일어나지 않을까요? 이 작동하지 않아야합니까? 컨테이너마다 하나의 macvlan 서브 인터페이스가 있어야하지 않습니까? 여기에 일종의 NAT가 있습니까?

macvlan은 문서화되어 있지 않습니다. 누군가가 도움을 줄 수 있기를 바랍니다.

+1

https://discuss.linuxcontainers.org/로 가셔서 LXD/LXC 커뮤니티가 stackoverflow에 약간 희미하고 stackoverflow가 프로그래밍 관련 질문에 대한 질문을 던져야합니다. –

답변

1

IP 레이어에서 말한대로 NATing은 없습니다. MAC은 링크 레이어입니다. 그러나 비슷한 결과입니다.

모든 MAC (NIC와 macvlan)은 NIC과 동일한 링크를 통해 라우팅됩니다. 그런 다음 NIC 장치 드라이버는 트래픽을 게스트 또는 호스트 중 하나에 연결하는 올바른 인터페이스 (가상 또는 없음)로 라우팅합니다. macvlan을 가상 스위치라고 생각할 수 있습니다.

관련 문제