Whilst playing around with the changes in zone virtualisation technology between Solaris 10 and Solaris 11, I found that all zones now use exclusive IP, not shared. There is a new anet interface type configured via zonecfg that handles this.
This will all be covered in detail in a future article, but for now take a look at this:
|
1 2 3 4 5 |
root@sol11lab:~# zoneadm -z testzone boot root@sol11lab:~# dladm show-link LINK CLASS MTU STATE OVER net0 phys 1500 up -- testzone/net0 vnic 1500 up net0 |
I boot my new testzone, and the vnic is automatically created over net0. But net0 is itself a virtual NIC (i.e. VMware or VirtualBox is virtualising this for us in the first place), whilst Solaris obviously sees it as a physical interface.
Inside the new zone, I was unable to ping anything. The zone was not on the network. The fix? Place net0 into promiscuous mode using snoop inside the global zone. This makes sense when you think about it, and will fix your zone networking allowing you to virtualise within your VM:
|
1 2 3 |
# snoop -d net0 # ping testzone testzone is alive |