トンネルを使うと、FreeBSDやIX2015といったサーバやルータ等と簡単にトンネルを作ることが出来ます。
Solarisでは、ip.tun0というデバイスを使いトンネルを作成することが出来ます。
FreeBSDといったBSD系OSでいうgifに相当する物です。
# ifconfig ip.tun0 inet6 plumb tsrc 自分のグローバルIP tdst 宛先サーバのIP
でトンネルを作成することが出来ますが、トンネルの対抗のIPアドレスを任意に指定し、Defaultとして向けたい場合は次のようにします。
# ifconfig ip.tun0 inet6 plumb tsrc 自分のグローバルIP tdst 宛先サーバのIP localで使うIPIPトンネル用のアドレス 相手鯖のIPIPで使うトンネルのアドレス up
ex) # ifconfig ip.tun0 inet6 plumb tsrc 192.168.0.1 tdst 10.1.123.10 fe80::1005:1/128 fe80::1 up
ルーティングをおこないたい場合には上記のようにすると上手くいくようです。
リンクローカルを用いずに、グローバルIPを用いても動くようです。
詳細については、Sun Docs IPv6トンネルを参照してください。
尚、/etc/defaultrouterに相当するIPv6は無いようですので起動スクリプト等に書いてやると行った工夫が必要です。
自動起動させるために設定ファイルへ記述する場合は、/etc/hostname6.ip.tun0 に tsrc以降を書くことによりインターフェースが自動起動されます。
リンクローカルに*BSDと同様に、任意のアドレスを付けることが出来ます。
Solarisをルータとして構成する場合、リンクローカルに使うアドレスがMacAddressから生成されるEUI-64アドレスを使用した場合、NICを交換にともないアドレスが変更となってしまいます。固定的に経路を設定している場合にはアドレスが変更となり、多大なコストがかかる可能性があります。そこで、分かりやすいアドレスで設定しておいた方が無難なケースもあり、次のようにおこなうことで指定したリンクローカルのアドレスを使用することが出来るようになります。
# ifconfig hme0 inet6 fe80::1/64 up
自動起動させたい場合は、hostname6.NICに書いてやればよいです。
/etc/hostname6.hme0 -- fe80::1/64 up
最後に、upを付けないとアドレスがついているだけで、動作していないと行ったハマリドコロがあるため注意が必要です。