VMware Communities
chamele0n
Contributor
Contributor

Why aren't vmachines getting unique external IPs

A vmware KB states that

"When a virtual machine is powered on, the VMware application automatically assigns it a MAC address. "

I have installed multiple vmachines which supposedly all have different MAC addresses. The host machine is directly connected to the cable modem. Why is it then that every one of the vmachines gets the same public IP address (which btw is the same as the host machine's IP address)? A unique machine with a unique MAC should always get a new IP address from the ISP, should it not? VMware prides itself on every vmachine being in functioning in every respect as a real PC would. Why aren't the vmachines pulling unique public IP addresses then?

Another question I have is a security one: does the fact that despite having different MACS they are getting the same external IP mean that they are giving out the host machine's NIC MAC to the websites?

0 Kudos
1 Reply
dariusd
VMware Employee
VMware Employee

Hi chamele0n, and welcome to the VMware Communities!

Have you tried connecting multiple physical PCs to that same cable modem, using an Ethernet switch, and verified that they get different public IP addresses?

You'll only get different public IP addresses for your virtual machines if you have paid your ISP for the privilege of having multiple public IP addresses on your link (just about no-one does), and if your virtual machines are configured to use a bridged network connection (not NAT or Host Only), and if none of your networking gear is doing NAT (Network Address Translation) (possibly the cable modem could be doing this for you), and if the VMs are statically configured with the additional IP addresses/gateway/DNS information or can talk to a DHCP server which is correctly configured to give out that information.

The MAC address is only communicated between your computer and your cable modem (or possibly your ISP?), and no further.  Websites don't know nor care about your MAC address(es); Only IP address(es) matter for anything further away than your ISP.

Cheers,

--

Darius

0 Kudos