I have a guest machine (linux), installed in a virtualBox.
I can access to the guest machine from my host machine (a windows machine), but i can't access to the guest machine from outside.
my guest machine contain a web server (port 8080).
I think I must forward ip/port in my host machine like this:
ip_host/8080 to ip_guest/8080
I want to use just command line in windows or something like IPTables (no use of a software).
Thanks for any suggestion/Ideas
Virtual machine network settings
The easiest way to do what you want is to configure the network interface on your virtual machine to use the bridged network option. There's probably a checkbox for this where you configure the virtual machine in VirtualBox. This will allow connections to and from your virtual machine and the virtual machine will be on the same network as your host machine.
Using netsh
If for some reason you can't do the first then you can use netsh to forward a port from the external interface on your host machine to the interface of your virtual machine. For example see: http://technet.microsoft.com/en-us/library/cc754535(WS.10).aspx#BKMK_95. You need to enter something like 'netsh routing ip nat ....' on the cmdline to enter that context and fiddle with the portmapping setting to get what you want. I doubt it would work on XP
Using a proxy server
If the top 2 don't work try running FreeProxy and setting up a tunnel from your external interface to the interface on the virtual machine. The virtual machine must not be behind a NAT, so again check the network config settings of the virtual machine and make sure it's bridged or host only.
Related
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).
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
You can do it using SSH Tunneling for example.
From windows you open a tunnel from the windows port 80 to the ubuntu port 80.
You can do it using Putty on Windows and having the ssh deamon running on ubuntu, which I guess you should already have.
There are many tutorials on how to do this.
I'll add just one link, but you can always google it and find one that suites you.
Portforwarding with SSH (Putty)
For the possible changes in the guest’s ip:
If you can’t fix the ip in settings then perhaps you can edit the windows hosts file and add a host name for the current Ubuntu ip. Then build the urls using the host name. If the ip changes you change it in the hosts file.
I currently have a virtual machine running on Windows. The VM is running Linux and has a virtual box network between the windows machine and the linux machine. The VM is running a application that I want to be able to connect to from the outside world.
To make this possible I tried port forwarding from the windows internet interface, to the windows virtualbox interface. Finally I created another port forward from the windows virtualbox interface to the Virtual machine interface.
netsh interface portproxy add v4tov4 listenport=5000 listenaddress=10.11.65.103 connectport=7890 connectaddress=192.168.56.1
netsh interface portproxy add v4tov4 listenport=7890 listenaddress=192.168.56.1 connectport=5000 connectaddress=192.168.56.101
So if I connect to the 10.11.65.103:5000 on the Windows Machine it will be the same thing as connecting to 192.168.56.101:5000 of the VM.
[Win Internet Intf] [Win VM Intf] [VM intf]
10.11.65.103:5000<----->192.168.56.1:7890 <------> 192.168.56.101:5000
Unfortunately, this is not working for me... Can someone tell me why? Am I using port forwarding correctly?
If you use a bridged network adapter your Linux machine should pick up an IP off the host network (if you have DHCP enabled on the network, or set a static IP on the linux box). Then you should then not need the port forwarding.
If you cant use that approach and are using a NAT adapter (which it looks like you are), then you will need to enable port forwarding within VB. The details are in section 6.3 of the VB Help with this in place you should only then need the first port forward, VB will be doing the second.
Dont forget to make sure the relevant firwalls on the Windows and Linux machines are open.
I have a windows 2003 VM running on my windows xp machine.
The machine name of the VM is itdom.domain.com
The windows xp host machine is disconnected from the LAN.
I want to be able to connect to the VM from the host and vice versa using there computer names. For example the URL http://itlab.domain:7080/domainsm must be accessible from the host computer.
Is there any configuration that I can do on any of the machine to do this.
Just because you have no physical network connection doesn't stop you setting up networking on the host and guest machines. One way of doing this is to add an IP address to the host machine's physical network port and create a bridged network on that port so that the guest can also see it.
You don't say which VM technology you are using, but in many of them you can setup an internal network between the host and guest. All you need to do then is edit each hosts file to add a hostname for the IP address of the other machine. You may also need to configure firewalls to allow access between the two.
No doubt there are also other ways to achieve this.
I'm new here. I'm developing some Asp.Net applications and i wanna test them on my virtual IIS. I have installed Windows 7 and enabled IIS features on a VmWare virtual computer. I'm using IIS 7 recommend configuration and my virtual computer have a real internet network IP. I wanna explore my websites via writing my virtual computer's IP to my browser. How can i do that?
First make sure your VMWare machine has a network interface that allows it access to the host. So, in other words: the two machines (host and virtual machine) must be able to "see" each other on the network.
Next, open a Cmd window on the virtual machine and execute ipconfig. That will tell you the IP address of the virtual machine.
Next, ping that IP address. It should work.
If it does, try to access the website on the virtual machine by typing the IP address into a browser on the host machine.
I am using Virtual PC 2007 with Windows xp Pro as the Guest.
Is it possible to add the Virtual PC to the network of the guest PC and to the domain of the Guest PC?
I enabled NAT shared networking but that only allows internet access on the guest..
Thanks
This shouldn't be a problem when you add the guest to host's physical adapter:
In the settings for your VM, go to Networking and instead of "Shared networking (NAT)", select the NIC that's connected to the network on your host (e.g. "Realtek RTL8116 Gigabit Ethernet", or whatever your NIC is; this is equivalent to VMWare's Bridged Mode). That way, the guest will appear as a real computer on your network, and will work like a physical box on the network.
IIRC, MS VPC bypasses the default Windows firewall on the host, so only the guest's firewall applies; for other FW products, you may need to enable something like "permit packets not destined for this host".
Just to add to the above answer-
1.
Inside the Local Area Connection
Properties- VM Network Services Driver
wasnt installed without which the NIC
option wont appear in the Virtual
machine Network Adapter Configuration.
I reinstalled the Virtual PC and that
entry Virtual Machine Network
Driver appeared.
2.
Another helpful resource-
http://blogs.msdn.com/virtual_pc_guy/archive/2007/01/15/fixing-broken-virtual-networking.aspx
Shouldn't be a problem as long as you can connect to a domain controller from the virtual computer.
If you know the IP address of a domain controller, try to ping it. Then try to ping it using the computer name, to see if name resolution is working correctly. What happens when you join a domain using Control Panel | System. Do you receive an error message?
I have not used Virtual PC, only VMWare workstation on Linux, so I do not know how the networking setup is on Virtual PC. On VMWare, you can choose between bridged and NAT networking for a virtual machine. I have been able to set up Windows guest computers as members of a windows domain using both kinds of network setup.