네임 스페이스가 아닌 호스트에서 Macvlan 기반 인터페이스 핑


10

[편집하다]

프로덕션 시스템은 현재 물리적 및 ESXi 기반 혼합 시스템입니다. 사전 프로덕션 환경에서도 virtualbox를 절대 사용하지 않을 것입니다! 여기서는 바탕 화면에서 직접 문제를 신속하게 좁히기 위해 사용되었습니다.

메타의 "보류"에 대한 설명에 감사드립니다!

[/편집하다]

내 설정 :

  1. 개인 네트워크 vboxnet110.0.7.0/24
  2. 호스트 1 개, 우분투 데스크탑
  3. 1 개의 VM, 우분투 서버 (VirtualBox)

드레싱 레이아웃 :

  1. 호스트 : 10.0.7.1
  2. VM : 10.0.7.101
  3. VM MAC 네임 스페이스 : 10.0.7.102

VM, 나는 다음과 같은 명령을 실행 :

ip netns add mac                        # create a new nmespace
ip link add link eth0 mac0 type macvlan # create a new macvlan interface
ip link set mac0 netns mac

mac네임 스페이스는 VM 내부 :

ip link set lo up
ip link set mac up
ip addr add 10.0.7.102/24 dev mac0

그래서 우리는 기본적으로 다음과 같이 끝납니다 : (Like Inception?)

+------------------------+
| Host: 10.0.7.1         |
|                        |
| +--------------------+ |
| | VM: 10.0.7.101     | |
| |                    | |
| | +----------------+ | |
| | | NS: 10.0.7.102 | | |
| | |                | | |
| | +----------------+ | |
| +--------------------+ |
+------------------------+

작동하는 것 :

  • 핑 사이 HostVM
  • 핑 사이 NSNS
  • dhclient from NS

작동하지 않는 것 :

  • 핑 (ping) 사이 NSVM
  • 핑 (ping) 사이 NSHost

내가 미쳤던 곳 :

  • tcpdump on host(실제 머신)은 실제로 ARP 요청과 응답을 보여줍니다
  • tcpdump on NS은 호스트로 전송 된 ARP 요청 을 보여줍니다.
  • tcpdump on VM은 전체 혼란을 일으 킵니다 (!)-> tcpdump가 VM에서 시작될 때 ping이 응답을 시작합니다.

그래서, 나는 당신이 그것을 열망했다는 내기, 내 질문은 : 어떻게 작동 시키는가? NS 내부의 macvlan에서 ARP에 문제가 있다고 생각하지만 정확히 무엇을 알 수는 없습니다 ...

Btw, 나는 mac0VM에서 네임 스페이스가없는 인터페이스를 사용 하여 동일한 실험을 수행했으며 완벽하게 작동했습니다.


4
왜이 질문이 주제를 벗어난 것으로 표시되었는지 이해할 수 없습니다. 분명히 다중 가상화 환경과 관련된 sysadmin / netadmin 질문이며 사소한 질문이 아닙니다 (그렇다면 StackOverflow에 대한 질문의 90 %도 주제가 아닙니다). "주제를 벗어난"것으로 표시 한 사람들이 여기에 적용되지 않는 규칙을 복사하여 붙여 넣기보다는 이유를 설명하는 데 방해가된다면 좋겠습니다. 감사합니다!
jpetazzo

@jpetazzo 이것은 주제에 국한된 것이 아니며, 문제의 조직 / 표현이 좋지 않은 경우 (운영 / 관리자가 아닌 OP로 인해) 닫는 사람들 만 가정 할 수 있습니다. 또한 Server Fault 의 범위 (주제뿐만 아니라)는 Stack Overflow 와 다릅니다. 귀하의 주장에 따라 Google 도움말 센터 를 방문하지 않았다고 생각합니다 .
Chris S

답변:


13

자, 후손을 위해, tcpdump가 갑자기 모든 작업을 수행한다는 사실이 저를 추적하게했을 것입니다. 내부적으로하는 것은 eth0무차별 모드로 전환하는 것입니다. 즉 eth0, 서버의 메인 네트워크 트래픽뿐만 아니라 모든 네트워크 트래픽을 생성합니다MAC

그러나 이것은 정확히 macvlan작동 하는 방식입니다. "물리적"(VM) 네트워크 어댑터가 모르는 새로운 보조 가상 MAC 주소를 추가합니다.

따라서 쉬운 해결 방법은 수동으로 수행하는 것입니다. ifconfig eth0 promisc

나는 그것이 도움이되기를 바랍니다!


따라서 해당 VM에서 "no promisc mode"를 선택 해제해야했습니다.
Nils

실제로, 그것은 선택되어 있지 않습니다.
yadutaf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.