I can’t give you exact instructions, because I wouldn’t touch windows OR vmware with a 10 foot pole, but these are the basics that you need to think about;
Since the virtual machine is apparently getting a different subnet than your local network, you have it working on a virtual-lan type mode of operation and requiring NAT functionality at the HOST. This means that in order for network packets from the internet to get to it, the following has to be configured;
a) Open desired ports on the router firewall,
b) Forward ports to the HOST IP address,
c) Open desired ports on the HOST firewall,
d) Forward ports to the VM IP address,
e) Open desired ports on the VM firewall,
f) Listen on desired ports.
The VM management software (again, I don’t use vmware because they are quite loathsome) should have alternative modes of configuring the network, in particular, to join the same network as the host is on. This means that the VM will receive an IP address from your router using the same subnet as the HOST machine, and it saves you from having to muck around with the firewall and port forwarding at the HOST level. The process ends up simplified to the following;
a) Open port on the router firewall,
b) Forward port to the VM IP address,
c) Open port on the VM firewall,
d) Listen on the port.
IMO, you’d be a lot better off making Linux the host operating system, and putting the flakey toy in the VM.