How to do port forwarding on VMWare Player 14.1.2 (Ubuntu 18.04 guest, Windows 10 host)?

ARV picture ARV · Sep 18, 2018 · Viewed 8k times · Source

I have a VMWare Player (14.1.2 build-8497320) running a Ubuntu 18.04 guest on a Windows 10 host. The Ubuntu guest has a LAMP stack that runs a few web applications. I am using NAT to connect the Ubuntu guest to the Windows host's network.

I can access these applications by using the local IP address of the guest (e.g., http://192.168.80.128/mediawiki) from my Windows host. But I want to access it like so from my Windows host: http://localhost/mediawiki. I think this should be possible if I can forward the port 80 of my Ubuntu guest to that of the Windows host.

How do I make this happen please? I don't have access to VMWare Workstation and its Virtual Network Editor.

Edit: I should probably add the motivation for wanting to do this. Basically, I want to avoid figuring out the IP address of the virtual machine everytime I access the web applications.

The (further) reason is that the local IP address of the Ubuntu guest might (I suspect) change, and that will affect quite a few things, such as the base URLs configured in the webapps' configuration files (e.g., the $wgServer variable in LocalSettings.php of MediaWiki).

Answer

David Balažic picture David Balažic · Mar 5, 2019

VMWare Player supports port forwarding over NAT natively:

In the file C:\ProgramData\VMware\vmnetnat.conf put under section [incomingtcp] a line like:

80 = 192.168.80.128:80

Then restart the VMWare NAT Service :

net stop "VMWare NAT Service"
net start "VMWare NAT Service"


Source/credits: https://hitchhikingtheweb.wordpress.com/2014/09/02/portforwarding-with-vmware-player-and-nat/

Also: VMWare documentation of this