보호 된 네트워크에서 Virtualbox Linux VM에 RPI 연결


2

등록 된 장치에만 IP 주소를 제공하는 보호 된 네트워크에 있습니다. 랩톱, Windows 컴퓨터 및 RPI를 등록 할 수 있지만 해당 랩톱의 모든 VM을 등록 할 수는 없으므로 브리지 된 어댑터는 옵션이 아닙니다. RPI와 VM간에 통신 할 수 있기를 원합니다.

지금까지 나는 이것을 시도했다.

3 개의 엔터티가 있습니다. (1) IP 134.58.46.117의 Windows 호스트 (2) NAT 네트워크와 호스트 전용 어댑터로 구성된 atm으로 구성된 Virtualbox Linux 게스트 VM. eth0에 IP 10.0.2.15가 있고 eth1에 IP 192.168.56.102 (3) Jessie에 RPI가 있고 eth0에 IP 134.58.46.172가 있습니다.

Windows 호스트에서 192.168.56.102를 ping 할 수 있습니다. RPI에서 Windows 호스트를 핑 (ping) 할 수 있습니다. Windows 호스트에서 RPI를 ping 할 수 있습니다. 다음 경로로 RPI를 구성했습니다.

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.56.0    134.58.46.117   255.255.255.0   UG    0      0        0 eth0

RPI에서 VM을 핑 ( "ping 192.168.56.10"실행)하면 응답이 없습니다.

Windows 호스트에 와이어 샤크는 않습니다 그러나 목적지 192.168.56.102로 134.58.46.172에서 패킷을 감지하지만, 아무 것도 반환하지 않습니다.

문제가 무엇인지 힌트가 있습니까? 아니면 내가 원하는 것을 할 수있는 또 다른 방법?

답변:


2

이 작업을 수행하려면 두 단계가 필요합니다.

  1. 먼저, Windows 시스템에서 IPv4 전달을 허용해야합니다. 이를 통해 한 인터페이스에서 다른 인터페이스로 패킷을 이동할 수 있습니다. 이를 수행하는 지시 사항은 사용중인 Windows 버전에 따라 다릅니다. 예를 들어 XP의 경우이 참조를 사용할 수 있고 Windows 10의 경우이 다른 참조를 사용할 수 있습니다 . 여하튼, 자세한 정보는 Google Windows YourVersion IPv4 전달 입니다. 어쨌든 Windows 버전의 정확한 주요 변경 사항이지만 Windows 레지스트리 항목을 변경하면됩니다.

  2. Windows 호스트를 RPI의 게이트웨이로 사용하도록 Linux 시스템에 지시해야합니다. 다음 명령을 사용하여 수행 할 수 있습니다.

    ip route add RPI_IP_ADDRESS/32 via WINDOWS_HOST_IP_ADDRESS
    

    이를 통해 패킷이 Linux VM 게스트의 헤더와 반대 방향으로 흐를 수 있습니다. 이렇게하면 RPI에서 시작한 대화에 대한 적절한 응답으로 인식됩니다. 이를 사용하지 않으면 패킷 헤더가 Windows 호스트 IP 주소를 반영하도록 변경됩니다. 즉, RPI는 작성된 주소와 다른 주소에서 응답을받습니다.

그게 다야.

편집 :

주석과 관련하여 :

Linux 게스트에게 LAN에 액세스 할 수있는 가짜 MAC 주소를 제공하십시오. tcpdump -i eth0 -n arp 와 함께 대화를 청취하려면 RPI를 사용하십시오 . 네트워크에 존재하는 여러 MAC 주소가 표시됩니다. macchanger로 Linux 게스트의 MAC 주소를 변경하여 방금 배운 것을 제공하십시오. 이제 Linux 게스트에 브릿지 어댑터를 사용하십시오. 그것은 매력처럼 작동합니다. 또한 실제 OS가있는 PC를 얻는 것이 고려할 수 있습니다. 창문이 부족합니다.

  1. 주소를 훔치는 것은 상대방의 연결을 방해 하지 않습니다 . 패킷에는 번호가 매겨져 있습니다 .PC가 잘못된 번호의 패킷을 받으면 단순히 버릴 것입니다.

  2. 다음과 같이 부팅이 영구적으로 다음 VM에 (난 당신이 데비안 또는 우분투 / 민트, 파생 상품 가정 ..., 당신이에있는 무엇이든에 다음과 어떤 적응하는 동기화가되지 않은 경우), 편집 은 / etc / 네트워크 / 인터페이스 , 다음을 붙여 넣습니다 ( eth1 이 연결할 인터페이스 라고 가정 ).

    auto eth1
    iface eth1 inet dhcp
             pre-up macchanger -m XX:XX:XX:XX:XX:XX eth1
    

그리고 그게 다야.


답장을 보내 주셔서 감사합니다. Windows 10의 1 단계에 문제가 있습니다. "로컬 컴퓨터에서 라우팅 및 원격 액세스 서비스가 시작되었다가 중지되었습니다. 일부 서비스는 사용하지 않으면 자동으로 중지됩니다. 다른 서비스 또는 프로그램. " 당신이 나를 도울 수있는 방법?
Sven

또한 "sudo ip route add 134.58.46.172/32 via 134.58.46.117"명령으로 두 번째 단계를 수행하면 "RTNETLINK 답변 : 네트워크에 연결할 수 없습니다"
Sven

Point2 : 실제로 잘못된 IP 주소, vBox 호스트 전용 IP는 192.168.51.1이 좋습니다. Point1 : 나는 그것을 보았지만 적용 할 수 없습니다. 더 자세히 살펴보면 " answers.microsoft.com/en-us/insider/forum/… "이 발견되었습니다. 이것이 Windows 10 버그 일 수 있습니다. 불행한 일입니다. 어떻게 고칠 수 있는지에 대한 단서가 있습니까? 아니면 대안으로 일 하시겠습니까?
Sven

@Sven은 Linux 게스트 에게 LAN에 액세스 할 수 있는 가짜 MAC 주소를 제공합니다. tcpdump -i eth0 -n arp 와 함께 대화를 청취하려면 RPI를 사용하십시오 . 네트워크에 존재하는 여러 MAC 주소가 표시됩니다. macchanger로 Linux 게스트의 MAC 주소를 변경하여 방금 배운 것을 제공하십시오. 이제 Linux 게스트에 브릿지 어댑터를 사용하십시오. 그것은 매력처럼 작동합니다. 또한 실제 OS 가있는 PC를 구입하는 것이 좋습니다. 왜냐하면 수행하려는 작업이 매우 정교하기 때문입니다. 창문이 부족합니다.
MariusMatutiae 2016 년

불행히도 그렇지 않은 것 같습니다. 그것을 밖으로 시도, 그것은 eth0와 내가 주어진 특정 MAC (vBox 설정을 사용하여)하지만 IP 주소가없는 부팅
Sven
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.