Linux(ubuntu-18.04)를 실행하는 호스트 시스템이 있습니다. 2개의 VMware 인스턴스를 구성했고 네트워크는 NAT를 통해 구성되었습니다. 로컬 IP를 통해 VM1에서 VM2로 핑을 보낼 수 있지만(그 반대의 경우도 마찬가지) 현재 요구 사항에 따라 이더넷 케이블을 통해 DPDK 테스트 환경에 연결하여 한 컴퓨터가 직접 Mac 주소(계층 2 프로토콜)를 통해 다른 컴퓨터를 찾을 수 있기를 원합니다. , IP 스택 없음). 간단하고 효율적인 방법으로 이 작업을 수행하고 작동하는지 테스트하는 방법은 무엇입니까(아마도 아르핑을 통해 확실하지 않음)?
답변1
당신이 필요하다면물리적Layer 2 연결의 경우 NAT 대신 브리지 모드를 사용해야 합니다.
호스트 운영 체제가 무선 액세스 포인트이기도 하지 않으면 무선 네트워크에서 브리지 모드를 사용할 수 없습니다. 호스트가 무선 클라이언트인 경우 WiFi ID(MAC 주소 + 관련 암호화 세션 키)만 있으며, VM의 트래픽을 무선 네트워크에 연결하려고 시도하는 경우 VM의 MAC 주소 + 호스트의 WiFi 결합된 암호화 키는 액세스 포인트에서만 거부됩니다.
레이어 2 연결의 경우동일한 호스트의 가상 머신 간, 모든 가상 머신의 가상 네트워크 카드가 동일한 가상 스위치를 사용하는지 확인하기만 하면 됩니다.VMware Workstation 설명서에서 이 페이지를 참조하세요.: NAT 모드에서도 NAT 요소가 가상 스위치와 호스트 외부의 물리적 네트워크 사이에 있기 때문에 여러 가상 머신을 동일한 가상 스위치에 가상으로 연결하고 서로 자유롭게 통신할 수 있습니다.
NAT 모드에서 기본 가상 스위치의 이름은 입니다 VMnet8
. 가상 스위치에 연결된 모든 가상 머신은 자동으로 서로 간에 레이어 2 연결을 설정합니다.
그러나 테스트는 약간 까다로울 수 있습니다. 네트워크 인터페이스가 IP 주소로 구성된 경우 들어오는 ARP 요청에만 응답하므로 .NET을 사용하여 테스트하려면 IP 주소를 (적어도 일시적으로) 구성해야 합니다 arping
.
현재 RHEL 8에는 순수 레이어 2 연결 테스터가 없는 것으로 보입니다. 그런데 예전에 제가 사용했던이 유틸리티: 두 개의 가상 머신에 설치하고, linkloopd
한 가상 머신에서 실행하고, linkloop
다른 가상 머신에서 명령으로 테스트해야 한다는 점 참고하세요.