У меня есть VM A и VM B, работающие на хост-машине H. Обе эти VM используют NAT. Я хочу, чтобы эта VM была доступна для внешней машины в той же сети, но только через определенные порты. Например, предположим, что машина XYZ хочет получить доступ к VM, она должна иметь возможность доступа к VM только через определенный порт через HOST-IP::PORT.
Это то, что я сделал, чтобы выполнитьэтот.
Lets say my VM IP is 1.2.3.4
In vmware workstation
-> edit
-> Network editor
-> Vmnet8(NAT) NAT settings
-> Port Forwaring Add
-> Host Port 9191, Type TCP, VM IP 1.2.3.4, VM Port 5001
Then in the vm
-> Firewall setting allowed incoming from port 5001
Но теперь, когда я пытаюсь с моей машины XYZ выполнить команду ping HOSTIP:port, я не могу успешно выполнить команду ping.
решение1
Ping использует icmp и не имеет понятия порта. Так что вы просто пингуете свою хост-машину.
Если у вас Windows, вы можете использовать telnet.
telnet HOSTIP 9191
Telnet доступен в разделе «Включение и отключение компонентов Windows».
Это, по крайней мере, протестирует переадресацию порта.
Обратите внимание, если он подключается, экран будет казаться "черным" или покажет какой-то текст в зависимости от сервиса. Если он не говорит connection failed
, то он работает.