Domyślnie VirtualBox działa w trybie „NAT”, co oznacza, że buduje sieć „wirtualną” i tłumaczy dostęp do sieci z maszyny wirtualnej, tak aby na zewnątrz wyglądała, jakby pochodziła z twojego komputera.
VirtualBox sprawia, że VM myśli, że jest podłączony do sieci, ale w rzeczywistości VirtualBox zapewnia usługi sieciowe, w tym mini serwer DHCP. Następnie VirtualBox uzyskuje dostęp do sieci „w imieniu” maszyny wirtualnej, dzięki czemu wygląda jak kolejna aplikacja działająca na komputerze.
Oznacza to jednak, że świat zewnętrzny tak naprawdę nie wie o maszynie wirtualnej i nie może uzyskać do niej bezpośredniego dostępu.
Myślę, że przekierowanie portu zostało wykonane z domowego routera na komputer, a nie na maszynę wirtualną. Być może brakuje pewnej konfiguracji po stronie VirtualBox. Przepraszam, jeśli już to zrobiłeś, ale twoje pytanie nie było jasne.
Zasadniczo musisz zmienić konfigurację sieci maszyny wirtualnej i ustawić ją na „Bridged”. To powoduje, że tworzy wirtualny interfejs na twoim komputerze i sprawia, że maszyna wirtualna używa go do uzyskania dostępu do świata zewnętrznego; wszystko, co wchodzi lub przechodzi do tego interfejsu, jest przesyłane do maszyny wirtualnej. W ten sposób maszyna wirtualna będzie widoczna jako inna maszyna w dowolnej sieci, do której podłączony jest komputer (ma nawet własny adres MAC!).
Następnie, w zależności od konfiguracji sieci, maszyna wirtualna może uzyskać adres DHCP, jak każdy inny komputer podłączony do routera, lub może być konieczne skonfigurowanie dla niego statycznego adresu IP. Zależy to od konfiguracji sieci.
Gdy maszyna wirtualna ma „prawdziwy” adres, możesz na routerze postępować zgodnie z instrukcjami, które znalazłeś, aby skierować port 22 do adresu IP maszyny wirtualnej. Powinno to działać zgodnie z oczekiwaniami.
Jeśli nie:
- Spójrz na konfigurację zapory maszyny wirtualnej (iptables -L -n). Czy to coś blokuje?
- Skonfiguruj inny komputer w sieci lokalnej i spróbuj połączyć się z SSH na adres IP maszyny wirtualnej. Jeśli możesz, musisz dokładnie sprawdzić konfigurację przekazywania w routerze. Jeśli nie możesz, musisz ponownie sprawdzić SSH maszyny Wirtualnej i konfigurację zapory.