3

Short Description:

My host OS is Ubuntu-12.04 and using VirtualBox I have set up a VM of Oracle Linux 6.4 (based on RHEL) with Apache httpd web server. I need to access the web pages served by the VM from my host Ubuntu.


Additional Details:

Here are the configurations:

  • The 1st network adapter of the VM is configured as NAT, since I need it to use the host's Internet connection. See image below:

    NAT configuration of 1st adapter: NAT configuration of 1st adapter

  • I have enabled a 2nd adapter as Host-only, so I can access the VM from the host (ssh or scp to guest VM from host, etc). This is working fine. The IP of the guest VM is manually set to 10.10.10.15 and I can successfully ping, ssh and scp to the guest VM without any problem. See below:

    Host-only configuration of 2nd adapter: Host-only configuration of 2nd adapter

Inside the VM, I have set up Apache successfully and it's working for localhost but when I try to access the page from the host, by entering 10.10.10.15 in Chromium or Firefox, it fails to connect! :(

I have also tried to add an entry inside /etc/hosts as follows, but entering test-website.net inside Chromium or Firefox still gives the same error! :(

10.10.10.15    test-website.net

One more thing to note is about SELinux. As you might know, SELinux is enabled by default on RHEL-based distros such as CentOS and Oracle-Linux. To make sure that SELinux is not messing up my work, I have configured it to permissive mode in /etc/selinux/config and confirming the effect after reboot using sestatus:

SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 26
Policy from config file:        targeted

This may sound like a duplicate of the following questions, but the answers in these questions suggest to set up a Host-only adapter for the guest and configure /etc/hosts in the host, which I have already tested and didn't work for me:

Any help?!

MarianD
  • 1,026

2 Answers2

4

I figured out what was causing the problem ... iptables!

The configuration I have set up for the VM should work without any problem.

If anyone with the same setup is facing problems, checkout the following:

  • System firewall (i.e. iptables) configuration;
  • SELinux configuration;

cheers :)

0

Did you bind apache to all interfaces or just lo?

BTW: You don't have to use a 2nd network (host only) so as to access the guest services.

By using NAT port forwarding, you can set up rules to map web and ssh/sftp/ftp ports so that you can access those by accessing localhost:PORT on the host.

For example to map guest ssh to host port 2222, you can access it by ssh -p 2222 user@localhost

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

NOTE: Forwarding host ports < 1024 impossible, it is a NAT limitation.

Terry Wang
  • 10,185