freenet6 にトンネルを張るには freenet6 が配布している TSP クライアント ソフトウェアを使うのですが、このクライアントは NAT のことを考慮していません。 そのため、NAT ルータの背後からトンネルを張ることができません。
それより問題なのは、TSP クライアントソフトウェアの制限です。
クライアントは、トンネルを張る際に TSP(Tunnel Setup Protocol)を使って トンネルのセットアップを行います。このとき、クライアント側のトンネルの IPアドレスを申告します。
TSP クライアントは、クライアントマシン自身の IP アドレスを申告するようになっています。 ですから、プライベートアドレスしかもっていないマシンでは、プライベート アドレスをサーバに対して申告してしまいます。これではつながるわけがありません。
tspc.conf の client_v4 にグローバルアドレスを書いてやればうまくいくかと 思ったのですが、 このアドレスはローカル側のトンネル端点の設定にも使っているので、 うまく行きませんでした。
結局、TSP クライアントソフトウェアを改造し、グローバルアドレスを別途 設定、申告するようにして解決しました。 私の環境(FreeBSD 4.2R)ではまったく問題なく動作しましたので、 改造済みクライアントを公開することにします。
IPv6トンネルではプロトコル番号 41 番を使用します。 41番プロトコルのパケットを、TSP クライアントを動作させるマシンに転送 するよう、static NAT エントリを追加してください。
次に、NAT を越えるための設定をします。 tspc.conf ファイルに、
global_v4=xxx.xxx.xxx.xxxと記述します。xxx.xxx.xxx.xxx には、NAT ルータの WAN 側 IPv4 アドレス (グローバルアドレス)を設定してください。
その他の設定項目は、オリジナルの TSP クライアントと同じです。 REAME ファイルを見てください。
これで完了です。tspc を起動してトンネルを張ってください。