Kết nối RPI với Virtualbox Linux VM trong mạng được bảo vệ


2

Tôi đang ở trên một mạng được bảo vệ chỉ cung cấp địa chỉ IP cho các thiết bị đã đăng ký. Tôi có thể đăng ký máy tính xách tay của mình, máy Windows và RPI, nhưng không phải mọi VM trên máy tính xách tay đó, vì vậy bộ chuyển đổi cầu nối không phải là một lựa chọn, tôi nghĩ vậy. Tôi muốn có thể giao tiếp giữa RPI và VM.

Cho đến nay tôi đã thử điều này:

Tôi có 3 thực thể: (1) Máy chủ Windows, với IP 134.58.46.117 (2) Máy ảo Virtualbox Linux Guest VM, được định cấu hình, atm, với mạng NAT và Bộ điều hợp chỉ lưu trữ. nó có IP 10.0.2.15 trên eth0 và IP 192.168.56.102 trên eth1 (3) RPI trên Jessie, với IP 134.58.46.172 trên eth0.

Tôi có thể ping 192.168.56.102 từ Máy chủ Windows. Tôi có thể ping Máy chủ Windows từ RPI. Tôi có thể ping RPI từ máy chủ Windows. Tôi đã cấu hình RPI với tuyến đường sau:

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

Khi tôi ping máy ảo từ RPI (vì vậy thực hiện "ping 192.168.56.10"), tôi không nhận được phản hồi.

Wireshark trên máy chủ Windows không phát hiện các gói từ 134.58.46.172 với đích 192.168.56.102, nhưng không có gì được trả về.

Bất kỳ manh mối vấn đề là gì? Hoặc một cách khác để làm những gì tôi muốn?

Câu trả lời:


2

Bạn cần hai bước để làm việc này:

  1. Trước tiên, bạn cần cho phép chuyển tiếp IPv4 trên máy Windows. Điều này sẽ cho phép nó di chuyển các gói từ giao diện này sang giao diện khác. Các hướng dẫn để thực hiện việc này tùy thuộc vào phiên bản Windows bạn đang sử dụng, ví dụ với XP, bạn có thể sử dụng tham chiếu này và đối với Windows 10, bạn có thể sử dụng tham chiếu khác này . Bằng mọi giá, Google Windows YourVersion IPv4 chuyển tiếp để biết thêm thông tin. Trong mọi trường hợp, vấn đề chỉ là thay đổi mục Windows Registry, mặc dù các thay đổi chính xác với phiên bản Windows.

  2. Bạn cần hướng dẫn máy Linux của mình sử dụng máy chủ Windows làm cổng cho RPI. Nó có thể được thực hiện với lệnh sau:

    ip route add RPI_IP_ADDRESS/32 via WINDOWS_HOST_IP_ADDRESS
    

    Điều này đảm bảo rằng các gói có thể chảy theo hướng ngược lại với các tiêu đề của máy khách Linux VM: theo cách này chúng được nhận dạng là câu trả lời thích hợp cho các cuộc hội thoại được bắt đầu bởi RPI. Nếu bạn không sử dụng điều này, các tiêu đề gói sẽ được thay đổi để phản ánh địa chỉ IP máy chủ Windows, điều đó có nghĩa là RPI sẽ nhận được trả lời từ một địa chỉ khác với địa chỉ mà nó đã ghi.

Đó là tất cả.

CHỈNH SỬA :

với tham chiếu đến bình luận:

cung cấp cho khách Linux của bạn một địa chỉ MAC giả, một địa chỉ có quyền truy cập vào mạng LAN của bạn. Sử dụng RPI để nghe các cuộc hội thoại, với tcpdump -i eth0 -n arp . Điều này sẽ hiển thị một số địa chỉ MAC có trên mạng của bạn. Thay đổi địa chỉ MAC của khách Linux của bạn bằng macchanger , cung cấp địa chỉ MAC mà bạn vừa tìm hiểu. Bây giờ sử dụng bộ chuyển đổi Bridge cho khách Linux. Nó sẽ hoạt động như một lá bùa. Ngoài ra, bạn có thể xem xét nhận được một máy tính có hệ điều hành thực sự, vì những gì bạn đang cố gắng làm là khá tinh vi. Windows rơi ngắn ở đó.

  1. đánh cắp một địa chỉ không can thiệp vào kết nối của người kia: các gói được đánh số, nếu máy tính của bạn nhận được gói bị đánh số sai, nó sẽ đơn giản loại bỏ nó.

  2. bạn làm cho nó vĩnh viễn khi khởi động như sau: trên VM (Tôi giả sử bạn đang sử dụng Debian hoặc các dẫn xuất Ubuntu / Mint, ..., nếu không, đó là một sự đồng bộ để điều chỉnh những gì tiếp theo với bất cứ điều gì bạn đang bật), chỉnh sửa / etc / mạng / giao diện và dán phần sau vào (giả sử eth1 là giao diện để kết nối):

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

và đó là nó.


Cảm ơn vi đa trả lơi. Tôi đang gặp sự cố với bước 1 cho Windows 10: bật tính năng tự động vô hiệu hóa Routing và Remote Acces với thông báo sau: "dịch vụ định tuyến và truy cập từ xa trên máy tính cục bộ bắt đầu và sau đó dừng lại. Một số dịch vụ tự động dừng nếu chúng không được sử dụng bởi các dịch vụ hoặc chương trình khác. " Bất cứ cách nào bạn có thể giúp tôi ra?
Sven

Ngoài ra, thực hiện bước thứ hai, với lệnh: "sudo ip route add 134.58.46.172/32 qua 134.58.46.117" cho tôi "câu trả lời RTNETLINK: Mạng không thể truy cập được"
Sven

Điểm 2: thực sự là địa chỉ IP sai, IP chỉ lưu trữ máy chủ BBox là 192.168.51.1 là tốt hơn. Điểm 1: Tôi đã thấy điều đó nhưng nó không được áp dụng. Nhìn xa hơn, tôi bắt gặp " answer.microsoft.com/en-us/insider/forum/ hè " Xuất hiện đây có thể là một lỗi của Windows 10! Điều đó thật đáng tiếc. Bất kỳ manh mối về làm thế nào tôi có thể sửa chữa nó? Hoặc làm việc thay thế?
Sven

@Sven cung cấp cho khách Linux của bạn một địa chỉ MAC giả , một địa chỉ có quyền truy cập vào mạng LAN của bạn. Sử dụng RPI để nghe các cuộc hội thoại, với tcpdump -i eth0 -n arp . Điều này sẽ hiển thị một số địa chỉ MAC có trên mạng của bạn. Thay đổi địa chỉ MAC của khách Linux của bạn bằng macchanger , cung cấp địa chỉ MAC mà bạn vừa tìm hiểu. Bây giờ sử dụng bộ chuyển đổi Bridge cho khách Linux. Nó sẽ hoạt động như một lá bùa. Ngoài ra, bạn nên cân nhắc việc có một máy tính với một hệ điều hành thực sự , vì những gì bạn đang cố gắng làm là khá phức tạp. Windows rơi ngắn ở đó.
MariusMatutiae

Thật không may, nó xuất hiện nó không. Đã thử, nó khởi động với eth0 và MAC cụ thể mà tôi đã cung cấp (mặc dù sử dụng cài đặt BBox) nhưng không có địa chỉ IP,
Sven
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.