VPNって、使ってますか?
自分は、結構使います。
VPNと一言でいっても、多種にわたります。
IPベースでルーティングするものから、イーサネットをブリッジするもの等
ここでは、FreeBSDを使ってVPNを実装するお話としましょう。
もっとも、復旧しているVPNといえば、IPsec-VPNなんでしょうね。
しかし、このIPsec-VPNは、意外に扱いが大変です。
特に、ファイヤーウォールを超えることが難しすぎます。
で、そういった環境下で利用する為には、TCPによりトンネルする方法が最も手軽でしょう。
TCPでトンネルを掘って、VPNを張れるソフトは、あまり存在しないようです。 そもそも、TCPベースだと非効率だということでしょうね。
で、自分が試したのは、以下のソフトウェアです。
ssh over VPN
OpenVPN
Vtun
ssh over VPNが、お手軽ということで、一度試してみましたが、簡易VPNなので、回線が切断された場合に、フォローが全くされないので、常時使用するには問題がありました。
割と準備も必要なので簡易かどうか微妙でしょう。 しかし、sshでサーバに接続できさえすれば、VPNが張れるという魅力はあります。
OpenVPNは、結果として非常に優秀でした。もし、拠点間で常時利用する場合、お勧めのVPNです。
UDPの運用も可能なので、効率を上げられる可能性もあります。
Vtunも、優秀です。 OpenVPNと変わらないぐらいでした。 安定もしているようです。
しかしながら、この記事のタイトルは、「IPv6時代のVPN」ですので、IPv6でトンネリングできなければ意味がありません。
残念ながら、ssh以外は、IPv6でトンネリングできないようです。
ということで、終了ですってわけにはいきません。
これからは、IPv6時代に突入することは必至でしょうから、無理からでもIPv6に対応させます。
つまり、改造してしまうということです。
候補としては、OpenVPNかVtunにしました。
理由は、トンネリングのソースが簡単そうだったからです。
で、とりあえず、VtunをIPv6対応してみることにしました。
まず、portsにて、vtunをコンパイルしましょう。
cd /usr/ports/net/vtun
make all
おそらく、成功するので、ソースにパッチをあてます。
但し、vtun 3.02用ですので、バージョンを確認してから作業をお願いします。
パッチは、ここにありますので、ダウンロードして、この /usr/ports/net/vtun/work/vtun-3.0.2 にコピーして下さい。
そして、パッチをあてます。
cd /usr/ports/net/vtun/work/vtun-3.0.2
patch < ipv6tunnel.patch
もう一度、makeを行います。
cd /usr/ports/net/vtun
make all
make install
これで、IPv6によるTCP トンネリングを行うようになります。
※この改造を行うと、IPv4でTCP トンネリングできなくなります。 TCPでは、IPv6トンネリング専用になります。