최근에는 VMWare Player를 사용하여 Windows 호스트에 Linux 가상 머신을 구성했습니다. 네트워크 어댑터를 브리지된 네트워크로 설정하고 "복사" 옵션을 선택했습니다. IP 주소는 물리적 네트워크에 있지만 이 명령을 사용하면 arp -a
호스트와 가상 머신 간에 다른 결과가 생성됩니다. 호스트는 Wi-Fi 네트워크에서 다른 호스트를 검색할 수 있지만 가상 머신은 검색할 수 없습니다.
호스트가 스위치처럼 작동하고 네트워크 정보를 VM에 전달한다는 것을 알고 VM이 실제 네트워크에 액세스할 수 있다고 가정하지만 왜 그렇게 할 수 없는지 이해하지 못합니다. 이 브리지된 네트워크가 정확히 어떻게 작동하는지, 그리고 가상 머신 내부에서 실제 네트워크를 얻을 수 있는지 알고 싶습니다.
- - 편집하다- -
흥미롭게도 일부 결과는 보았지만 전부는 아니었습니다.arp-scan -l
출력은 다음과 같습니다.
arp -a
Windows 호스트의 결과arp
Linux VM의 결과arp-scan -l
가상 머신에서
답변1
나는 당신의 가정이 맞는지 완전히 확신하지 못합니다. 저는 브리지된 네트워크 장치를 자주 사용하는데, 경험상 가상 머신 중 하나의 네트워크 트래픽이 다소 고립되어 있습니다. 나는 사용한다키보드 가상 머신하지만 제가 사용하고 있는 브리징 기술은 리눅스 호스트에서 제공하는 것이기 때문에 완전히 동일하지는 않지만 비슷할 수도 있을 것 같습니다.
당신의 사용법은 arp
나도 혼란 스럽습니다. 이 명령은 시스템이 최근에 연결한 시스템과 시스템 ARP 캐시에 유지되는 IP 주소 매핑에 대한 MAC 주소만 표시합니다. 이 명령은 arp
해당 캐시의 내용을 표시합니다.
예
VM 호스트 + 게스트 1명이 있습니다.
주인
$ arp -a
hostX (192.168.1.226) at XX:XX:XX:XX:XX:XX [ether] on br0
hostY (192.168.1.7) at XX:XX:XX:XX:XX:XX [ether] on br0
hostZ (192.168.1.5) at XX:XX:XX:XX:XX:XX [ether] on br0
hostA (192.168.1.1) at XX:XX:XX:XX:XX:XX [ether] on br0
손님
$ arp -a
hostA (192.168.1.1) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostY (192.168.1.7) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostB (192.168.1.100) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostC (192.168.1.8) at XX:XX:XX:XX:XX:XX [ether] on eth0
hostX (192.168.1.226) at XX:XX:XX:XX:XX:XX [ether] on eth0
브리지는 계층 2 장치이므로 arp
VM 호스트의 VM 게스트에서 데이터가 수신된다는 어떠한 증거도 볼 수 없을 것으로 예상됩니다.
브리지는 MAC 주소를 기반으로 네트워크 간 트래픽을 전달하는 링크 계층 장치이므로 계층 2 장치라고도 합니다. 각 네트워크에 연결된 호스트를 파악하여 구성된 MAC 주소 테이블을 기반으로 전달 결정을 내립니다. 소프트웨어 브리지는 가상화된 애플리케이션에서 하나 이상의 가상 NIC와 NIC를 공유하는 등 하드웨어 브리지를 에뮬레이트하기 위해 Linux 호스트 내에서 사용할 수 있습니다.
추가 디버깅?
tcpdump
게스트와 호스트 VM 모두에서 네트워크 분석 도구를 사용할 것입니다. 이를 통해 병목 현상이 발생한 위치를 알 수 있습니다.
$ sudo tcpdump -i eth0
-i
모니터링하려는 네트워크 인터페이스로 매개변수를 변경합니다 .
답변2
이것arp(8)
이 명령은 운영 체제의 주소 확인 프로토콜에서 사용되는 변환 테이블의 내용을 표시합니다. 이 테이블에는 주로 arp who-has
로컬 요청에 대한 캐시된 응답이 포함됩니다.
브리지된 네트워크가 있는 가상 머신이 있지만 로컬 네트워크의 호스트와 적극적으로 통신하지 않는 경우 arp 테이블이 매우 작을 수 있습니다.
마찬가지로, 호스트에 여러 로컬 네트워크가 있지만 그 중 하나만 VM에 브리지하는 경우 실제로 다른 네트워크에 브리지하는 것이 아닙니다. 그렇죠?
GigE 브리지는 있지만 WiFi는 없는 것 같습니다.
또는 WiFi를 연결했지만 액세스 포인트가 새 MAC 주소를 좋아하지 않을 수도 있습니다.
답변3
공격 상황( arp -n
Linux VM에서 전혀 아무것도 반환하지 않음)에 따르면 Linux에서 IP 주소를 구성하는 것을 잊어버려서 ARP 항목을 얻지 못한 것 같습니다.
Linux에서 정적 할당을 수동으로 구성하고 있습니까, 아니면 dhclient
Linux VM에서 정적 할당을 실행하고 있습니까? ifconfig
문제를 추가로 식별하기 위한 출력 도 제공하지 않았습니다 .
또한 액세스 포인트가 네트워크 확장을 원하지 않을 수도 있다는 점을 고려해야 할 수도 있습니다.