Zonen ohne physische Interfaces miteinander verbinden
Solaris bietet leider von Haus aus keine Möglichkeit lokale Zonen miteinander zu verbinden, ohne das man ein physisches Interfaces benutzt. Je nach den Anforderungen der Sicherheit oder dem vorhanden sein von Hardware, kann es wünschenswert sein, Zonen mit virtuellen Interfaces miteinander zu verbinden.
Der TAP Treiber emuliert ein Ethernet Interface, welches normalerweise für VPNs benutzt wird. Man kann allerdings den TAP Treiber auch zum verbinden von mehreren Zonen missbrauchen.
Nachdem man den TUN Treiber geladen hat, muss als erstes mit tunctl ein neues Interface erzeugen und plumben:
# tunctl -t tap0 # ifconfig tap0 plumb
Das sieht dann so aus:
# ifconfig tap0 tap0: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 inet 0.0.0.0 netmask 0 ether a:0:20:b3:d0:84
Beim für das Interface benutzten Mac Adresse aus dem a:0:20 Range, handelt es sich um eine Adresse für den privaten Gebrauch, wie man es von den IP Adressen her kenn.
Mit zonecfg muss man dann nur noch das Netzwerkinterface der Zone auf tap0 legen und schon sind die Zonen mit einem virtuellen Ethernet Interface verbunden.
# zonecfg -z test0 info net net: address: 192.168.123.1 physical: tap0 # zonecfg -z test1 info net net: address: 192.168.123.2 physical: tap0
WICHTIG: Das ganze funktioniert nicht mit einem exklusiven IP Stack.