Jak lokalnie połączyć się z gościem linuksowym za pośrednictwem SSH

0

Mam lokalną maszynę gościa z systemem Linux. Na tym gościu skonfigurowałem statyczną konfigurację sieci, która pasuje do konkretnej sieci. Ale czasami nie jestem w tej sieci lub nawet nie mam żadnej sieci. Czy istnieje sposób na połączenie się z maszyną-gościem bez korzystania z sieci?

Muhammad Gelbana
źródło

Odpowiedzi:

1

Z instrukcji VirtualBox :

Konfigurowanie przekierowania portów za pomocą NAT

Ponieważ maszyna wirtualna jest podłączona do prywatnej sieci wewnętrznej do VirtualBox i niewidoczna dla hosta, usługi sieciowe gościa nie są dostępne dla hosta lub innych komputerów w tej samej sieci. Jednak, podobnie jak fizyczny router, VirtualBox może udostępniać wybrane usługi światu poza gościem poprzez przekierowanie portów. Oznacza to, że VirtualBox nasłuchuje na niektórych portach na hoście i ponownie wysyła wszystkie pakiety, które docierają do gościa, na tym samym lub innym porcie.

W przypadku aplikacji na hoście lub innych fizycznych (lub wirtualnych) maszynach w sieci wygląda to tak, jakby usługa będąca serwerem proxy faktycznie działała na hoście. Oznacza to również, że nie można uruchomić tej samej usługi na tych samych portach na hoście. Nadal jednak zyskujesz na zaletach uruchamiania usługi na maszynie wirtualnej - na przykład usług na maszynie hosta lub na innych maszynach wirtualnych nie można naruszyć ani zawiesić z powodu usterki lub błędu w usłudze, a usługa może być uruchomiona w innym systemie operacyjnym niż system hosta.

Możesz skonfigurować usługę gościa, którą chcesz proxy za pomocą narzędzia wiersza poleceń VBoxManage; Szczegółowe informacje można znaleźć w sekcji o nazwie „VBoxManage modyfikvm”.

Będziesz musiał wiedzieć, z których portów gościa korzysta usługa, i zdecydować, które porty mają być używane na hoście (często, ale nie zawsze, będziesz chciał używać tych samych portów na gościu i hoście). Możesz użyć dowolnych portów na hoście, które nie są jeszcze używane przez usługę. Na przykład, aby skonfigurować przychodzące połączenia NAT do serwera ssh w gościu, użyj następującego polecenia:

VBoxManage modyfikujevm „Nazwa maszyny wirtualnej” --natpf1 ”guestssh, tcp ,, 2222,, 22”

W powyższym przykładzie cały ruch TCP docierający do portu 2222 na dowolnym interfejsie hosta zostanie przekierowany do portu 22 w gościu. Nazwa protokołu tcp jest obowiązkowym atrybutem określającym, który protokół powinien być używany do przekazywania (można również użyć udp). Nazwa guestsh ma charakter wyłącznie opisowy i zostanie automatycznie wygenerowany, jeśli zostanie pominięty. Liczba po --natpf oznacza kartę sieciową, podobnie jak w innych częściach VBoxManage.

Aby ponownie usunąć tę regułę przekazywania, użyj następującego polecenia:

VBoxManage zmodyfikuj „Nazwa maszyny wirtualnej” --natpf1 usuń „guestsh”

Jeśli z jakiegoś powodu gość używa statycznie przypisanego adresu IP, który nie jest dzierżawiony z wbudowanego serwera DHCP, wymagane jest podanie adresu IP gościa podczas rejestracji reguły przekazywania:

VBoxManage modyfikujevm „Nazwa maszyny wirtualnej” --natpf1 „guestssh, tcp ,, 2222,10.0.2.19,22”

Ten przykład jest identyczny z poprzednim, z tym wyjątkiem, że silnik NAT jest informowany, że gość można znaleźć pod adresem 10.0.2.19.

Aby przekazać cały ruch przychodzący z określonego interfejsu hosta do gościa, określ adres IP tego interfejsu hosta w następujący sposób:

VBoxManage modyfikvvm „Nazwa maszyny wirtualnej” --natpf1 „guestssh, tcp, 127.0.0.1,2222,, 22”

Spowoduje to przekazanie całego ruchu TCP przybywającego do interfejsu hosta lokalnego (127.0.0.1) przez port 2222 do portu 22 w gościu.

Nie można skonfigurować przychodzących połączeń NAT podczas działania maszyny wirtualnej. Można jednak zmienić ustawienia maszyny wirtualnej, która jest obecnie zapisywana (lub wyłączana podczas migawki).

Daemon of Chaos
źródło