Tôi có hai máy chủ chạy VirtualBox. Tôi cần làm cho máy ảo trên mỗi máy chủ nói chuyện với máy ảo trên cùng và máy chủ khác tương ứng. Giải pháp đơn giản nhất là sử dụng mạng cầu nối, than ôi, hạn chế bảo mật trong mạng LAN của công ty chúng tôi cấm điều đó.
Tôi đã cố gắng làm theo mô tả của Jeff Warren khi được trả lời câu hỏi (rất giống nhau) ở đây: Virtualbox: Kết nối các mạng chỉ lưu trữ trên các máy chủ riêng biệt
Than ôi, liên kết đến tài liệu của Microsoft liên quan đến "Cấu hình nhiều cổng mạng" dường như bị hỏng. Tôi làm theo tốt nhất có thể.
Tôi có hai máy chủ ("host1" và "host") mỗi máy chủ được thiết lập với mạng "chỉ máy chủ" VirtualBox của nó (mạng trên host1 sử dụng dải địa chỉ IP 192.168.33.0/24, một trên host2 sử dụng 192.168.34.0 / 24). Hơn nữa, trên mỗi máy chủ, tôi đã thêm một tuyến đến mạng VirtualBox tương ứng khác. Bây giờ tôi có thể ping các máy chủ thông qua địa chỉ IP mà chúng có trên mạng chỉ có máy chủ tương ứng, tức là trên host1, tôi có thể ping thành công 192.168.34.1 và trên host2, tôi có thể ping 192.168.33.1, nhưng tôi không thể ping bất kỳ VM nào bên trong mạng chỉ lưu trữ trên máy chủ khác tương ứng. Tôi nghĩ rằng các mục nhập tuyến cục bộ thích hợp (nghĩa là, giữa máy chủ và mạng chỉ dành cho máy chủ) đã tồn tại, ví dụ: trên máy chủ1, "in tuyến đường" hiển thị cho tôi các mục sau vào mạng chỉ dành cho máy chủ VB của máy chủ đó
192.168.33.0 255.255.255.0 On-link 192.168.33.1 276
192.168.33.1 255.255.255.255 On-link 192.168.33.1 276
192.168.33.255 255.255.255.255 On-link 192.168.33.1 276
Nếu tôi đọc chính xác, quy tắc đầu tiên sẽ gửi bất kỳ yêu cầu nào tới IP trong mạng 192.168.33.0/24 tới giao diện chỉ dành cho máy chủ của tôi, quy tắc thứ hai dành riêng cho địa chỉ của máy chủ bên trong mạng đó và quy tắc cuối cùng là dành cho phát sóng . Rõ ràng, máy chủ của tôi không định tuyến đúng yêu cầu, tuy nhiên, nó chỉ chấp nhận các yêu cầu (cũng) dưới IP của nó trong mạng chỉ lưu trữ cục bộ tương ứng.
Bất cứ ý tưởng những gì có thể thiếu? "Truy cập từ xa và định tuyến" đang chạy trên cả hai máy (nếu tôi dừng nó, ping đến qua địa chỉ IP trong mạng "chỉ lưu trữ" sẽ không hoạt động, vì vậy nó thực sự đang làm gì đó).
Tôi cũng kích hoạt định tuyến IP như được mô tả ở đây https://social.technet.microsoft.com/Forums/lync/en-US/8f5ef2ca-c6e8-42e6-a70d-6d09bfdafa48/configuring-windows-7-as-a-router-in-lan?forum=w7iton
bằng cách thiết lập HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Services \ Tcpip \ Paramameter \ IPEnableRouter lên 1 và khởi động lại cả hai máy, nhưng điều đó không giúp được gì.
CẬP NHẬT Sau khi thêm các tuyến đường cho tất cả các máy ảo, giờ đây tôi có thể ping thành công trên các máy ảo trên các máy chủ khác nhau. Than ôi, bây giờ tôi có một vấn đề là khi bây giờ ping giữa các VM trên host1 (là máy Win7) tôi nhận được các phản hồi ping trùng lặp, như sau:
[root@centos1 network-scripts]# ping 192.168.33.203
PING 192.168.33.203 (192.168.33.203) 56(84) bytes of data.
From 192.168.33.1 icmp_seq=1 Redirect Network(New nexthop: 192.168.33.203)
From 192.168.33.1: icmp_seq=1 Redirect Network(New nexthop: 192.168.33.203)
64 bytes from 192.168.33.203: icmp_seq=1 ttl=64 time=0.363 ms
64 bytes from 192.168.33.203: icmp_seq=1 ttl=64 time=0.368 ms (DUP!)
64 bytes from 192.168.33.203: icmp_seq=1 ttl=63 time=0.566 ms (DUP!)
64 bytes from 192.168.33.203: icmp_seq=1 ttl=63 time=0.571 ms (DUP!)
Wireshark cho thấy rõ ràng chính máy chủ đang gửi tin nhắn "Chuyển hướng ICMP cho mạng" tới tất cả các máy ảo của tôi mọi lúc (! Không có bất kỳ lệnh "ping" nào chạy bên trong VM). Tôi đã tìm thấy một vài báo cáo về một hành vi tương tự và tắt dịch vụ "Định tuyến và truy cập từ xa" giải quyết vấn đề này, nhưng than ôi, đó là dịch vụ tôi cần để định tuyến giữa các máy chủ. Có ý kiến gì không?
Vấn đề KHÔNG tồn tại trên host2 (là hộp Win10), tôi đã cố gắng tìm hiểu xem định tuyến có khác nhau trên hai máy chủ không, nhưng không phải vậy.
CẬP NHẬT 2:
Cập nhật VirtualBox từ 5.1.18 lên 5.2.4 đã giải quyết vấn đề này.