Setting up virtual servers on a single machine using virtualization

I am new to virtualization as well servers and have a very basic query. I have a static IP link and a completely blank machine ready for use in this exploration. I intend to use this machine to host multiple servers, only for learning purposes.

To achieve this, I intend to install Windows 7 on this machine and then set up two different servers on it using virtual environment. I want to make these two servers behave like normal website accessible through domain names (sub-domains will be better actually since I have a domain and can create and point them to the server).

My question is if this is possible at all. Will there be packet routing problems between the servers installed on the virtual environment? I think DNS could probably be used to route requests to the appropriate server?

Please advise.
LVL 10
Kshitij AhujaTechnology DeveloperAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Gary ColtharpSr. Systems EngineerCommented:
if the machine is robust enough, you would be better off installing Xen or VMWare's can set up multiple OS's, virtual switches, etc... great for both production and development environments.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
If you have multiple static IPs available you can do this. If you can do it in a physical world, you can do it running everything virtually. If you have only 1 public static IP, you can only access 1 virtual server from the Internet (unless you have everything go through a reverse proxy server).

I would actually suggest loading Windows 2008 R2 Enterprise Evaluation instead of Windows 7 because you can use Hyper-V for virtualization, and you can still manage everything from your 1 computer. Xen and VMware require that you connect from a second compter.
Kshitij AhujaTechnology DeveloperAuthor Commented:
Are you suggesting that I install Win Server and set up HyperV onto it to further create servers like Linux and also set up DNS in Win Server to point to those virtual servers?

I mean Win Server is a base instead of Win 7 for two key purposes :
> Setting up Hyper V
> Setting up DNS to point to local IPs for specific virtual servers

Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

I would recommend ESXi, which will give you the possibility to dedicate your physical network interface to a e.g. some software firewall VM, like pfsense or vyatta having one virtual interface bridged to physical, and other on internal VM network. Your servers could be all connected to internal VM network, and further traffic could be NAT'ed and managed through that firewall depending of the purposes of your Virtual servers. This way you will have a control over great deal of security issues.  
I suggested Hyper-V and Windows 2008 R2 because you can sit in front of the computer and do work. You need to use VMware ESXi remotely. Otherwise it doesn't matter which platform you use; they do the same thing. If you are going to use Linux servers, VMware is a better route, unless you don't want to use a second computer to do your setup and management of the VMs, in which case you are back to Hyper-V.

It's not clear to me what your network topology is, and whether or not this network needs access from the public Internet or not. If you need access from the Internet, I recommend using a DNS server on the Internet. If this is just a private network, put your DNS server on anything you want.
Andrew Hancock (VMware vExpert / EE MVE^2)VMware and Virtualization ConsultantCommented:
You should be able to do what you require with VMware Workstation 8.0, VMware Player 4.0 or VMware vSphere Hypervisor (ESXi).
Nagendra Pratap SinghDesktop Applications SpecialistCommented:
I second hanccocka. Vmware workstation is the best for this scenario. Hyper V is OK too.

But if the VMs are to run solaris/redhat clones then VMware is a better idea
Kshitij AhujaTechnology DeveloperAuthor Commented:
Either I am not understanding what you are trying to say or I am not clear what I need.  I will try again.

I am on a work network but what I need is an independent machine set on a static IP. I have the static IP. I am setting up a separate machine, specifically for this exploration with Ubuntu. Since I don't have access to work DNS, I can't alter records to create a sub-domain for myself and point it to this machine. But that is not important since I have access to my personal domain name and I can create a sub-domain and point to this static IP.

I hope I am clear this time round.

Nagendra Pratap SinghDesktop Applications SpecialistCommented:
What are the IP ranges you are working with?

You can have another DNS in your virtual environment or for the two servers just have entries in host file.

Are these servers linux1 and linux2, which will server some web pages to be tested on a windows pc running firefox/IE? If yes then just load virtual PC/ VMware workstation on a Windows PC.

Or is the testing PC somewhere else on the net? Virtual environments don't have routing problems. Either the routing works or it does not. If you could do it on a physical server then it can be done on the VMs.
Kshitij AhujaTechnology DeveloperAuthor Commented:
There are no IP ranges, but only one static IP.  There is only one physical machine with no operating system installed as of now. I want to run Website 1 (using linux) and Website 2 (using Windows Server) on this computer.

Each server requires an IP address. So if you want to have a Windows server and a linux server, you require 2 IP addresses. You probably also really want an IP address for the physical server as well so it can have network connectivity.

You should get additional IP addresses. That said, there are some things you can do. If you don't need to be able to access these websites from other parts of the network, then the virtual machines can be on a private network that is only available to the other VM and the host. You can also install NAT forwarding on the host server and forward traffic to the various web servers if they use different ports, but this is all pretty silly for a learning environment. Just get more addresses, or only access the websites from the host and the VMs.
Nagendra Pratap SinghDesktop Applications SpecialistCommented:
You don't need any more IPs. You just need to use Vmware workstation.

It comes with a NAT and other switches inbuilt in the package
Kshitij AhujaTechnology DeveloperAuthor Commented:
Okay - lots of re-reading and here is what I think the steps should be, please correct if I am wrong :

1. Install Windows Server on the Physical Machine.
2. Install VmWare workstation or VSphere/Hypervisor
3. Install multiple instances of server operating systems like Ubuntu, Windows 2008 server etc using Vmware
4.Setup DNS in the Physical Machine (step 1) and create entry pointing it to local IP assigned to ubuntu installation by VMWare. Repeat it for Windows 2008 Server as well.
5. Point each of these sub-domains to the Physical server's static IP as well using the domain provider's control panel.

Any corrections?
Nagendra Pratap SinghDesktop Applications SpecialistCommented:
dns is not needed.

Just use host files + isp dns. Host file are read before DNS.

Kshitij AhujaTechnology DeveloperAuthor Commented:
npsingh123: You mean virtual host files?
Nagendra Pratap SinghDesktop Applications SpecialistCommented:
The hosts file would be on every machine that is using a web browser to hit the wb site. Linux it should be /etc/hosts, on Windows c:\Windows\system32\drivers\etc\hosts . It is a text file.
Kshitij AhujaTechnology DeveloperAuthor Commented:
More than the question itself, the daunting task I face is to award points fairly...

Thank you all who participated.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.