通常IPv6 のアドレスは、Neighbor Discovery(ND) Protocol を使って探索される。 IPsec Strongswan で 拠点にリモートアクセスして拠点側のIPを virtual IP で払い出し traffic selectors を local_ts = ::0/0 としたときつまり全てのIPv6トラフィックを拠点に向けて送信し、拠点側で折り返して外へ出て行くようにしたい場合、ルータがその払い出したアドレスを見つけることができるようにするためにはNDをproxyする必要がある。本件に関しては、strongswan wikiを参考にした。
この状況には一つには携帯端末がIPv6 アドレスを掴まない場合がある。
確かに携帯電話キャリアは、IPv6を推進しているかも知れないが、実際にはIPv6アドレスを掴む場合はまれであるため IPv6 only のホストを使用するためには、VPNで IPv6 over IPv4 with NAT traversal で virtual IP の割り当てを受けるのが確実である。また、携帯電話のテザリングは、IPv4アドレスのみが割り当てられるのでテザリング先から VPNを張るという使い方ができる。
まず、IPv6 のルーティング(カーネルパラメータのnet.ipv6.conf.all.forwarding=1)を有効にするとき、ra_acceptが2である必要がある。