I’ve recently migrated my workstation under OpenIndiana, which is based on the latest release of OpenSolaris, and thus, on Solaris 11 express. I wanted to migrate some of the services I was hosting into zones, but as theses services were using dual stack IP addressing, I needed to assign both v6 and v4 ip addresses to the zone.
Here is how it could be achieved:
# zonecfg -z vz01 # info net: address: 2a01:38:8007:aaae:a::1/64 allowed-address not specified physical: vlan200 defrouter not specified net: address: fe80:aaaa::0001/10 allowed-address not specified physical: vlan200 defrouter not specified net: address: 10.42.2.151 allowed-address not specified physical: vlan200 defrouter: 10.42.2.254
So, to give a little explanation on this: We have first assigned an ipv4 address into our vlan200. This is old stuff. Then, we assign a local-link ipv6 address to allow the zone to reach the default ipv6 gateway of the global zone (Which is a link local adress). Then we just assign the second IPv6 public address, without specifying a default router as the global zone is inside the same ipv6 range and has already a default gateway for this ipv6 range. Then, just boot the zone and try!
This work like a charm:
root@vz01:~# ping -A inet6 ftp.belnet.be ftp.belnet.be is alive root@vz01:~#