Theo mặc định, VirtualBox hoạt động ở chế độ "NAT", nghĩa là nó xây dựng mạng "ảo" và dịch các truy cập mạng từ VM để ra thế giới bên ngoài, chúng dường như đến từ máy tính thực của bạn.
VirtualBox khiến VM nghĩ rằng nó được kết nối với mạng, nhưng thực tế VirtualBox đang cung cấp các dịch vụ mạng, bao gồm cả máy chủ DHCP nhỏ. Sau đó, VirtualBox truy cập mạng "nhân danh" VM, làm cho nó xuất hiện như một ứng dụng khác đang chạy trên PC của bạn.
Tuy nhiên, điều này có nghĩa là thế giới bên ngoài không thực sự biết về VM và không thể truy cập trực tiếp.
Tôi nghĩ rằng việc chuyển hướng cổng bạn đã làm là từ bộ định tuyến gia đình sang PC của bạn chứ không phải VM. Bạn có thể thiếu một số cấu hình ở phía VirtualBox. Xin lỗi nếu bạn đã làm điều này, nhưng câu hỏi của bạn không rõ ràng về điều này.
Về cơ bản, bạn phải thay đổi cấu hình mạng của VM và đặt thành "Cầu nối". Điều này làm là, nó tạo ra một giao diện ảo trên PC của bạn và làm cho VM sử dụng nó để truy cập vào thế giới bên ngoài; bất cứ thứ gì đi vào hoặc đi đến giao diện đó đều được dẫn đến VM. Do đó, VM sẽ hiển thị dưới dạng một máy khác trong bất kỳ mạng nào mà PC của bạn được kết nối (thậm chí nó có địa chỉ MAC riêng!).
Sau đó, tùy thuộc vào cấu hình mạng của bạn, VM có thể nhận địa chỉ DHCP giống như bất kỳ PC nào khác được kết nối với bộ định tuyến của bạn hoặc bạn có thể cần định cấu hình địa chỉ IP tĩnh cho nó. Điều này phụ thuộc vào cách thiết lập mạng của bạn.
Khi VM có địa chỉ "thực", bạn có thể, trên bộ định tuyến của mình, làm theo các hướng dẫn bạn đã tìm thấy để định tuyến cổng 22 đến địa chỉ IP của VM. Điều này sẽ làm việc như bạn mong đợi nó.
Nếu nó không:
- Nhìn vào cấu hình tường lửa VM của bạn (iptables -L -n). Có phải nó đang chặn bất cứ thứ gì?
- Thiết lập một máy tính khác trên mạng cục bộ của bạn và thử SSH tới địa chỉ IP của VM. Nếu bạn có thể, thì bạn cần kiểm tra kỹ cấu hình chuyển tiếp trong bộ định tuyến của mình. Nếu bạn không thể, bạn cần kiểm tra lại cấu hình SSH và tường lửa của VM.