My preference is to use host-only networking with internet sharing. I have this confiured with Parallels and
Solaris in a virtual machine, and it does work as expected, with Mac OS X providing dhcp and internal sharing
services.
With Solaris 10 11/07 (update 3), I have host-only networking configured. With the default 64-bit kernel
booted, vmware tools install indicates I should use the native Solaris e1000g driver. With this
configuration, I can ifconfig e1000g0 by hand, but it gets the wrong IP address from DHCP. It's getting
192.168.19.129, when it should be getting 192.168.2.X from Mac OS X.
I had a look on the Mac side, and see there are 2 additional interfaces configured.
vmnet1, 192.168.19.1
vmnet8, 192.168.168.1
So the vmnet1 interface is using the same IP address designation that I'm getting via dhcp in
Solaris (192.168.19.129). I have no idea how or where I manage these interfaces (vmnet1
and vmnet8), or why the vmnet1 interface appears to be giving out IP addresses to virtual machines.
If I force booting Solaris as a 32-bit kernel, and re-run vmware tools install, it instructs me to
configure and use the vmxnet driver. No joy here at all. I can see the driver is loaded in the
kernel, but I can not ifconfig a vmxnet0 interface. When I try an e1000g0 interface, I get the same
result are in the 64-bit case, meaning e1000g0 gets a 192.168.19.129 IP address, when it should
be getting 192.168.2.X from Mac OS X.
I confess to being pretty ignorant when it comes to networking. Either host-only networking with
Solaris is broken in Beta 3, or I'm doing something stupid.
Thanks,
/jim
FYI - I located /Library/Application Support/VMware Fusion/, in which we have several config files,
including a vmnet1 and vmnet8 folder with dhcpd.conf files. I can tweak the dhcpd.conf and the
../config file to use a 192.168.2.X address, but it doesn't fly. Doing that causes the virtual
machine to complain about the network address for ethernet0, and disable networking.
So I'm still missing something.
It's also not clear to me why VMware Fusion enables a dhcp service for host-only networking, when
the hosting operating system, Mac OS X, already provides one.
Why not just use Mac OS X, which is what Parallels does?
Thanks,
/jim
If you are setting the VM to be host-only, then you SHOULD be getting an IP address from the VMnet1 adapter on its subnet... definitely NOT the same subnet as your host itself is. That's the whole definition of host-only... it's a private network not seen by the outside world at all!
As to why a dhcp server is provided, it's because with either a host-only or a NAT configuration, your guest is not part of the rest of your network, and therefore would not receive a valid IP address from your existing dhcp server.
Please read the user manual, especially the section on virtual networking. All of your questions should be answered there.
If you are setting the VM to be host-only, then you
SHOULD be getting an IP address from the VMnet1
adapter on its subnet... definitely NOT the same
subnet as your host itself is. That's the whole
definition of host-only... it's a private network not
seen by the outside world at all!
I understand that, and I agree. I did a poor job of explaining the issue.
I should be able to get a valid IP address from the Mac OS X DHCP server,
which is what Parallels does. I can use network-based communication
between Mac OS X and the guest OS.
If I decide I want the guest to get on "the net", the Mac can managing
sharing that service via NAT. This all works in Parallels.
As to why a dhcp server is provided, it's because
with either a host-only or a NAT configuration, your
guest is not part of the rest of your network, and
therefore would not receive a valid IP address from
your existing dhcp server.
Sure it can, if the DHCP server is the hosting operating system, Mac OS X.
Please read the user manual, especially the section
on virtual networking. All of your questions should
be answered there.
It's an implementation difference. The concept of host-only networking is clear,
and it's something I've been doing with Parallels for months, which provides a
virtual interface on the Mac OS X side on the same subnet.
I think perhaps that is where I'm tripping up. My expectations are wrong.
I assumed host-only network allowed a communication mechanism between
the guest OS and Mac OS X. The VMware implementation must be more
constrained, meaning host-only networking allows guest OS's to communicate
with each other, but that's it...
Thanks - I'll look for the user manual (I looked earlier, but could not find - I'll look again).
Thanks,
/jim
>The concept of host-only networking is clear,
>and it's something I've been doing with Parallels for months, which provides a
>virtual interface on the Mac OS X side on the same subnet.
Well, maybe that's how Parallels defines host-only. But if you are given an IP address on the same subnet as your host, then how is that limited to ONLY communicate with your host? I don't see how it can be. To all hosted VMware products, a host-only network connection is exactly that - communications between a guest and the host ONLY. No guest to guest, no guest to outside LAN PC, no outside LAN PC to guest... host ONLY.
If you want your guest to be on the same subnet as your host, and have communications with any other PC, use bridged mode.
Well, maybe that's how Parallels defines host-only.
But if you are given an IP address on the same
subnet as your host, then how is that limited to
ONLY communicate with your host?
It's a different subnet. Mac OS X is on a 192.168.1.X subnet.
host-only with Parallels enables a virtual link on a 192.168.2.X subnet
between OS X and the guest OS, which also gets an IP address on the
192.168.2.X subnet (from OS X DHCP).
I don't see how it
can be. To all hosted VMware products, a host-only
network connection is exactly that - communications
between a guest and the host ONLY.
Right. On a different subnet. Yep.
No guest to
guest, no guest to outside LAN PC, no outside LAN PC
to guest... host ONLY.
Right, unless I opt to enable Internet Sharing on Mac OS X.
With Internet sharing enabled, the guest OS can communicate
with the outside world (but nothing on the outside can "see" the
guest).
If you want your guest to be on the same subnet as
your host, and have communications with any other PC,
use bridged mode.
I could do that, but I like host-only networking with internet sharing, for a couple reasons.
Primarily because if I'm somewhere where my Mac is not connected to the internet, I
can still bring up Solaris and have a network connection between OS X and Solaris,
which is useful for demos, etc.
Thanks,
/jim
FYI - This definition of host-only networking:
http://www.vmware.com/support/ws5/doc/ws_net_configurations_hostonly.html
Is consistent with my understanding of it, and what I wish to do.
Thanks,
/jim
Huh? I thought host-only allowed guest to host and guest to guest (assuming they're on the same VMXNet). The point behind host-only being an isolated "virtual switch" entirely within your host machine.
OK, but any reason why you don't use VMware's NAT option? Sounds like that's what you really want to do.
It's also not clear to me why VMware Fusion enables a
dhcp service for host-only networking, when
the hosting operating system, Mac OS X, already
provides one.
Ummm ... it does?
At least on my Mac OS X system, there is no host-only subnet defined.
Are you sure you're not seeing the host-only network which Parallels defines?
I assumed host-only network allowed a communication
mechanism between the guest OS and Mac OS X.
It does.
On my Macintosh system, 'ifconfig' shows:
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.49.1 netmask 0xffffff00 broadcast 192.168.49.255
ether 00:50:56:c0:00:08
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 172.16.49.1 netmask 0xffffff00 broadcast 172.16.49.255
ether 00:50:56:c0:00:01
The former is the VMware NAT subnet; the latter is the VMware host-only subnet.
I can ping my VMs at 172.16.49.xxx, and NFS-mount parts of my Mac file system onto my VMs through the 172.16.49.1 address.
Anton
It's an implementation difference. The concept of
host-only networking is clear,
and it's something I've been doing with Parallels for
months, which provides a
virtual interface on the Mac OS X side on the same
subnet.
I think perhaps that is where I'm tripping up. My
expectations are wrong.
I assumed host-only network allowed a communication
mechanism between
the guest OS and Mac OS X. The VMware implementation
must be more
constrained, meaning host-only networking allows
guest OS's to communicate
with each other, but that's it...
The VMware implementation allows both - you can set up a VM-only network (Fusion doesn't have a network editor yet, but you can do it manually with config files) or a network that includes your host. Once your host is not involved, we HAVE to provide a DHCP server. The binary isn't big or expensive, and we have the flexibility of a unique DHCP setup for each virtual network.
(I claim this is more powerful, not more constrained, but I'm perhaps biased )
Anyway, the 192.168.1.0/24 for network and 192.168.2.0/24 for host-only is risky - it requires BOTH DHCP server configuration to give addresses AND router configuration to prevent the host OS from forwarding packets between subnets.
Actually, it sounds like you're trying to get both a second host NIC and VMware vnets on the same subnet - which isn't host-only networking. It's bridged mode, but you want your VMs to get addresses via DHCP on the internal subnet, with appropriate routing policies so that your host OS acts as a gateway.
At least on my Mac OS X system, there is no host-only
subnet defined.
Are you sure you're not seeing the host-only network
which Parallels defines?
Yep:
vmnet8: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.168.1 netmask 0xffffff00 broadcast 192.168.168.255
ether 00:50:56:c0:00:08
vmnet1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.19.1 netmask 0xffffff00 broadcast 192.168.19.255
ether 00:50:56:c0:00:01
en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
ether 00:01:23:45:67:89
media: autoselect status: active
supported media: autoselect
en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 10.211.55.2 netmask 0xffffff00 broadcast 10.211.55.255
ether 00:10:32:54:76:98
media: autoselect status: active
supported media: autoselect
en2 and en3 are the Parallels virtual interfaces for NAT and host-only network.
Have a look in /Library/Application Support/VMware Fusion on your Mac.
You'll see a dhcp config file...try;
#ps -ax | grep vmnet
On your Mac - you'll see a vmnet-dhcpd deamon running. I assume this is VMware
setting up a dhcp service for host-only networking. The vmnet-dhcpd.conf file
makes it pretty clear that VMware is starting a DHCP service...
Thanks,
/jim
What I'm after is host-only networking with internet sharing.
Host-only gives me the flexibility to have OS X communication
with Solaris as a guest OS even when the Mac is not on a network.
Internet sharing is a OS X preference, where the Mac will use NAT
to allow the guest OS to communicate to the outside world (when
the Mac is on a network, of course ... :^) ).
Thanks,
/jim
Anyway, the 192.168.1.0/24 for network and
192.168.2.0/24 for host-only is risky - it requires
BOTH DHCP server configuration to give addresses AND
router configuration to prevent the host OS from
forwarding packets between subnets.
Actually, it sounds like you're trying to get both a
second host NIC and VMware vnets on the same subnet -
which isn't host-only networking. It's bridged mode,
but you want your VMs to get addresses via DHCP on
the internal subnet, with appropriate routing
policies so that your host OS acts as a gateway.
Yep. Just change your Ethernet setting to "Share the host's internet connection (NAT)" and you're done. Your two VMs get their own IPs in the NATed subnet, and they can still talk to the internet via VMware's NAT.
Message was edited by:
Deryni (grammar correction)